/* Layout: full-bleed black bands, 1320px content column, data-driven blocks only. Single dark look by choice (motorsport night). */
:root{
  --ink:#0A0C11; --panel:#131822; --panel-2:#0F131B; --raise:#1A2130;
  --line:#222B3A; --line-2:#2E3849; --line-3:#4A5568;
  --fg:#F2F3F5; --soft:#C8CDD8; --mute:#9AA3B2; --dim:#808A9B;
  --red:#E10600; --red-hi:#FF4D45; --red-deep:#5A1F1C; --on-red:#FFFFFF;
  /* IAME corporate blue (logo #193B66) and its family */
  --blue:#193B66; --blue-deep:#0F2440; --blue-ink:#0B1626; --blue-line:#2C4E80; --blue-hi:#8FB0E0;
  --proto:#F5B700; --proto-bg:#1A1708; --proto-fg:#F7E7B0;
  --f-display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --f-body:'Barlow','Helvetica Neue',Arial,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --gut:24px;
  color-scheme:dark;
}
@media (max-width:720px){:root{--gut:16px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--fg);text-decoration:none}
a:hover{color:var(--red-hi)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:2px}
.wrap{max-width:1320px;margin:0 auto;padding-inline:var(--gut)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.eyebrow.red{color:var(--red-hi)}
.disp{font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;line-height:.92;letter-spacing:-.005em;text-wrap:balance;margin:0}
.h2{font-size:clamp(36px,5vw,56px)}
.h3{font-size:clamp(28px,3.4vw,40px)}
.cond{font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:1.08}
.muted{color:var(--mute)}
.sec{padding-block:64px}
.sec-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.link{font-weight:600;background:none;border:0;cursor:pointer;padding:0;min-height:44px;display:inline-flex;align-items:center}
.link:hover{color:var(--red-hi)}

/* Utility bar + header */
.ubar{background:var(--blue);color:var(--on-red);font-size:14px;font-weight:600}
.ubar.is-live{background:var(--red)}
.ubar .wrap{display:flex;gap:12px;align-items:center;min-height:38px;padding-block:6px}
.ubar .dot{width:8px;height:8px;border-radius:50%;background:var(--on-red);flex:none}
.ubar .live .dot{animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.25}}
.ubar a{color:var(--on-red)}
.ubar .lbl{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;display:inline-flex;gap:6px;align-items:center;flex:none}
.ubar .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
header.top{border-bottom:2px solid var(--red);background:var(--blue-deep);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
header.top .wrap{display:flex;gap:16px 36px;align-items:center;min-height:76px}
.brand{display:flex;align-items:center;flex:none;color:var(--fg)}
.brand .logo{height:46px;width:auto;display:block}
.brand:hover{color:var(--fg)}
.drawer .brand .logo{height:40px}
footer .brand .logo{height:64px}
@media (max-width:720px){.brand .logo{height:36px}}
nav.main{display:flex;gap:4px 26px;flex:1;font-family:var(--f-display);font-weight:600;font-size:18px;letter-spacing:.08em;text-transform:uppercase}
nav.main a{padding-block:6px;border-bottom:2px solid transparent}
nav.main a.on{color:var(--fg);border-bottom-color:var(--red)}
nav.main a:hover{color:var(--blue-hi)}
.hd-tools{display:flex;gap:10px;align-items:center;margin-left:auto}
.iconbtn{width:44px;height:44px;border-radius:4px;border:1px solid var(--blue-line);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.iconbtn:hover{border-color:var(--line-3)}
.lang{display:flex;border:1px solid var(--blue-line);border-radius:4px;overflow:hidden;height:44px}
.lang button{border:0;background:transparent;padding:0 12px;cursor:pointer;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--blue-hi);min-width:44px}
.lang button[aria-pressed="true"]{background:var(--fg);color:var(--ink)}
.signin{height:44px;padding:0 20px;display:inline-flex;align-items:center;border-radius:4px;background:var(--fg);color:var(--ink);font-weight:600;font-size:15px;border:0;cursor:pointer}
.signin:hover{background:#fff;color:var(--ink)}
.menubtn{display:none}
@media (max-width:1080px){nav.main{display:none}.menubtn{display:inline-flex}}
@media (max-width:720px){.signin,.lang{display:none}header.top .wrap{min-height:64px}}

/* Drawer */
.drawer{position:fixed;inset:0;z-index:60;background:rgba(15,36,64,.98);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 16px) var(--gut) 24px}
.drawer nav{display:flex;flex-direction:column;margin-top:24px}
.drawer nav a{font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:40px;line-height:1.1;padding-block:10px;border-bottom:1px solid var(--blue-line)}
.drawer .row{display:flex;justify-content:space-between;align-items:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;min-height:52px;font-family:var(--f-display);font-weight:700;font-size:19px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--blue-line);background:transparent;color:var(--fg);cursor:pointer;border-radius:0}
.btn:hover{border-color:var(--blue-hi);color:var(--fg)}
.btn.pri{background:var(--red);border-color:var(--red);color:var(--on-red)}
.btn.pri:hover{background:var(--red-hi);border-color:var(--red-hi)}
.btn.blue{background:var(--blue);border-color:var(--blue-line);color:var(--on-red)}
.btn.blue:hover{background:#21497D}
.btn.on{background:var(--blue);border-color:var(--blue-line);color:var(--on-red)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;padding:4px 10px;white-space:nowrap;border:1px solid var(--blue-line);color:var(--blue-hi)}
.tag.live{background:var(--red);border-color:var(--red);color:var(--on-red)}
.tag.reg{color:var(--blue-hi);border-color:var(--blue-line);background:var(--blue-ink)}
.tag.done{background:#2A2A31;border-color:#2A2A31;color:var(--soft)}
.badge{padding:4px 10px;font-family:var(--f-mono);font-weight:700;font-size:12px;letter-spacing:.1em;background:var(--red);color:var(--on-red)}
.badge.grey{background:#2A2A31;color:var(--soft)}
.iso{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;border:1px solid var(--blue-line);padding:1px 5px;color:var(--soft);border-radius:2px;vertical-align:2px}

/* Hero with generated circuit */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.hero .bg{position:absolute;inset:0;z-index:-2;background:
  radial-gradient(60% 90% at 85% 30%,rgba(225,6,0,.26),transparent 70%),
  radial-gradient(55% 80% at 5% 100%,rgba(25,59,102,.75),transparent 70%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 22px),
  var(--hero-photo,none) center 35%/cover no-repeat,
  linear-gradient(180deg,#0F1626,#0A0C11)}
.hero canvas.circuit{position:absolute;right:-4%;top:6%;width:min(62%,820px);height:88%;z-index:-1;opacity:.7}
.hero .shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,12,17,.9) 0%,rgba(10,12,17,.6) 46%,rgba(10,12,17,.1) 100%)}
@media (max-width:860px){.hero canvas.circuit{right:-25%;top:0;width:110%;height:60%;opacity:.55}.hero .shade{background:linear-gradient(0deg,rgba(10,12,17,.95) 35%,rgba(10,12,17,.5) 100%)}}
.hero-in{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end;padding-block:80px 64px}
.hero-main{flex:999 1 620px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero h1{font-size:clamp(58px,9vw,112px)}
.hero h1 .r{color:var(--red)}
.hero .tagline{font-size:22px;color:#E3E3E8;max-width:640px;margin:0}
.hero .meta{display:flex;flex-wrap:wrap;gap:6px 32px;font-size:18px;color:var(--soft)}
.cd{display:flex;gap:2px}
.cd div{background:var(--blue-deep);border:1px solid var(--blue-line);padding:8px 16px;text-align:center;min-width:76px}
.cd b{display:block;font-family:var(--f-mono);font-weight:700;font-size:32px;line-height:1.1}
.cd span{font-size:11px;letter-spacing:.12em;color:var(--blue-hi)}
.also{flex:1 1 300px;background:rgba(15,36,64,.92);border:1px solid var(--blue-line);padding:18px 20px;display:flex;flex-direction:column;gap:2px;min-width:0}
.also a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:56px;border-bottom:1px solid var(--blue-line)}
.also a:last-child{border-bottom:0}

/* Cards */
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.card{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:4px;transition:border-color .15s}
a.card:hover{border-color:var(--line-3);color:var(--fg)}
.mono-logo{width:56px;height:56px;border-radius:4px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;font-style:italic;font-size:20px;letter-spacing:.02em;background:var(--blue);border:1px solid var(--blue-line);color:var(--fg)}
.mono-logo.int{background:var(--red);border-color:var(--red);color:var(--on-red)}
.series-logo{flex:none;display:flex;align-items:center}
.series-logo img{display:block;height:56px;width:auto;max-width:170px;object-fit:contain}
.series-logo.sm img{height:44px;max-width:112px}
.series-logo.lg img{height:104px;max-width:320px}
.markbox{width:112px;flex:none;display:flex;justify-content:center;align-items:center;min-height:48px}
@media (max-width:420px){.markbox{width:84px}.series-logo.sm img{max-width:84px;height:36px}}
.mono-logo.rf{background:var(--fg);border-color:var(--fg);color:var(--blue)}
/* Category system: International Event/Series = red · National Series = IAME blue · IAME Racing Formula = white · Sanctioned = teal */
.cat{display:inline-flex;align-items:center;max-width:100%;white-space:normal!important;font-family:var(--f-mono);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;white-space:nowrap;line-height:1.4}
.cat.int{background:var(--red);color:var(--on-red)}
.cat.nat{background:var(--blue);color:var(--on-red);box-shadow:inset 0 0 0 1px var(--blue-line)}
.cat.rf{background:var(--fg);color:var(--blue)}
.cat.sanc{background:#1F7F72;color:var(--on-red)}
.k-int{--k:var(--red)} .k-nat{--k:#3D6FB6} .k-rf{--k:var(--fg)} .k-sanc{--k:#1F9D8A}
.card.k-int,.card.k-nat,.card.k-rf,.card.k-sanc{box-shadow:inset 0 4px 0 var(--k)}
.srow.k-int,.srow.k-nat,.srow.k-rf,.srow.k-sanc{box-shadow:inset 4px 0 0 var(--k)}
.rail{position:relative;overflow:hidden;margin-bottom:28px;border-block:1px solid var(--blue-line);padding-block:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rail-track{display:flex;gap:40px;width:max-content;animation:rail 60s linear infinite}
.rail:hover .rail-track,.rail:focus-within .rail-track{animation-play-state:paused}
.rail-dup{display:flex;gap:40px;padding-right:40px}
.rail-item{display:flex;align-items:center;height:64px;padding:0 6px;opacity:.9;transition:opacity .15s,transform .15s}
.rail-item:hover{opacity:1;transform:translateY(-2px)}
.rail-item img{height:52px;width:auto;display:block}
@keyframes rail{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.rail{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.rail-dup{display:none}}
.cattiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-bottom:28px}
.cattile{display:flex;flex-direction:column;gap:10px;padding:20px 22px;border-radius:4px;min-height:132px;justify-content:space-between;border:1px solid transparent}
.cattile .nm{font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:30px;line-height:.95}
.cattile .ct{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;display:flex;justify-content:space-between;gap:12px}
.cattile.int{background:var(--red);color:var(--on-red)}
.cattile.nat{background:var(--blue);color:var(--on-red);border-color:var(--blue-line)}
.cattile.rf{background:var(--fg);color:var(--blue)}
.cattile.sanc{background:#1F7F72;color:var(--on-red);border-color:#1F9D8A}
.cattile:hover{filter:brightness(1.1)}
.cattile.int:hover,.cattile.nat:hover,.cattile.sanc:hover{color:var(--on-red)}.cattile.rf:hover{color:var(--blue)}
.cat-h{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding-bottom:12px;border-bottom:3px solid var(--k)}
.sub-h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:20px;letter-spacing:.06em;color:var(--blue-hi);display:flex;gap:10px;align-items:baseline}
.chip .sq{width:10px;height:10px;flex:none;background:var(--k);border:1px solid rgba(255,255,255,.3)}
.also a.k-int,.also a.k-nat,.also a.k-rf,.also a.k-sanc{box-shadow:inset 3px 0 0 var(--k);padding-left:12px}
.mono-logo.sm{width:48px;height:48px;font-size:17px}
.mono-logo.lg{width:96px;height:96px;font-size:34px}
.card .foot{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:12px;font-size:14px}
.next-on{color:var(--red-hi);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:46px;padding:0 18px;border-radius:4px;font-weight:600;cursor:pointer;display:inline-flex;gap:8px;align-items:center;border:1px solid var(--blue-line);background:transparent;color:var(--fg)}
.chip:hover{border-color:var(--blue-hi)}
.chip[aria-pressed="true"]{border-color:var(--blue-hi);background:var(--blue);color:var(--on-red)}
.chip .n{opacity:.65;font-family:var(--f-mono);font-size:12px}
@media (max-width:720px){.chips.scroll{flex-wrap:nowrap;overflow-x:auto;margin-right:calc(var(--gut) * -1);padding-right:var(--gut)}.chips.scroll .chip{flex:none}}

/* Event rows */
.rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.erow{display:grid;grid-template-columns:80px 112px minmax(0,1fr) auto;gap:24px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.erow:hover{background:var(--panel-2);color:var(--fg)}
.erow .d b{display:block;font-family:var(--f-mono);font-weight:700;font-size:26px;line-height:1}
.erow .d span{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--mute)}
.erow .t{font-family:var(--f-display);font-weight:700;font-size:24px;text-transform:uppercase;line-height:1.1}
.erow .s{font-size:15px;color:var(--mute)}
.erow.past{opacity:.6}
@media (max-width:600px){.erow{grid-template-columns:56px minmax(0,1fr);gap:8px 14px}.erow>*{grid-column:2}.erow>.d{grid-column:1;grid-row:1 / span 3;align-self:start}.erow .markbox{width:auto;min-height:0;justify-content:flex-start}.erow .series-logo.sm img{height:30px}.erow .mono-logo.sm{width:36px;height:36px;font-size:13px}.erow>:last-child{justify-self:start}.erow .d b{font-size:22px}.erow .t{font-size:20px}}

/* News */
.news{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.news a{display:flex;flex-direction:column;gap:12px}
.thumb{aspect-ratio:16/10;max-width:100%;border:1px solid var(--line);position:relative;overflow:hidden;background:var(--panel-2)}
.thumb canvas{position:absolute;inset:0;width:100%;height:100%}
.news .ttl{font-family:var(--f-display);font-weight:700;font-size:27px;line-height:1.1;text-wrap:balance}
.news .mt{display:flex;gap:12px;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--mute)}
.news .mt b{color:var(--red-hi);font-weight:500}

/* Event page */
.crumbs{font-size:14px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--mute)}
.ev-hero .hero-in{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:26px;padding-block:40px 32px}
.ev-hero h1{font-size:clamp(48px,7vw,88px)}
.ev-top{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;justify-content:space-between}
.ev-id{display:flex;gap:28px;align-items:center;flex-wrap:wrap;min-width:0}
.poster{width:112px;aspect-ratio:112/158;max-width:100%;flex:none;background:var(--red);color:var(--on-red);display:flex;flex-direction:column;justify-content:space-between;padding:10px;border:1px solid rgba(255,255,255,.15);position:relative;overflow:hidden}
.poster b{font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:22px;line-height:.9}
.poster span{font-family:var(--f-mono);font-size:9px;letter-spacing:.08em}
.poster::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border:10px solid rgba(0,0,0,.18);border-radius:50%}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--blue-line);border:1px solid var(--blue-line);border-left:4px solid var(--blue-hi)}
.facts div{background:var(--blue-ink);padding:14px 20px;min-width:0}
.facts b{display:block;font-weight:600;font-size:18px}
.tabs{border-bottom:1px solid var(--blue-line);position:sticky;top:calc(env(safe-area-inset-top,0px) + 76px);background:var(--ink);z-index:10}
@media (max-width:720px){.tabs{top:calc(env(safe-area-inset-top,0px) + 64px)}}
.tabs .wrap{display:flex;gap:4px;overflow-x:auto}
.tab{min-height:56px;padding:0 18px;border:0;background:transparent;cursor:pointer;white-space:nowrap;font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.tab[aria-selected="true"]{color:var(--fg);box-shadow:inset 0 -3px 0 var(--red)}
.tab .n{font-family:var(--f-mono);font-size:12px;color:var(--dim);margin-left:4px}
.cols{display:flex;flex-wrap:wrap;gap:40px;padding-block:44px 96px}
.cols .main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:48px}
.cols aside{flex:1 1 320px;display:flex;flex-direction:column;gap:20px;min-width:0}
.blk{display:flex;flex-direction:column;gap:14px}
.prose{font-size:18px;color:var(--soft);max-width:68ch;white-space:pre-line;margin:0}
.filebox{display:flex;gap:16px;align-items:center;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:4px;cursor:pointer;text-align:left;width:100%}
.filebox:hover{border-color:var(--line-3)}
.empty{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:22px;border:1px dashed #3A3A42;border-radius:4px}
.pill{padding:8px 14px;border:1px solid var(--line-2);border-radius:4px;font-weight:600}
.box{background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.box .pad{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.box canvas{display:block;width:100%;aspect-ratio:4/3;max-width:100%;background:#121A29}
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kv b{display:block;font-weight:600}
.doclist{display:flex;flex-direction:column}
.docrow{display:flex;gap:12px;align-items:center;min-height:48px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;text-align:left;width:100%;padding:0}
.docrow:hover{color:var(--red-hi)}
.docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:8px}
.doc{display:flex;gap:14px;align-items:center;min-height:56px;padding:8px 16px;background:var(--panel);border:1px solid var(--line);border-radius:4px;cursor:pointer;text-align:left;width:100%}
.doc:hover{border-color:var(--line-3)}
.doc .nm{flex:1;min-width:0}
.classcard{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:12px}
.spec{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}
.spec b{font-weight:600;text-align:right}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.photos div{aspect-ratio:3/2;max-width:100%;position:relative;border:1px solid var(--line);overflow:hidden}
.photos canvas{position:absolute;inset:0;width:100%;height:100%}

/* Series filter */
.search{display:flex;align-items:center;gap:12px;height:60px;padding:0 18px;background:var(--ink);border:1px solid var(--blue-line);border-radius:4px;color:var(--mute);max-width:720px}
.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--fg);font:inherit;font-size:18px}
.srow{display:flex;gap:14px;align-items:center;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:4px}
.srow:hover{border-color:var(--line-3);color:var(--fg)}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.band-blue{background:linear-gradient(180deg,var(--blue-ink),var(--ink));border-top:1px solid var(--blue-line)}
.band-head{background:var(--blue-ink);border-bottom:1px solid var(--blue-line);background-image:repeating-linear-gradient(115deg,rgba(143,176,224,.05) 0 2px,transparent 2px 22px)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:8px}
.trow{display:flex;gap:16px;align-items:center;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:4px;min-height:72px}
.trow.has-ev{border-color:var(--blue-line);box-shadow:inset 4px 0 0 var(--red)}
.trow-ev{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;flex:none;max-width:45%}
.select{height:46px;min-width:220px;max-width:100%;padding:0 40px 0 14px;border-radius:4px;border:1px solid var(--blue-line);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238FB0E0' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--fg);font:inherit;font-weight:600;appearance:none;-webkit-appearance:none;cursor:pointer}
.grp-h{display:flex;align-items:baseline;gap:16px;border-bottom:2px solid var(--blue);padding-bottom:10px}

/* Footer */
footer{border-top:3px solid var(--red);margin-top:24px;background:var(--blue-deep)}
footer a:hover{color:var(--blue-hi)}
footer .eyebrow{color:var(--blue-hi)}
footer .wrap{padding-block:48px 120px;display:flex;flex-direction:column;gap:32px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:32px;font-size:15px}
.fcols div{display:flex;flex-direction:column;gap:8px}
.claim{font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:26px;line-height:1;color:var(--fg)}

/* Bottom nav (mobile) */
.bnav{display:none}
@media (max-width:720px){
  .bnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--blue-deep);border-top:2px solid var(--red);padding:6px 0 calc(env(safe-area-inset-bottom,0px) + 10px)}
  .bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;justify-content:center;font-size:11px;font-weight:600;color:var(--blue-hi);background:none;border:0;cursor:pointer}
  .bnav .on{color:var(--fg);box-shadow:inset 0 2px 0 var(--fg)}
  .sec{padding-block:44px}
  .hero-in{padding-block:56px 40px}
}

/* Modal, toast, prototype panel */
.modal{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:var(--gut)}
.modal .dlg{background:var(--blue-deep);border:1px solid var(--blue-line);border-top:3px solid var(--red);width:min(440px,100%);padding:28px;display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field input{height:52px;background:var(--ink);border:1px solid var(--line-2);color:var(--fg);padding:0 14px;font:inherit;border-radius:4px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 90px);z-index:80;background:var(--fg);color:var(--ink);padding:12px 18px;font-weight:600;max-width:calc(100% - 32px);border-radius:4px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.proto-btn{position:fixed;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:50;background:var(--proto-bg);color:var(--proto);border:1px solid var(--proto);font-family:var(--f-mono);font-weight:700;font-size:12px;letter-spacing:.1em;padding:0 14px;height:44px;cursor:pointer;border-radius:4px}
@media (max-width:720px){.proto-btn{bottom:calc(env(safe-area-inset-bottom,0px) + 84px)}}
.proto{position:fixed;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 70px);z-index:55;width:min(420px,calc(100% - 32px));background:var(--proto-bg);color:var(--proto-fg);border:1px solid var(--proto);padding:18px;display:flex;flex-direction:column;gap:12px;font-size:14px;max-height:70vh;overflow:auto}
@media (max-width:720px){.proto{bottom:calc(env(safe-area-inset-bottom,0px) + 138px)}}
.proto h4{margin:0;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--proto)}
.proto .pc{min-height:36px;padding:0 12px;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600;border:1px solid #6B5A10;background:transparent;color:var(--proto-fg)}
.proto .pc[aria-pressed="true"]{background:var(--proto);color:var(--proto-bg);border-color:var(--proto)}
.proto p{margin:0}
.proto .rule{font-family:var(--f-mono);font-size:12px;line-height:1.5}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fade{animation:fade .35s ease both}
@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
/* ===== Reserved areas (Login · Driver · Team · Press) ===== */
:root{--ok:#8FE0A6;--ok-bg:#12261A;--ok-line:#2F6B3E;--amber:#F5B700;--amber-bg:#231E0C;--amber-fg:#FFF3C4;--amber-line:#6B5A10}
.ashell{min-height:100vh;display:flex;flex-direction:column;background:var(--ink);color:var(--fg);font-size:17px}
.abar{color:var(--fg);background:var(--blue-deep);border-bottom:2px solid var(--red);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.abar .in{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:10px var(--gut);min-height:72px}
.abar-tools{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}
.switch-wrap{position:relative}
.switch{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 16px 0 8px;border:1px solid var(--blue-line);border-radius:26px;background:var(--blue-ink);color:var(--fg);cursor:pointer;text-align:left}
.switch:hover{border-color:var(--blue-hi)}
.sw-t{display:flex;flex-direction:column;line-height:1.15}.sw-k{font-size:12px;color:var(--blue-hi)}.sw-n{font-weight:700}
.sw-menu[hidden]{display:none}
.sw-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;background:var(--blue-deep);border:1px solid var(--blue-line);border-radius:8px;padding:6px;display:flex;flex-direction:column;z-index:40;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.sw-menu button,.sw-menu a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 10px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--fg);font-weight:600;text-align:left}
.sw-menu button:hover,.sw-menu a:hover{background:var(--blue)}
.sw-menu button[aria-pressed="true"]{background:var(--blue)}
.avatar{width:36px;height:36px;border-radius:50%;flex:none;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--f-display);font-size:17px}
.avatar.blue{background:var(--blue);border:1px solid var(--blue-line)}.avatar.sq{border-radius:6px}.avatar.sm{width:28px;height:28px;font-size:13px}.avatar.lg{width:52px;height:52px;font-size:20px}
.sunbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--blue-line);border-radius:22px;background:transparent;color:var(--fg);font-weight:700;cursor:pointer}
.sunbtn[aria-pressed="true"]{background:var(--amber);color:#1A1708;border-color:var(--amber)}
.presstag{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid var(--blue-line);border-radius:20px;font-size:14px;font-weight:600}
.presstag .dot{width:8px;height:8px;border-radius:50%;background:var(--fg)}
.who{font-size:15px}
.abody{display:flex;flex:1;min-height:0}
.anav{width:250px;flex:none;border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;gap:4px;background:var(--panel-2)}
.anav button{display:flex;align-items:center;gap:14px;min-height:54px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--soft);font-weight:700;font-size:17px;cursor:pointer;text-align:left}
.anav button svg{color:var(--blue-hi);flex:none}
.anav button:hover{background:var(--raise)}
.anav button[aria-current="true"]{background:var(--blue);color:#fff;box-shadow:inset 4px 0 0 var(--red)}
.anav button[aria-current="true"] svg{color:#fff}
.badge-n{margin-left:auto;min-width:24px;height:24px;border-radius:12px;background:var(--red);color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.anav-foot{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.anav-foot a{display:flex;align-items:center;min-height:48px;padding:0 14px;color:var(--mute);font-weight:600}
.amain{flex:1;min-width:0;max-width:1180px;padding:32px var(--gut) 88px;display:flex;flex-direction:column;gap:28px}
.ah1{font-size:clamp(38px,5vw,54px)}
.ahead{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between}
.chip-s{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:18px;font-weight:700;font-size:15px;white-space:nowrap}
.chip-s.ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-line)}
.chip-s.warn{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-line)}
.chip-s.neutral{background:var(--raise);color:var(--soft);border:1px solid var(--line-2)}
.chip-s.ok.light{background:#E6F6EA;color:#135C26;border-color:#9ED7AE}
.st-ok{color:var(--ok)}.st-warn{color:var(--amber)}.st-neutral{color:var(--soft)}
.nextstep{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;padding:22px 24px;background:var(--amber-bg);border:2px solid var(--amber);border-radius:8px}
.ns-dot{width:52px;height:52px;flex:none;border-radius:50%;background:var(--amber);color:#1A1708;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:24px}
.ns-t{font-weight:700;font-size:21px;color:var(--amber-fg)}.ns-s{color:var(--amber-fg);opacity:.85}
.ns-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;background:var(--amber);color:#1A1708;font-weight:800;font-size:18px;border:0;border-radius:6px;cursor:pointer}
.ns-btn:hover{filter:brightness(1.08)}
.acard{background:var(--panel);border:1px solid var(--line);border-radius:8px}
button.acard{color:var(--fg);cursor:pointer;text-align:left;font:inherit}
.nextrace{overflow:hidden;border-color:var(--blue-line)}
.nr-top{display:flex;flex-wrap:wrap}
.nr-top .poster{width:150px;aspect-ratio:auto;min-height:200px;border:0;border-radius:0}
.nr-b{flex:1 1 380px;padding:22px 26px;display:flex;flex-direction:column;gap:12px;min-width:0}
.nr-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--blue-line);background:var(--blue-ink)}
.nr-acts button{display:flex;gap:12px;align-items:center;min-height:76px;padding:10px 20px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer;text-align:left;font:inherit}
.nr-acts button:hover{background:var(--blue)}
.nr-acts svg{color:var(--red-hi);flex:none}
.nr-acts b{display:block}.nr-acts span span{font-size:14px;color:var(--mute)}
.rlist{display:flex;flex-direction:column;gap:10px}
.rrow{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:16px 20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.rrow.k-int,.rrow.k-nat,.rrow.k-rf,.rrow.k-sanc{box-shadow:inset 4px 0 0 var(--k)}
.rr-d{min-width:96px;display:flex;flex-direction:column}.rr-d b{font-size:18px}.rr-d span{color:var(--mute);font-size:14px}
.rrow .markbox{width:96px}
.pass{border-radius:14px;overflow:hidden;background:#fff;color:#0A0C11;border:2px solid #0A0C11;max-width:420px;width:100%}
.pass-h{background:var(--red);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:4px solid var(--blue)}
.pass-b{padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:12px}
.pass-b canvas{width:200px;height:200px;max-width:100%;display:block}
.pass-w{display:flex;align-items:center;justify-content:center;min-height:56px;margin:0 16px 16px;width:calc(100% - 32px);background:var(--blue);color:#fff;font-weight:700;border:0;border-radius:8px;cursor:pointer;font-size:16px}
.pass-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.pass-row .pass{flex:1 1 320px}
.tiles{flex:1 1 320px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;min-height:118px;border-radius:10px;background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;text-align:left;font:inherit}
.tile b{font-size:18px}.tile span{font-size:14px;color:var(--mute)}
.tile.blue{background:var(--blue);border-color:var(--blue-line);color:#fff}.tile.blue span{color:#DCE6F5}
.tile svg{color:var(--red-hi)}.tile.blue svg{color:#fff}
.needs{border:2px solid var(--amber);border-radius:8px;background:var(--amber-bg);overflow:hidden}
.needs-h{display:flex;gap:14px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--amber-line)}
.needs-r{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--amber-line)}
.needs-r:last-child{border-bottom:0}
.needs .ns-dot{width:44px;height:44px;font-size:20px}
.okbox{display:flex;gap:12px;align-items:center;padding:16px 20px;border:1px solid var(--ok-line);background:var(--ok-bg);border-radius:8px;color:var(--ok);font-weight:600}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.dcard{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.kv3{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.kv3 span{color:var(--mute)}.kv3 b{text-align:right;font-weight:700}
.glance,.glance2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.glance .acard{display:flex;justify-content:space-between;align-items:center;min-height:72px;padding:0 22px;font-weight:700;font-size:19px}
.glance2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.glance2 .acard{display:flex}
.kvlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--line);overflow:hidden}
.kvlist>div{background:var(--panel);padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.kitgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}
.kit{display:flex;flex-direction:column;gap:10px;padding:14px}
.kit .thumb{aspect-ratio:16/10;border-radius:4px}
.kit-logo,.kit-doc{display:flex;align-items:center;justify-content:center;background:var(--blue-ink)}
.kit-logo img{max-width:80%;max-height:70%}
.abnav{display:none}
@media (max-width:860px){
  .anav{display:none}
  .amain{padding-bottom:120px}
  .abnav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--blue-deep);border-top:2px solid var(--red);padding:6px 0 calc(env(safe-area-inset-bottom,0px) + 10px)}
  .abnav button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:58px;justify-content:center;font-size:12px;font-weight:700;color:var(--blue-hi);background:none;border:0;cursor:pointer;padding:0 2px;text-align:center;line-height:1.15}
  .abnav button.on{color:#fff;box-shadow:inset 0 2px 0 #fff}
  .who{display:none}
  .abar .lang{display:none}
  .switch-wrap{order:3;flex:1 1 100%}.switch{width:100%}
  .rrow .markbox{display:none}
}
/* Sunlight mode: light, high-contrast tokens for use in the paddock */
.ashell.sun{--ink:#FFFFFF;--panel:#F3F5F8;--panel-2:#E8ECF2;--raise:#E1E6EE;--line:#B5BECC;--line-2:#98A2B3;--line-3:#5E6879;--fg:#0A0C11;--soft:#1C2433;--mute:#3A4352;--dim:#4A5568;--red-hi:#B30500;--blue-hi:#193B66;--blue-ink:#E6EDF7;--amber-bg:#FFF4CC;--amber-fg:#3D3000;--amber-line:#C9A227;--ok-bg:#E3F5E8;--ok:#135C26;--ok-line:#7CC493;color-scheme:light}
.ashell.sun .abar{--fg:#F2F3F5;--soft:#C8CDD8;--mute:#9AA3B2;--blue-hi:#8FB0E0;--blue-ink:#0B1626}
.ashell.sun .nextstep .eyebrow,.ashell.sun .needs .eyebrow{color:#7A5C00!important}
.ashell.sun .abnav{--blue-hi:#8FB0E0}
.ashell.sun .nr-acts button:hover{background:#D6E1F2}
/* Login */
.login{flex:1;display:flex;flex-wrap:wrap}
.lvis{flex:1 1 520px;position:relative;overflow:hidden;min-height:420px;border-right:1px solid var(--line);isolation:isolate;background:var(--hero-photo,none) center 30%/cover no-repeat,var(--blue-ink)}
.lvis::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,12,17,.35) 0%,rgba(11,22,38,.92) 70%),radial-gradient(60% 60% at 90% 10%,rgba(225,6,0,.35),transparent 70%)}
.lvis-in{height:100%;padding:64px clamp(24px,5vw,56px);display:flex;flex-direction:column;justify-content:flex-end;gap:26px}
.roletiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--blue-line);border:1px solid var(--blue-line);max-width:660px}
.roletiles>div{background:rgba(11,22,38,.92);padding:16px 18px;box-shadow:inset 0 3px 0 var(--k)}
@media (max-width:560px){.roletiles{grid-template-columns:1fr}}
.lform{flex:1 1 440px;display:flex;align-items:center;justify-content:center;padding:56px var(--gut)}
.lbox{width:100%;max-width:440px;display:flex;flex-direction:column;gap:22px}
.lgrid{display:flex;flex-direction:column;gap:18px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld>label,.fld>div>label{font-weight:700}
.fld input{height:58px;padding:0 16px;background:var(--panel);border:1px solid var(--blue-line);border-radius:4px;color:var(--fg);font:inherit;font-size:17px;width:100%}
.fld input.bad{border-color:#D33A2C}
.eye{position:absolute;right:5px;top:5px;width:48px;height:48px;border:0;background:transparent;color:var(--mute);display:flex;align-items:center;justify-content:center;cursor:pointer}
.chk{display:flex;gap:12px;align-items:center;min-height:48px;color:var(--soft);cursor:pointer}
.chk input{width:22px;height:22px;accent-color:var(--red)}
.note{padding:12px 14px;background:var(--blue-ink);border:1px solid var(--blue-line);border-radius:4px;font-size:15px;color:var(--soft)}.note b{color:var(--fg)}
.alert{display:flex;gap:12px;padding:14px 16px;background:#2A0F0D;border:1px solid #7A1F18;color:#FFD2CC;font-size:15px}
.roles3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rolecard{display:flex;gap:16px;align-items:center;padding:18px 20px;background:var(--panel);border:1px solid var(--blue-line);border-radius:6px}
.rolecard:hover{border-color:var(--blue-hi);color:var(--fg)}
.okdot{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok);display:flex;align-items:center;justify-content:center}

/* ===================================================================
   PHP template additions (new.iame-motorsport.com) — on top of the prototype CSS
   =================================================================== */
html,body{margin:0}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--fg);color:var(--ink);padding:10px 16px;font-weight:700}
.skip:focus{left:16px;top:16px}
.lang a{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;min-width:44px;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--blue-hi)}
.lang a[aria-current="true"]{background:var(--fg);color:var(--ink)}
.drawer[hidden]{display:none}
.drawer-lang{margin-top:24px;align-self:flex-start}
footer .legal{border-top:1px solid var(--blue-line);padding-top:24px;font-size:13px}
footer .credits{font-size:13px}
footer .credits a{text-decoration:underline}
/* Real poster image instead of the prototype placeholder */
.poster.has-img{padding:0;background:var(--panel-2)}
.poster.has-img::after{display:none}
.poster.has-img img{width:100%;height:100%;object-fit:cover;display:block}
a.poster:hover{outline:2px solid var(--blue-hi)}
/* Track drawing from tracks.track_image */
.box .trackimg{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#121A29;padding:16px}
/* Photos and news thumbnails */
.photos a{display:block;aspect-ratio:3/2;border:1px solid var(--line);overflow:hidden;background:var(--panel-2)}
.photos img{width:100%;height:100%;object-fit:cover;display:block}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb .ph{position:absolute;inset:0;background:url(/img/new/logo-ph.svg) center/42% auto no-repeat,linear-gradient(135deg,var(--blue-deep),var(--ink))}
/* Tabs: server-rendered panels, switched by js/new/site.js */
.tabpanel[hidden]{display:none}
a.tab{display:inline-flex;align-items:center}
.notfound{padding-block:120px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}

/* Championship calendar rows: same championship on every row, so no logo column */
.erow.erow-nologo{grid-template-columns:80px minmax(0,1fr) auto}
@media (max-width:600px){.erow.erow-nologo{grid-template-columns:56px minmax(0,1fr)}.erow.erow-nologo>.tag{grid-column:2;justify-self:start}}

/* Disabled action (e.g. registrations closed): visible, explains the state, not clickable */
.btn.off,.btn[aria-disabled="true"]{background:transparent;border:1px dashed var(--line-3);color:var(--mute);cursor:not-allowed}
.btn.off:hover{border-color:var(--line-3);color:var(--mute)}

/* Homepage: category tiles are links; the selected one is outlined */
a.cattile{text-decoration:none}
.cattile[aria-current="true"]{outline:3px solid var(--fg);outline-offset:3px}
.card .tag{max-width:50%;overflow:hidden;text-overflow:ellipsis}

/* Calendar: filter chips are links; "show concluded" is a link styled as a checkbox */
a.chip{text-decoration:none}
.chk-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;align-self:flex-start;font-weight:600}
.chk-link .box{width:22px;height:22px;border:2px solid var(--blue-hi);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;background:transparent}
.chk-link[aria-checked="true"] .box{background:var(--red);border-color:var(--red);color:var(--on-red)}

/* Footer credits with logos (ERA / Unlead / Unleadcloud) */
footer .credits{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center}
footer .credits a{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--mute);text-decoration:none;min-height:44px}
footer .credits a:hover{color:var(--fg)}
footer .credits img{width:50px;height:auto;display:block}
.srow[hidden],.series-sub[hidden],.series-group[hidden],.empty[hidden]{display:none}

/* Photo gallery tiles with driver caption */
.photos.gal{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.photos .ph{position:relative;display:block;aspect-ratio:3/2;border:1px solid var(--line);overflow:hidden;background:var(--panel-2);cursor:zoom-in}
.photos .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.photos .ph:hover img{transform:scale(1.04)}
.ph-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;background:linear-gradient(0deg,rgba(10,12,17,.92),rgba(10,12,17,0));display:flex;flex-direction:column;font-size:12px;color:var(--soft);line-height:1.3}
.ph-cap b{font-family:var(--f-display);font-weight:700;font-size:16px;text-transform:uppercase;color:var(--fg)}
.gal-find{display:flex;flex-direction:column;gap:8px}
.drv-head{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red)}
.pager{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
/* Lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgba(5,7,11,.96);display:flex;flex-direction:column}
.lb[hidden]{display:none}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;color:var(--soft);font-family:var(--f-mono);font-size:13px}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;touch-action:pan-y}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;user-select:none}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid var(--blue-line);background:rgba(15,36,64,.85);color:var(--fg);font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-bot{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 14px);min-height:56px}
.lb-cap{font-family:var(--f-display);font-weight:700;font-size:20px;text-transform:uppercase;color:var(--fg)}
.lb-links{display:flex;gap:18px;font-weight:600}
.lb-doc .lb-stage{padding:0 16px}
.lb-frame{width:min(1000px,100%);height:100%;border:0;border-radius:6px;background:#fff;display:block}
.lb-links a{color:var(--blue-hi)}
@media (max-width:720px){.lb-nav{display:none}}
.news-arch .ex{margin:0;font-size:15px;line-height:1.5}

/* News article */
.art-head{padding-block:48px 36px;display:flex;flex-direction:column;gap:18px}
.art-head .art-title{max-width:1000px}
.art-title{margin:0;font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(36px,5.2vw,64px);line-height:.98;text-wrap:balance}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;letter-spacing:.06em;color:var(--blue-hi);text-transform:uppercase}
.art-cols{padding-block:40px 64px}
.art-cols .main{gap:28px;max-width:780px}
.art-img{margin:0;border:1px solid var(--line);background:var(--panel-2)}
.art-img{display:flex;justify-content:center}
.art-img img{display:block;width:auto;max-width:100%;height:auto;max-height:min(80vh,900px)}
.art-body{white-space:normal;max-width:none;font-size:18px;line-height:1.7;color:var(--soft)}
.art-body>*{margin:0 0 1.1em}
.art-body h2,.art-body h3,.art-body h4{font-family:var(--f-display);font-weight:800;font-style:italic;text-transform:uppercase;color:var(--fg);line-height:1.05;margin:1.4em 0 .5em}
.art-body h2{font-size:32px}.art-body h3{font-size:26px}.art-body h4{font-size:21px}
.art-body strong,.art-body b{color:var(--fg)}
.art-body a{color:var(--blue-hi);text-decoration:underline;text-underline-offset:3px}
.art-body a:hover{color:var(--red-hi)}
.art-body ul,.art-body ol{padding-left:1.3em}
.art-body li{margin:.3em 0}
.art-body img{max-width:100%;height:auto;display:block;border:1px solid var(--line)}
.art-body blockquote{border-left:4px solid var(--red);padding:4px 0 4px 18px;color:var(--fg);font-style:italic}
.art-body .embed{position:relative;aspect-ratio:16/9;border:1px solid var(--line)}
.art-body .embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.art-body .tablewrap{overflow-x:auto;border:1px solid var(--line)}
.art-body table{border-collapse:collapse;width:100%;font-size:15px}
.art-body td,.art-body th{border-top:1px solid var(--line);padding:10px 12px;text-align:left}
.art-share{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:20px}
.art-share .btn{min-height:44px;font-size:16px;padding:0 16px}
a.art-ev{display:block;border-left:4px solid var(--red)}
a.art-ev:hover{border-color:var(--line-3);border-left-color:var(--red)}

/* Tracks list: small layout drawing in each row */
.trow-map{width:72px;height:54px;flex:none;display:flex;align-items:center;justify-content:center;background:#121A29;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.trow-map img{max-width:100%;max-height:100%;object-fit:contain;display:block}
a.trow:hover{border-color:var(--line-3);color:var(--fg)}
.live-group[hidden],.trow[hidden]{display:none}
/* Track page */
.tr-head{padding-block:44px 36px;display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end}
.tr-id{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}
.tr-map{flex:1 1 360px;margin:0;background:#121A29;border:1px solid var(--blue-line);padding:18px;display:flex;align-items:center;justify-content:center;min-height:260px}
.tr-map img{max-width:100%;max-height:360px;object-fit:contain;display:block}

/* Facts strip: rows always full width, no empty blue cells */
.facts{display:flex;flex-wrap:wrap}
.facts div{flex:1 1 170px}

/* ---------- Entry list ---------- */
.el-head{padding-block:48px 32px;display:flex;flex-direction:column;gap:18px}
.el-meta{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;font-size:18px;color:var(--soft)}
.el-meta a.cond{font-size:24px;color:var(--fg);text-decoration:none}
.el-meta a.cond:hover{color:var(--blue-hi)}
.el-bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 76px);z-index:10;background:var(--ink);border-bottom:1px solid var(--blue-line)}
.el-bar .wrap{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding-block:12px}
.el-bar .search{height:48px;flex:1 1 320px;max-width:460px}
.el-bar .search input{font-size:16px}
.el-bar .chips{flex:1 1 360px;min-width:0}
.el-bar .chip{height:38px;padding:0 14px;font-size:14px}
.el-class{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 230px)}
.el-class[hidden],.el-table tr[hidden]{display:none}
.el-table{width:100%;border-collapse:collapse;margin-top:6px;table-layout:fixed}
.el-table td,.el-table th{overflow-wrap:anywhere}
.el-table th.c-drv{width:34%}
.el-table th{font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 12px;border-bottom:1px solid var(--blue-line)}
.el-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--soft)}
.el-table tbody tr:hover td{background:var(--panel)}
.el-table .c-num{width:84px}
.el-table .c-drv{color:var(--fg)}
.el-table .c-drv b{font-weight:700}
.plate{display:inline-block;min-width:54px;padding:4px 8px;text-align:center;font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.1;color:var(--fg);background:var(--panel-2);border:1px solid var(--line-2);border-left:3px solid var(--red)}
.el-sub{display:none}
@media (max-width:720px){
 .el-bar{top:calc(env(safe-area-inset-top,0px) + 64px)}
 .el-bar .search{flex-basis:100%;max-width:none}
 .el-table thead{display:none}
 .el-table tr{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;border-bottom:1px solid var(--line)}
 .el-table td{border:0;padding:10px 8px}
 .el-table .c-opt{display:none}
 .el-sub{display:block;margin-top:2px;font-size:13px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .plate{min-width:50px;font-size:20px}
}

/* ---------- Reserved areas: real pages (links instead of the prototype's buttons) ---------- */
.anav>a{display:flex;align-items:center;gap:14px;min-height:54px;padding:0 14px;border-radius:6px;color:var(--soft);font-weight:700;font-size:17px;text-decoration:none}
.anav>a svg{color:var(--blue-hi);flex:none}
.anav>a:hover{background:var(--raise);color:var(--fg)}
.anav>a[aria-current="true"]{background:var(--blue);color:#fff;box-shadow:inset 4px 0 0 var(--red)}
.anav>a[aria-current="true"] svg{color:#fff}
.anav>a .ext{margin-left:auto;opacity:.7}
.anav-foot .anav-lang{display:none;height:44px;margin:0 14px 6px;align-self:flex-start}
.anav-foot .anav-lang a{min-height:0;padding:0 12px;font-size:12px;font-weight:400}
.sw-menu .sw-mail{padding:8px 10px 6px;font-size:13px;overflow:hidden;text-overflow:ellipsis}
.amain>.blk{margin:0}
.abnav a,.abnav button{display:none}
.ashell .btn{min-height:48px;font-size:17px}
.ashell .btn.lg{min-height:56px;font-size:19px}
/* forms inside the areas */
.aform{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px 22px}
.aform .full{grid-column:1/-1}
.fld select,.fld textarea{min-height:58px;padding:0 16px;background:var(--panel);border:1px solid var(--blue-line);border-radius:4px;color:var(--fg);font:inherit;font-size:17px;width:100%}
.fld select{appearance:none;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238FB0E0' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
.fld textarea{padding:14px 16px;min-height:120px}
.fld input[type=file]{height:auto;padding:14px 16px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--blue-hi);outline-offset:1px}
.fld .hint{font-size:14px;color:var(--mute)}
.fld input[readonly]{opacity:.75}
.ashell.sun .fld input,.ashell.sun .fld select,.ashell.sun .fld textarea{background:#fff;border-color:var(--line-2)}
/* data tables inside the areas */
.atable-w{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.atable{width:100%;border-collapse:collapse;font-size:16px}
.atable th{font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.atable td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.atable tr:last-child td{border-bottom:0}
.atable td.r,.atable th.r{text-align:right}
/* profile photo */
.aphoto{width:120px;height:120px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:var(--panel-2)}
.aprof{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
/* mobile: the side nav becomes a sheet opened from the tab bar */
@media (max-width:860px){
  .abnav{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
  .abnav a,.abnav button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:58px;justify-content:center;font-size:12px;font-weight:700;color:var(--blue-hi);background:none;border:0;cursor:pointer;padding:0 2px;text-align:center;line-height:1.15;text-decoration:none}
  .abnav a.on,.abnav button.on{color:#fff;box-shadow:inset 0 2px 0 #fff}
  .anav.open{display:flex;position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:78vh;overflow-y:auto;z-index:29;border-top:2px solid var(--red);border-right:0;border-radius:14px 14px 0 0;padding:18px 14px calc(env(safe-area-inset-bottom,0px) + 96px);box-shadow:0 -20px 40px rgba(0,0,0,.5)}
  .anav-foot .anav-lang{display:flex}
  .sunbtn span{display:none}
}
/* login: role switch + role tiles as links */
.lroles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--blue-line);border-radius:4px;overflow:hidden}
.lroles a{display:flex;align-items:center;justify-content:center;min-height:48px;font-weight:700;color:var(--soft);text-decoration:none;border-right:1px solid var(--blue-line)}
.lroles a:last-child{border-right:0}
.lroles a:hover{background:var(--raise);color:var(--fg)}
.lroles a[aria-current="page"]{background:var(--blue);color:#fff;box-shadow:inset 0 -3px 0 var(--red)}
.roletiles>a{background:rgba(11,22,38,.92);padding:16px 18px;box-shadow:inset 0 3px 0 var(--k);color:var(--fg);text-decoration:none}
.roletiles>a:hover{background:rgba(22,44,76,.95)}
.lbox .okbox{font-weight:500}
@media (max-width:860px){.lvis{min-height:0;flex-basis:100%;order:2;border-right:0;border-top:1px solid var(--line)}.lvis-in{padding:32px var(--gut)}.lform{padding-top:32px}}
.lbox .lang-m{display:none;align-self:flex-start}
@media (max-width:860px){.lbox .lang-m{display:flex}}
/* Driver area (driver_area.php): the home tiles are links and fill the width (auto columns instead of the fixed 2 of .tiles) */
.dr-tiles{flex:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}
a.tile{text-decoration:none}
a.tile:hover{border-color:var(--blue-line)}
a.tile:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}
/* nationality: flag + ISO code + name (flag is decoration, the code carries the meaning) */
.nat{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.nat .iso{vertical-align:0}
img.flag{display:inline-block;width:20px;height:15px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18);flex:none;object-fit:cover}
.el-sub .nat{gap:6px;font-weight:600;color:var(--soft)}
.el-sub img.flag{width:18px;height:13.5px}
/* race pass (one per driver) */
.pass .qr{width:220px;height:220px;max-width:100%;display:block}
.pass-id{display:flex;gap:12px;align-items:center;justify-content:center}
.pass-ph{width:64px;height:64px;border-radius:8px;object-fit:cover;border:1px solid #B5BECC}
.pass-wallet{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px}
.pass-wallet .pass-w{margin:0;width:auto;text-decoration:none;font-size:15px;min-height:52px;text-align:center;padding:0 8px}
.pass-wallet .pass-w.alt{background:#0A0C11}
.pass-row>.pass{flex:0 1 420px}
/* signed-in user in the public header (instead of "Sign in") */
.acct{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 14px 0 5px;border:1px solid var(--blue-line);border-radius:22px;background:var(--blue-ink);color:var(--fg);text-decoration:none}
.acct:hover{border-color:var(--blue-hi);color:var(--fg)}
.acct-t{display:flex;flex-direction:column;line-height:1.1}
.acct-k{font-size:11px;color:var(--blue-hi)}
.acct-n{font-weight:700;font-size:14px;white-space:nowrap}
@media (max-width:720px){.acct{display:none}}
/* team: event switch + weather */
.ev-pick{display:flex;flex-direction:column;gap:6px;max-width:520px}
.ev-pick-row{display:flex;gap:8px}
.ev-pick .select{flex:1;min-width:0;height:48px}
.wx-ev{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:18px 22px}
.wx-ev .flag{vertical-align:-2px}
.wx-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:12px}
.wx-day{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.wx-day.race{border-color:var(--blue-line);box-shadow:inset 0 3px 0 var(--red)}
.wx-i{color:var(--amber);line-height:0}
.wx-t{font-size:32px;font-weight:700}
.wx-t span{font-size:18px;color:var(--mute);font-weight:500}
.wx-c{font-weight:600}
.wx-m{display:flex;gap:14px;color:var(--mute);font-size:14px}
.wx-now{display:flex;gap:16px;align-items:center}
.wx-now .wx-t{font-size:clamp(34px,2.6vw,48px)}
.wx-hours{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:14px}
.wx-h{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;background:var(--panel-2);border-radius:6px;font-size:13px;color:var(--mute)}
.wx-h b{color:var(--fg);font-size:16px}
.wx-h svg{color:var(--amber)}
/* driver home + pass + payments */
.pass-wallet1{padding:0 16px 16px}
.pass-wallet1 .pass-w{margin:0;width:100%;text-decoration:none}
.wallet-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wallet-pick[hidden]{display:none}
.wallet-pick .pass-w.alt{background:#0A0C11}
.nr-acts a{display:flex;gap:12px;align-items:center;min-height:76px;padding:10px 20px;border-right:1px solid var(--line);color:var(--fg);text-decoration:none}
.nr-acts a:hover{background:var(--blue)}
.nr-acts a svg{color:var(--red-hi);flex:none}
.nr-acts a b{display:block}.nr-acts a span span{font-size:14px;color:var(--mute)}
.nr-poster{width:150px;min-height:200px;border:0;border-radius:0;overflow:hidden}
.nr-poster img{width:100%;height:100%;object-fit:cover;display:block}
.nextrace .cd{margin-top:4px;align-self:flex-start}
a.tile.blue{color:#fff}
a.tile{color:var(--fg)}
.paybox{flex:1 1 100%;border-top:1px dashed var(--amber-line);padding-top:12px}
.paybox .kvlist>div{background:transparent;padding:8px 12px 8px 0}
.pay-online{display:flex;flex-direction:column;gap:8px;margin-top:10px}.paybox>.pay-online:first-child{margin-top:0}
.pay-btns{display:flex;flex-wrap:wrap;gap:8px}
.rrow.pay-due{border-color:var(--amber-line)}
.pass-w[hidden]{display:none}
a.pass-w,a.pass-w:hover{color:#fff;text-decoration:none}
.lic{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:18px 22px}
/* app banner (phones only, see site.js) */
.appbar{background:var(--panel);border-bottom:1px solid var(--line);color:var(--fg)}
.appbar[hidden]{display:none}
.appbar .wrap{display:flex;align-items:center;gap:12px;padding-block:8px}
.appbar img{border-radius:9px;flex:none}
.appbar-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.appbar-t b{font-size:15px}
.appbar-t span{font-size:13px;color:var(--mute)}
.appbar .btn.sm{min-height:36px;padding:0 14px;font-size:14px}
.appbar .iconbtn{width:36px;height:36px;border-color:transparent}

/* ---------- registrations (register.php, pay.php) ---------- */
.rg-ptitle{padding-bottom:4px;border-bottom:1px solid var(--line)}
.rg-cats{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.rg-cats legend{padding:0;margin:0 0 6px}
.rg-cat{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 18px;min-height:64px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;cursor:pointer}
.rg-cat:hover{border-color:var(--blue-hi)}
.rg-cat:has(input:checked){border-color:var(--red);background:var(--raise)}
.rg-cat:has(input:focus-visible){outline:2px solid var(--red-hi);outline-offset:2px}
.rg-cat input{width:22px;height:22px;flex:none;accent-color:var(--red);margin:0}
.rg-cat.off{opacity:.55;cursor:not-allowed}
.rg-cat-n{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:2px}
.rg-cat-n b{font-size:18px}.rg-cat-n small{font-size:14px}
.rg-cat-p{flex:0 1 auto;margin-left:auto;font-family:var(--f-mono);font-weight:700;font-size:17px;text-align:right}
.rg-sum{width:100%;border-collapse:collapse;font-size:17px}
.rg-sum td{padding:12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.rg-sum td:last-child{text-align:right;white-space:nowrap;padding-left:16px}
.rg-sum tr.disc td{color:var(--ok)}
.rg-sum tr.tot td{border-bottom:0;font-weight:800;font-size:22px;padding-top:16px}
.rg-check{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;cursor:pointer}
.rg-check input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--red)}
.rg-par{color:var(--soft)}.rg-par p{margin:0 0 8px}
.rg-sub{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;margin-top:4px}
.rg-sub input{height:58px;padding:0 16px;background:var(--panel);border:1px solid var(--blue-line);border-radius:4px;color:var(--fg);font:inherit;font-size:17px;width:100%}
.fld[hidden],.rg-sub[hidden]{display:none}
.ferr{margin:0;color:#FF8A80;font-size:14px;font-weight:600}
.fld [aria-invalid="true"]{border-color:#D33A2C}
.req{color:var(--red-hi)}
.ashell.sun .rg-cat{background:#fff}.ashell.sun .ferr{color:#B3261E}.ashell.sun .rg-sub input{background:#fff;border-color:var(--line-2)}
/* registration on one page: sections + total bar */
.rg-form{display:flex;flex-direction:column;gap:16px}
.rg-form [hidden]{display:none!important}
.rg-sec{padding:0;overflow:hidden}
.rg-sec-h{display:flex;align-items:center;gap:12px;margin:0;padding:18px 24px;font-family:var(--f-display);font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase;font-style:italic}
details.rg-sec>summary{cursor:pointer;list-style:none}
details.rg-sec>summary::-webkit-details-marker{display:none}
details.rg-sec>summary:hover{background:var(--raise)}
details.rg-sec>summary:focus-visible{outline:2px solid var(--red-hi);outline-offset:-2px}
.rg-sec-t{flex:1 1 auto;min-width:0;overflow-wrap:break-word;hyphens:auto}
.rg-sec-h .chip-s{font-family:var(--f-body);font-style:normal;text-transform:none;letter-spacing:0;font-size:13px;flex:none}
.rg-sec-x{width:12px;height:12px;flex:none;border-right:2px solid var(--blue-hi);border-bottom:2px solid var(--blue-hi);transform:rotate(45deg);margin:0 4px 4px 4px;transition:transform .15s}
details[open]>summary .rg-sec-x{transform:rotate(-135deg);margin-bottom:-4px}
.rg-n{width:32px;height:32px;flex:none;border-radius:50%;background:var(--blue-deep);border:1px solid var(--blue-line);display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-style:normal;font-size:15px}
.rg-sec-b{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line)}
.rg-sec-b.aform{display:grid}
.rg-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 24px;background:var(--panel-2);border:1px solid var(--line-2);border-top:2px solid var(--red);border-radius:8px}
.rg-bar-t{display:flex;flex-direction:column;gap:0}.rg-bar-t b{font-size:24px}
@media (max-width:860px){
  .rg-bar{bottom:calc(env(safe-area-inset-bottom,0px) + 76px);padding:10px 12px;flex-wrap:nowrap;gap:12px}
  .rg-bar-t b{font-size:19px;white-space:nowrap}.rg-bar-t span{font-size:13px}
  .rg-bar .btn{min-height:48px;padding:0 14px;font-size:16px;letter-spacing:.04em;text-align:center;line-height:1.1}
  .rg-sec-h{padding:14px 16px;font-size:19px;gap:10px}.rg-sec-b{padding:16px}
  .rg-sec-h .chip-s{font-size:12px}
}
.ashell.sun .rg-bar{background:#fff}.ashell.sun details.rg-sec>summary:hover{background:#F2F4F7}
.rg-sub-sec{border:0;margin:0;padding:16px 0 0;border-top:1px dashed var(--line-2);min-width:0}
.rg-sub-sec>legend{padding:0;margin:0 0 4px;float:left;width:100%}
.rg-sub-sec>legend+*{clear:both}
/* partner banner above the footer (approved prototype) */
.partner{padding-block:32px 40px}
.partner a{display:block;border-radius:6px;overflow:hidden;border:1px solid var(--blue-line);transition:border-color .15s,transform .15s}
.partner a:hover{border-color:var(--blue-hi);transform:translateY(-2px)}
.partner img{display:block;width:100%;height:auto;max-width:100%}
@media (max-width:600px){.partner img{height:96px;object-fit:cover;object-position:0% 50%}}
/* event page: participants by nation */
.natlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.natlist li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.natlist li:last-child{border-bottom:0}
.natlist .nat{display:inline-flex;align-items:center;gap:8px;min-width:0}

/* Team drivers: search + filter chips */
.tdr-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.tdr-bar .search{height:48px;flex:1 1 300px;max-width:460px}
.tdr-bar .search input{font-size:16px}
.tdr-bar .chips{flex:1 1 360px;min-width:0}
.tdr-bar .chip{height:38px;padding:0 14px;font-size:14px}
.dgrid>[hidden]{display:none!important}
.orgc{display:flex;gap:8px;align-items:center;color:var(--mute);font-size:15px;overflow-wrap:anywhere}
.orgc svg{flex:none}
.orgc:hover{color:var(--fg)}

/* Press accreditation request */
.pr-all{display:flex;gap:10px;align-items:center;margin:14px 0 4px;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.pr-evs{display:flex;flex-direction:column}
.pr-ev{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}
.pr-ev:last-child{border-bottom:0}
.pr-ev.dis{cursor:default}
.pr-ev input,.pr-all input,.chip input{width:20px;height:20px;accent-color:var(--red)}
/* tyres / photo packs (reserve.php) */
.sh-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 16px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px}
.sh-row.on{border-color:var(--red);background:var(--raise)}
.sh-name{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:pointer}
.sh-name b{font-size:17px;overflow-wrap:anywhere}.sh-name span{color:var(--soft);font-size:15px}
.sh-qty{display:flex;align-items:center;gap:6px;margin-left:auto}
.sh-qty .iconbtn{width:44px;height:44px;font-size:22px;color:var(--fg)}
.sh-qty input{width:64px;height:44px;text-align:center;background:var(--panel);border:1px solid var(--blue-line);border-radius:4px;color:var(--fg);font:inherit;font-family:var(--f-mono);font-size:18px;-moz-appearance:textfield}
.sh-qty input::-webkit-outer-spin-button,.sh-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sh-mine{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sh-mine li{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 0;border-top:1px solid var(--line)}
.sh-mine li:first-child{border-top:0}
.ashell.sun .sh-row{background:#fff}.ashell.sun .sh-qty input{background:#fff;border-color:var(--line-2)}
/* reserve.php: orders already sent (top) and the new order (below), clearly apart */
.sh-done{padding:20px 24px;margin-bottom:28px;border-left:4px solid var(--ok-line);display:flex;flex-direction:column;gap:16px}
.sh-done-hd{display:flex;gap:14px;align-items:flex-start}
.sh-done-hd>svg{flex:none;width:40px;height:40px;padding:8px;border-radius:50%;background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok)}
.sh-done-hd h2{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sh-done-hd p{margin:4px 0 0;font-size:16px}
.sh-count{font-family:var(--f-mono);font-style:normal;font-size:15px;min-width:28px;height:28px;padding:0 8px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center}
.sh-sum{padding:14px 16px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line-2)}
.sh-sum ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:17px}
.sh-sum b{display:inline-block;min-width:3.2em}
.sh-orders{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.sh-order{border:1px solid var(--line-2);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.sh-order.open{border-style:dashed;opacity:.85}
.sh-order-hd{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.sh-order-hd .chip-s{margin-left:auto}
.sh-order ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:15px}
.sh-order-ft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line);margin-top:auto}
.sh-order-note{margin:0;font-size:14px}
.sh-new{display:flex;flex-direction:column;gap:6px;margin:0 0 4px}
.sh-new.more{padding-top:24px;border-top:2px dashed var(--line-2)}
.sh-new-tag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 12px;border-radius:14px;background:var(--red);color:#fff;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.sh-new h2{margin:4px 0 0}.sh-new p{margin:0;font-size:16px;max-width:70ch}
.sh-closed{margin-bottom:16px}
.ashell.sun .sh-sum{background:#F2F4F7}
.sh-order ul li,.sh-sum li{display:grid;grid-template-columns:3em minmax(0,1fr);gap:6px;align-items:baseline;overflow-wrap:anywhere}
/* team order: one block per driver (open / close), driver's items inside an order */
.sh-dsec>summary{cursor:pointer;list-style:none}
.sh-dsec>summary::-webkit-details-marker{display:none}
.sh-dsec>summary::after{content:'';margin-left:auto;flex:none;width:12px;height:12px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.sh-dsec[open]>summary::after{transform:rotate(-135deg)}
.sh-dname{display:flex;flex-direction:column;gap:2px;min-width:0}
.sh-dname small{font-family:var(--f-body);font-style:normal;text-transform:none;letter-spacing:0;font-size:15px;font-weight:500}
.sh-dcount{font-style:normal;font-size:16px;color:var(--ok)}
.sh-cat{margin:6px 0 -2px}.sh-cat:first-child{margin-top:0}
.sh-drv{display:flex;flex-direction:column;gap:3px}.sh-drv b{font-size:15px}
.sh-team{font-size:14px;color:var(--soft)}
/* buying at the track (event running) */
.ot-live{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;border-color:var(--red);font-size:16px}.ot-live svg{flex:none;color:var(--red-hi)}
.sh-drvname{font-size:15px}.sh-order ul li.plain{display:block}
.ot-res{padding:14px 18px;margin-bottom:24px}.ot-res>summary{cursor:pointer;display:flex;align-items:center;gap:10px;font-size:17px}
.ot-res-l{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}.ot-res-l li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.sh-order ul li .mono{text-align:right}.sh-sum li b{min-width:0;text-align:right}
/* /pay on the test site: simulate the gateway's answer */
.sim-box{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:2px dashed var(--amber);border-radius:6px}
.sim-box .btns{margin-top:6px}
/* ===== IAME app (app.iame-motorsport.com, test appnew; ?app=1 on the test site): app chrome on every screen size ===== */
body.app header.top .wrap{min-height:64px;gap:12px}
body.app .brand .logo{height:34px}
body.app .hd-tools{gap:8px}
body.app .hd-tools .iconbtn{color:var(--fg)}
body.app .app-signin{display:inline-flex;height:44px;padding:0 16px;font-size:14px}
body.app .acct{display:inline-flex;width:44px;padding:0;justify-content:center;border-radius:50%}
body.app .tabs,body.app .el-bar{top:calc(env(safe-area-inset-top,0px) + 64px)}
body.app .bnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--blue-deep);border-top:2px solid var(--red);padding:6px 0 calc(env(safe-area-inset-bottom,0px) + 10px)}
body.app .bnav a{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;justify-content:center;font-size:11px;font-weight:600;color:var(--blue-hi);text-decoration:none;min-width:0;padding:0 2px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.app .bnav .on{color:var(--fg);box-shadow:inset 0 2px 0 var(--fg)}
body.app .rg-bar{bottom:calc(env(safe-area-inset-bottom,0px) + 76px)}
body.app .partner .wrap{padding-block:16px}
.appfoot{background:var(--blue-ink);border-top:1px solid var(--line);color:var(--mute);font-size:14px}
.appfoot .wrap{padding-block:24px calc(env(safe-area-inset-bottom,0px) + 112px);display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.appfoot .lang{display:flex}
.appfoot-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.appfoot-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--soft)}
.appfoot .legal{font-size:13px}
/* Notifications (app) */
.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.notif{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.notif-img{width:72px;height:72px;object-fit:cover;border-radius:4px;flex:none;background:var(--raise)}
.notif-b{display:flex;flex-direction:column;gap:6px;min-width:0}
.notif-d{font-size:12px}
.notif-t{font-size:17px}
.notif-m{margin:0;color:var(--soft);overflow-wrap:anywhere}
/* App: next race of the signed-in driver on the home */
.app-next{padding-block:14px}
.app-nr{display:flex;align-items:center;gap:14px;padding:14px;color:var(--fg);text-decoration:none;border-color:var(--blue-line)}
.app-nr:hover{color:var(--fg);border-color:var(--blue-hi)}
.app-nr-n{flex:none;min-width:64px;height:64px;padding:0 8px;display:flex;align-items:center;justify-content:center;background:var(--blue);border-radius:6px;font-size:34px}
.app-nr-n.none{color:var(--blue-hi)}
.app-nr-b{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.app-nr-b b{font-size:17px;line-height:1.2}
.app-nr-c{display:flex;flex-wrap:wrap;gap:6px}
.app-nr-c .chip-s{min-height:28px;font-size:13px;padding:0 10px}
.app-nr-go{flex:none;font-size:12px;font-weight:700;color:var(--blue-hi);align-self:center}
@media (max-width:420px){.app-nr-go{display:none}}
/* App: invitation to sign in on the home (nobody signed in) */
.app-guest{padding-block:20px 4px}
.app-gc{display:flex;flex-direction:column;gap:10px;padding:18px;border-color:var(--blue-line)}
.app-gc-t{font-size:28px;line-height:1}
.app-gc p{margin:0;font-size:15px}
.app-gc .btn{align-self:flex-start}
/* App: first launch intro (intro.php, js/new/app-intro.js) */
body.intro{min-height:100vh;min-height:100dvh;background:var(--ink)}
.intro-wrap{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh}
.intro-step{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;padding-top:env(safe-area-inset-top,0px)}
.intro-step[hidden],.intro-tile[hidden]{display:none}
.intro-top{flex:none;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;position:relative;z-index:2}
.intro-top .brand{padding-left:12px}.intro-top .brand svg{height:36px;width:auto;display:block}
.intro-back{border:0}
.intro-sp{width:44px}
.intro-skip{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:600;color:var(--fg)}
.intro-dots{display:flex;gap:6px}
.intro-dots span{width:8px;height:4px;background:rgba(255,255,255,.33)}
.intro-dots span.on{width:22px;background:var(--fg)}
.intro-1{background:var(--ink);overflow:hidden}
.intro-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.intro-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,17,.35) 0%,rgba(10,12,17,.15) 30%,rgba(10,12,17,.85) 62%,var(--ink) 82%)}
.intro-body{position:relative;z-index:1;margin-top:auto;padding:0 20px calc(env(safe-area-inset-bottom,0px) + 28px);display:flex;flex-direction:column;gap:16px}
.intro-h1{font-size:clamp(64px,19vw,92px)}
.intro-h1 .r{color:var(--red)}
.intro-lead{margin:0;color:var(--soft);font-size:17px;line-height:1.45}
.intro .intro-lang{display:flex;border-color:var(--blue-line)}
.intro .intro-lang a{flex:1}
.intro-cta{width:100%;min-height:54px;font-size:20px;font-weight:800;font-style:italic}
.intro-1 .intro-dots{justify-content:center}
.intro-head{flex:none;padding:4px 20px 0;display:flex;flex-direction:column;gap:12px}
.intro-head p{margin:0;font-size:16px;line-height:1.4;color:var(--soft)}
.intro-h2{font-size:clamp(44px,12vw,56px)}
.intro-search{display:flex;flex-direction:column;gap:6px}
.intro-search input{height:48px;background:var(--panel);border:1px solid var(--line-2);color:var(--fg);padding:0 12px;font:inherit;font-size:16px;border-radius:0}
.intro-head .chips{display:flex;gap:8px}
.intro-head .chip{height:40px;padding:0 14px;font-size:15px}
.intro-tiles{flex:1;padding:12px 20px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.intro-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;min-height:108px;border:1px solid var(--line);background:var(--panel);text-align:left;cursor:pointer;box-shadow:inset 0 3px 0 var(--k)}
.intro-tile .series-logo,.intro-tile .mono-logo{max-width:calc(100% - 30px)}
.intro-tile .series-logo img{max-height:44px;width:auto;max-width:100%}
.intro-tn{font-weight:600;font-size:14px;line-height:1.25}
.intro-ck{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-3);color:transparent}
.intro-tile[aria-pressed="true"]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.intro-tile[aria-pressed="true"] .intro-ck{background:var(--red);border-color:var(--red);color:#fff}
.intro-foot{flex:none;position:sticky;bottom:0;z-index:2;margin-top:auto;padding:12px 20px calc(env(safe-area-inset-bottom,0px) + 24px);display:flex;flex-direction:column;gap:8px;background:var(--ink)}
.intro-2 .intro-foot{border-top:1px solid var(--line)}
.intro-foot .btn:not(.pri){border-color:var(--blue-line)}
.intro-foot .btn.ghost{border:0;min-height:44px;font-size:17px;color:var(--soft)}
.intro-demo{height:150px;background:var(--blue-deep);border-bottom:3px solid var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.intro-notif{width:min(300px,88%);background:var(--fg);color:var(--ink);padding:10px 12px;display:flex;gap:10px;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.intro-notif>span:last-child{min-width:0;display:flex;flex-direction:column;font-size:12px;color:#3A4352}
.intro-notif b{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intro-ni{width:32px;height:32px;flex:none;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;font-style:italic;font-size:13px}
.intro-why{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.intro-why li{display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--blue-line);padding:12px 14px}
.intro-why span{font-size:14px;color:var(--soft)}
.intro-roles{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.intro-roles a{display:flex;align-items:center;gap:14px;padding:14px;background:var(--panel);border:1px solid var(--line);color:var(--fg)}
.intro-roles a:hover{border-color:var(--blue-hi);color:var(--fg)}
.intro-roles .ri{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--blue);border:1px solid var(--blue-line)}
.intro-roles .k-driver .ri{background:var(--red);border-color:var(--red)}
.intro-roles b{display:block;font-size:22px}
.intro-roles a>span:last-child>span{display:block;font-size:14px;color:var(--mute);margin-top:2px}
.intro h1:focus{outline:none}
/* App: "My series" strip on the Series page */
.app-mine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}
.app-mine>span{display:inline-flex;align-items:center;gap:8px}
.app-mine svg{color:var(--red-hi)}
.app-mine a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--blue-hi)}
/* App: old iOS build (IAME_APP_OUTDATED), invitation to update */
.app-upd{background:var(--amber-bg,#231E0C);color:var(--amber-fg,#FFF3C4);border-bottom:1px solid var(--amber-line,#6B5A10);font-size:14px}
.app-upd .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding-block:4px}
.app-upd a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--amber,#F5B700);white-space:nowrap}
.notif-off{display:flex;flex-direction:column;gap:10px;padding:18px;border-color:var(--red)}
.notif-off[hidden],.notif-off [hidden]{display:none}
button.intro-skip{background:none;border:0;cursor:pointer;font:inherit;font-weight:600}
/* App: language menu in the header (public pages) and in the account switcher (reserved areas) */
.app-lang{position:relative}
.app-lang>summary{list-style:none;font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--fg)}
.app-lang>summary::-webkit-details-marker{display:none}
.app-lang-m{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:flex;flex-direction:column;min-width:160px;background:var(--blue-ink);border:1px solid var(--blue-line);border-radius:6px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.app-lang-m a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 12px;border-radius:4px;color:var(--fg)}
.app-lang-m a[aria-current="true"]{background:var(--blue)}
.abar .sw-menu .lang{display:flex;margin-top:4px}
/* App: behaves like a native app (Vale, 14/10/2026): no long-press callout or link preview, no text selection, no
   double-tap zoom, no tap flash. Form fields, and texts made copyable on purpose (style="user-select:all", e.g. IBAN),
   stay selectable. Only in the app (body.app): the public site is unchanged. */
body.app{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.app img,body.app a{-webkit-user-drag:none}
body.app input,body.app textarea,body.app select,body.app [contenteditable],body.app .copyable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}
.osep{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.osep:before,.osep:after{content:'';flex:1;border-top:1px solid var(--line)}
.btn.oauth{width:100%;background:#fff;color:#1f1f1f;border-color:#fff;font-family:var(--f-body,inherit);font-weight:600;font-size:16px;letter-spacing:0;text-transform:none}
.btn.oauth:hover{background:#f1f1f1;border-color:#f1f1f1;color:#1f1f1f}
/* ===== App on wide screens (iPad, iPhone Duo open, tablets, Android foldables; js/new/app-split.js) =====
   From 760px: tab bar → rail on the left, under the header (--app-top, set by the script).
   From 800px: list pages (body[data-split]) show list and detail side by side, each page in a frame (?pane=1). */
@media (min-width:760px){
  body.apub .bnav{top:var(--app-top,0px);right:auto;bottom:0;width:84px;grid-template-columns:none;grid-auto-rows:min-content;align-content:start;gap:4px;border-top:0;border-right:1px solid var(--blue-line);padding:12px 6px calc(env(safe-area-inset-bottom,0px) + 12px) calc(env(safe-area-inset-left,0px) + 6px);overflow-y:auto}
  body.apub .bnav a{min-height:64px;font-size:12px;white-space:normal;line-height:1.15;border-radius:6px}
  body.apub .bnav a:hover{color:var(--fg);background:var(--blue-ink)}
  body.apub .bnav .on{background:var(--blue);box-shadow:inset 3px 0 0 var(--red)}
  body.apub main,body.apub .partner,body.apub .appfoot{margin-left:calc(env(safe-area-inset-left,0px) + 84px)}
  body.apub .appfoot .wrap{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}
  body.apub .rg-bar{bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}
}
/* split view */
body.split-on{overflow:hidden}
body.split-on main>:not(.split),body.split-on .partner,body.split-on .appfoot{display:none}
.split{position:fixed;top:var(--app-top,0px);left:calc(env(safe-area-inset-left,0px) + 84px);right:0;bottom:0;display:grid;grid-template-columns:minmax(320px,40%) minmax(0,1fr);background:var(--ink)}
@media (min-width:1180px){.split{grid-template-columns:minmax(360px,34%) minmax(0,1fr)}}
.split iframe{display:block;width:100%;height:100%;border:0;background:var(--ink)}
.split-list{border-right:1px solid var(--line-2)!important}
.split-det{display:flex;flex-direction:column;min-width:0;min-height:0}
.split-bar{flex:none;display:flex;justify-content:flex-end;padding:0 calc(env(safe-area-inset-right,0px) + 8px) 0 8px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.split-full{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;font-size:13px;font-weight:600;color:var(--blue-hi)}
.split-full:hover{color:var(--fg)}
.split-det iframe{flex:1;min-height:0}
/* page inside a frame */
body.pane main{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}
body.pane .tabs,body.pane .el-bar{top:0}
body.pane .rg-bar{bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}
body.pane a.is-open{background:var(--blue-ink);box-shadow:inset 3px 0 0 var(--red)}
body.pane .band-head h1.disp{font-size:clamp(40px,14vw,88px)!important}
@media (max-width:440px){body.pane .band-head .wrap{padding-block:28px 24px!important}}
/* App tab bar with Race Day (an event runs today): 6 tabs on phones, first item of the rail on wide screens */
body.app .bnav.has-rd{grid-template-columns:repeat(6,minmax(0,1fr))}
body.app .bnav .rd{color:var(--red-hi)}
body.app .bnav .rd.on{color:var(--fg)}
@media (min-width:760px){body.apub .bnav.has-rd{grid-template-columns:none}}
/* ===== Race Day (/{event}/race-day, inc/new/raceday.php) ===== */
.rd-head .wrap{padding-block:28px 22px;display:flex;flex-direction:column;gap:10px}
.rd-kick{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rd-day{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--soft)}
.rd-h1{font-size:clamp(48px,9vw,84px)}
.rd-ev{margin:0;display:flex;flex-direction:column;gap:2px}
.rd-ev b{font-size:22px}
.rd-also{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rd-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-block:24px 48px}
@media (min-width:800px){.rd-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.rd-side{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}}
@media (min-width:1100px){.rd-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr)}.rd-side{grid-column:auto;display:flex;align-items:stretch}}
.rd-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.rd-timing{display:flex;align-items:center;gap:16px;padding:18px;background:var(--blue);border:1px solid var(--blue-line);border-left:4px solid var(--red);color:var(--fg);border-radius:6px}
.rd-timing:hover{color:var(--fg);background:var(--blue-deep)}
.rd-ti{flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--red);border-radius:50%}
.rd-tt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.rd-tt b{font-size:28px;line-height:1}
.rd-tt span{color:var(--soft);font-size:15px}
.rd-go{flex:none;color:var(--blue-hi)}
.rd-sh{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rd-sh .link{gap:6px;font-size:14px;color:var(--blue-hi)}
.rd-video{position:relative;aspect-ratio:16/9;max-width:100%;background:#000;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.rd-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rd-tframe{height:min(78vh,820px);min-height:460px;background:#000;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.rd-tframe iframe{display:block;width:100%;height:100%;border:0}
.rd-wide{width:100%;justify-content:center;gap:8px}
.rd-quick{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rd-quick a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:52px;padding:8px 2px;border-bottom:1px solid var(--line);font-weight:600}
.rd-quick a span:first-child{min-width:0;overflow-wrap:anywhere}
.rd-quick svg{color:var(--blue-hi)}
.rd-h2{font-size:32px}
.rd-upd{font-size:12px}
.rd-feed{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rd-feed a{display:flex;flex-direction:column;gap:4px;padding:12px 2px;border-bottom:1px solid var(--line);color:var(--fg)}
.rd-feed a:hover b{color:var(--red-hi)}
.rd-fm{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rd-feed b{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.rd-feed .mono{font-size:12px}
.rd-empty{margin:0}
.rd-me{display:flex;flex-direction:column;gap:10px;padding:16px;color:var(--fg);border-color:var(--blue-line)}
.rd-me:hover{color:var(--fg);border-color:var(--blue-hi)}
.rd-me-r{display:flex;align-items:center;gap:14px}
.rd-num{flex:none;min-width:64px;height:64px;padding:0 8px;display:flex;align-items:center;justify-content:center;background:var(--blue);border-radius:6px;font-size:34px}
.rd-num.none{color:var(--blue-hi)}
.rd-me-b{display:flex;flex-direction:column;gap:6px;min-width:0}
.rd-pass{font-size:12px;font-weight:700;color:var(--blue-hi)}
.rd-wx{display:flex;flex-direction:column;gap:10px;padding:16px}
.rd-src{margin:0;font-size:12px}
.rd-none{padding-block:48px!important;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.rd-none p{margin:0;max-width:60ch}
.rd-next{display:flex;flex-direction:column;gap:6px;padding:16px;color:var(--fg)}
.rd-next b{font-size:22px}
body.pane .rd-head .wrap{padding-block:20px 16px}

/* TEST: live timing drawn from Apex data (live_timing.php, js/new/apex-live.js) */
.lt-wrap{padding-block:16px 48px}
.lt-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:6px 6px 0 0}
.lt-sess{display:flex;flex-direction:column;gap:4px;min-width:0}
.lt-name{font-size:clamp(26px,4vw,40px)}
.lt-meta{font-size:13px}
.lt-clock{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lt-dyn{font-size:15px;color:var(--soft)}
.lt-time{font-size:28px;font-weight:700;letter-spacing:.02em}
.lt-flag{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:3px;font-weight:700}
.lt-flag.fl-g{background:#0E7A3A;color:#fff}
.lt-flag.fl-y{background:var(--proto);color:#111}
.lt-flag.fl-r{background:var(--red);color:#fff}
.lt-flag.fl-f{background:var(--fg);color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.lt-flag.fl-f::before,.lt-fin{content:"";display:inline-block;width:14px;height:14px;background:repeating-conic-gradient(#fff 0 25%,#111 0 50%) 0 0/7px 7px;border:1px solid #111;vertical-align:-2px}
.lt-last.is-best::before{content:"★ ";color:var(--mute)}
@container lt (min-width:600px){.lt-last.is-best{color:transparent!important}}
.lt-state{margin:0;padding:24px 16px;border:1px solid var(--line);border-top:0;color:var(--mute)}
.lt-board{display:flex;flex-direction:column;border:1px solid var(--line);border-top:0;background:var(--panel-2)}
.lt-board:empty{display:none}
.lt-row{display:grid;grid-template-columns:40px 50px minmax(0,1fr) auto;grid-template-areas:"pos num who gap" "chg num who last";column-gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--line);cursor:pointer;position:relative}
.lt-row:first-child{border-top:0}
.lt-row .lt-s,.lt-row .lt-int,.lt-row .lt-best{display:none}
.lt-pos{grid-area:pos;font-size:24px;text-align:center}
.lt-chg{grid-area:chg;font-size:11px;text-align:center;min-height:14px}
.lt-num{grid-area:num;justify-self:start;background:var(--fg);color:var(--ink);font-weight:700;font-size:14px;padding:4px 6px;border-radius:3px;min-width:44px;text-align:center}
.lt-who{grid-area:who;display:flex;flex-direction:column;min-width:0}
.lt-who b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-who .muted{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt-gap{grid-area:gap;text-align:right;font-size:15px;font-weight:700}
.lt-last{grid-area:last;text-align:right;font-size:13px;color:var(--soft)}
.lt-up{color:#3DDC84}.lt-down{color:var(--red-hi)}
.lt-pit{font-family:var(--f-mono);font-size:10px;background:var(--proto);color:#111;padding:1px 4px;border-radius:2px;font-weight:700}
.t-pb{color:#3DDC84!important}.t-best{color:#C77DFF!important}
.lt-h{display:none;cursor:default;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);background:var(--panel)}
.lt-row.pinned{background:linear-gradient(90deg,rgba(225,6,0,.22),rgba(225,6,0,.04))}
.lt-row.pinned::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.lt-row.f-lap{animation:ltLap 1.4s ease-out}
.lt-row.f-up{animation:ltUp 1.6s ease-out}
.lt-row.f-down{animation:ltDown 1.6s ease-out}
@keyframes ltLap{from{background-color:rgba(255,255,255,.14)}}
@keyframes ltUp{from{background-color:rgba(61,220,132,.25)}}
@keyframes ltDown{from{background-color:rgba(255,77,69,.25)}}
.lt-hint{font-size:13px;margin:8px 0 24px}
.lt{display:grid;gap:24px}
.lt-main{container:lt/inline-size;min-width:0}
.lt-side{display:grid;gap:16px;align-content:start}
@media (min-width:720px) and (max-width:1099px){.lt-side{grid-template-columns:repeat(2,minmax(0,1fr))}.lt-map{grid-column:1 / -1}}
@media (min-width:1100px){.lt{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.lt-side{position:sticky;top:calc(var(--app-top,0px) + 16px)}}
.lt-map svg{display:block;width:100%;height:auto;max-height:60vh;margin-top:8px}
.lt-trk-edge{fill:none;stroke:var(--line-3);stroke-width:11;stroke-linejoin:round;stroke-linecap:round}
.lt-trk-road{fill:none;stroke:#262E3D;stroke-width:7;stroke-linejoin:round;stroke-linecap:round}
.lt-trk-pt{fill:var(--mute)}
.lt-trk-sf{fill:#fff;stroke:#111;stroke-width:1.5}
.lt-dot circle{fill:var(--soft);stroke:var(--ink);stroke-width:1.5}
.lt-dot text{font-family:var(--f-mono);font-size:9px;font-weight:700;fill:var(--ink)}
.lt-dot.lead circle{fill:var(--proto)}
.lt-dot.pin circle{fill:var(--red);stroke:#fff;stroke-width:2}
.lt-dot.pin text{fill:#fff;font-size:9.5px}

.lt-rc ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.lt-rc li{display:flex;gap:8px;align-items:center;font-size:14px}
.lt-rc .lt-no,.lt-best .lt-no{font-family:var(--f-mono);font-size:12px;background:var(--fg);color:var(--ink);padding:1px 5px;border-radius:2px;margin-right:6px}
.lt-rcf{width:10px;height:10px;border-radius:2px;flex:none;background:var(--line-3)}
.lt-rcf.f-green{background:#0E7A3A}.lt-rcf.f-red{background:var(--red)}.lt-rcf.f-yellow{background:var(--proto)}.lt-rcf.f-invest,.lt-rcf.f-penalty{background:var(--proto)}
.lt-best dl{margin:8px 0 0;display:grid;gap:6px}
.lt-best dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:6px}
.lt-best dt{color:var(--mute)}.lt-best dd{margin:0}
.lt-next{margin-top:16px}
@container lt (min-width:600px){
 .lt-h{display:grid}
 .lt-row{grid-template-columns:44px 36px 52px minmax(150px,1fr) repeat(3,minmax(56px,68px)) 80px 72px 58px 80px;grid-template-areas:none;column-gap:8px;padding:6px 12px}
 .lt-row>span{grid-area:auto}
 .lt-row .lt-s,.lt-row .lt-int,.lt-row .lt-best{display:block;text-align:right;font-size:13px}
 .lt-pos{font-size:22px}.lt-chg{order:0}
 .lt-who{flex-direction:row;align-items:baseline;gap:10px}
 .lt-who b{font-size:17px}
 .lt-gap{font-size:14px}.lt-last{font-size:14px}
}
@container lt (min-width:600px){.no-s .lt-row{grid-template-columns:44px 36px 52px minmax(150px,1fr) 80px 72px 58px 80px}}
@container lt (min-width:600px) and (max-width:1099px){.lt-team{display:none}}
@container lt (min-width:600px) and (max-width:859px){.lt-row,.no-s .lt-row{grid-template-columns:44px 40px 56px minmax(140px,1fr) 84px 76px 84px}.lt-row .lt-s,.lt-row .lt-int{display:none!important}}
.lt-h .lt-num{background:none}.lt-h .lt-pos{font-size:11px;font-family:var(--f-mono);font-style:normal}
.lt-time.is-text{font-family:var(--f-display);font-size:20px;font-weight:700;text-transform:uppercase;font-style:italic;color:var(--soft)}
.lt-last.is-best:empty::before{content:none}

/* TEST: timing tower layout (live_timing2.php, js/new/apex-live2.js) */
.lt2{container:ltb/inline-size;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.lt2-head{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:2px solid var(--line-2);background:linear-gradient(180deg,var(--panel),var(--panel-2))}
.lt2-ttl{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.lt2-ttl .disp{font-size:clamp(24px,3.4vw,38px)}
.lt2-clk{display:flex;align-items:center;gap:14px}
.lt2-dyn{color:var(--soft);font-size:15px}
.lt2-time{font-family:var(--f-display);font-style:italic;font-weight:800;font-size:34px;line-height:1}
.lt2-time.is-text{font-size:20px;color:var(--soft)}
.lt2 .lt-state{border:0}
.lt2-board{display:flex;flex-direction:column;padding:4px 0}
.lt2-board:empty{display:none}
.lt2-row{display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(64px,1fr) 64px;column-gap:10px;align-items:center;padding:5px 16px;cursor:pointer;position:relative}
.lt2-row>span{min-width:0}
.lt2-row:not(.lt2-h)+.lt2-row{border-top:1px solid rgba(255,255,255,.04)}
.lt2-row .c-chg,.lt2-row .c-best,.lt2-row .c-cur,.lt2-row .c-s,.lt2-row .c-team{display:none}
.c-id .flag{flex:none;width:20px;height:15px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.c-id .nat{font-size:10px;color:var(--mute)}
.c-team{font-size:13px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lt2-h{cursor:default;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-block:8px 6px}
.lt2-h .c-bars i{font-style:normal;text-align:center}
.c-pos{font-size:20px;text-align:right}
.c-chg{font-size:10px}.c-chg .up{color:#3DDC84}.c-chg .down{color:var(--red-hi)}
.c-id{display:flex;align-items:center;gap:8px}
.c-id .num{background:var(--fg);color:var(--ink);font-size:12px;padding:2px 5px;border-radius:2px;min-width:34px;text-align:center}
.c-id .who{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.c-id{min-width:0}
.c-best,.c-gap,.c-cur,.c-s{font-size:13px;text-align:right;white-space:nowrap}
.c-gap{color:var(--soft)}
.c-cur{color:var(--fg)}
.c-cur.pit{color:var(--red-hi);font-weight:700;text-align:center}
.c-name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-bars{display:flex;gap:5px}
.c-bars>*{flex:1 1 0;min-width:0}
.c-bars>:nth-child(1){flex-grow:var(--f1,1)}.c-bars>:nth-child(2){flex-grow:var(--f2,1)}.c-bars>:nth-child(3){flex-grow:var(--f3,1)}
.seg{position:relative;height:14px;background:rgba(255,255,255,.05);overflow:hidden;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 11px,transparent 11px 14px);mask-image:repeating-linear-gradient(90deg,#000 0 11px,transparent 11px 14px)}
.seg b{position:absolute;left:0;top:0;bottom:0;width:100%}
.seg b.run{width:0;background:rgba(242,243,245,.5)}
.seg b.t-y{background:#F5B700}.seg b.t-g{background:#3DDC84}.seg b.t-p{background:#B45CFF}
.c-s.t-g,.c-cur.t-g{color:#3DDC84}.c-s.t-p,.c-cur.t-p,.c-best.t-p{color:#C77DFF}.c-s.t-y,.c-s.t-n,.c-cur.t-y{color:var(--fg)}
.lt2-row.pinned{background:linear-gradient(90deg,rgba(225,6,0,.25),rgba(225,6,0,.03) 60%)}
.lt2-row.pinned::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.lt2-row.f-up{animation:lt2Up .9s ease-out}.lt2-row.f-down{animation:lt2Down .9s ease-out}
@keyframes lt2Up{from{background-color:rgba(61,220,132,.13)}}
@keyframes lt2Down{from{background-color:rgba(255,77,69,.13)}}
@container ltb (min-width:640px){
 .lt2-row{grid-template-columns:30px 30px minmax(170px,1.2fr) 74px 70px 66px minmax(160px,1fr)}
}
@container ltb (min-width:820px){
 .lt2-row{grid-template-columns:30px 30px minmax(180px,1.2fr) minmax(110px,.8fr) 74px 70px 66px minmax(160px,1fr)}
 .lt2-row .c-team{display:block}
 .lt2-row .c-chg,.lt2-row .c-best,.lt2-row .c-cur{display:block}
}
@container ltb (min-width:1100px){
 .lt2-row{grid-template-columns:30px 30px minmax(210px,1.3fr) minmax(130px,.9fr) 74px 70px 66px minmax(220px,1.5fr) 58px 58px 58px}
 .lt2-row .c-s{display:block}
 .lt2-h .c-s{text-align:right}
}
.lt2-foot{display:grid;gap:16px;padding:16px 20px;border-top:2px solid var(--line-2);background:var(--panel)}
@container ltb (min-width:760px){.lt2-foot{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
.lt2-line{position:relative;height:84px;margin:4px 14px 0}
.lt2-line::before{content:"";position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:3px;background:linear-gradient(90deg,var(--line-3),var(--line-2) 50%,var(--line-3))}
.lt2-line::after{content:"";position:absolute;left:0;top:50%;width:4px;height:20px;margin:-10px 0 0 -2px;background:repeating-conic-gradient(#fff 0 25%,#111 0 50%) 0 0/4px 4px}
.lt2-dot{position:absolute;top:50%;left:0;width:0;height:0}
.lt2-dot i{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--soft);border:2px solid var(--ink)}
.lt2-dot b{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;font-family:var(--f-display);font-weight:700;font-size:12px;color:var(--soft);white-space:nowrap}
.lt2-dot.lo b{bottom:auto;top:10px}
.lt2-dot.lead i{background:var(--proto)}
.lt2-dot.pin i{background:var(--red);border-color:#fff;width:16px;height:16px;left:-8px;top:-8px}
.lt2-dot.pin b{color:#fff}
.lt2-cond{display:flex;align-items:center;gap:18px}
.lt2-cond svg{width:130px;height:90px;flex:none}
.lt2-cond svg path{fill:none;stroke:var(--fg);stroke-width:7;stroke-linejoin:round;stroke-linecap:round}
.lt2-cond dl{margin:6px 0 0;display:grid;grid-template-columns:auto auto;gap:4px 16px}
.lt2-cond dl div:first-child{grid-column:1 / -1}
.lt2-cond dt{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.lt2-cond dd{margin:0;font-family:var(--f-display);font-weight:700;font-style:italic;font-size:19px;text-transform:uppercase;line-height:1.1}
.lt2 .lt-hint{padding:0 20px}
.lt2-more{display:grid;gap:12px;padding:0 20px 20px}
.lt2-h>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* TEST: TV screens (live_timing_tv.php: UniFi Cast Pro, 16:9, nobody touches it). The live stream is the main thing:
   big on the left with track position / map / conditions under it, compact timing tower on the right. */
.tvbody{margin:0;height:100vh;overflow:hidden;cursor:none;background:var(--ink)}
.tv{display:grid;grid-template-columns:minmax(0,1fr) 620px;gap:14px;height:100vh;padding:14px;box-sizing:border-box}
.tv-left{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}
.tv-video{position:relative;aspect-ratio:16/9;max-height:72vh;background:#000;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:none}
.tv-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tv-under{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
.tv-left.no-video .tv-under{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-template-rows:auto minmax(0,1fr)}
.tv-left.no-video .tv-strip{grid-column:1 / -1}
.tv-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-height:0;overflow:hidden}
.tv-strip{display:flex;flex-direction:column;justify-content:space-between}
.tv-strip .lt2-line{height:84px;margin:6px 14px 0}
.tv-map{display:flex;padding:8px}
.tv-map svg{width:100%;height:100%;max-height:none;margin:0}
.tv-info{display:flex;flex-direction:column;gap:12px;min-height:0}
.tv-info .lt-rc{flex:1 1 auto}
.tv .lt2-cond dd{font-size:17px}
.tv .lt-rc ul{margin-top:6px;gap:4px}
.tv .lt-rc li{font-size:13px}
.tv .lt-next{margin:6px 0 0;font-size:13px}
.tv-main{display:flex;flex-direction:column;min-height:0}
.tv-main .lt2-head{padding:10px 14px;flex-direction:column;align-items:stretch;gap:6px}
.tv-main .lt2-ttl .disp{font-size:26px}
.tv-main .lt2-clk{justify-content:space-between}
.tv-main .lt2-time{font-size:30px}
.tv-logo{display:inline-flex;height:26px;margin-right:6px}
.tv-logo svg{height:100%;width:auto}
.tv-main .lt2-board{flex:1 1 auto;min-height:0;overflow:hidden;padding:2px 0}
.tv .lt2-row{height:var(--rh,26px);padding:0 12px;cursor:default;column-gap:8px}
.tv .c-pos{font-size:calc(var(--rh,26px)*.72)}
.tv .c-id .who{font-size:calc(var(--rh,26px)*.6)}
.tv .c-id .num{font-size:calc(var(--rh,26px)*.46);padding-block:0}
.tv .c-id .flag{height:calc(var(--rh,26px)*.56);width:auto}
.tv .c-best,.tv .c-gap,.tv .c-cur,.tv .c-s,.tv .c-team,.tv .c-chg{font-size:calc(var(--rh,26px)*.5)}
.tv .seg{height:calc(var(--rh,26px)*.46)}
.tv .lt2-h{height:auto;padding-block:4px}
