#f1lab-app .f1lab{--ink:#111827;--muted:#657080;--line:#d7dde5;--paper:#fff;--soft:#f4f6f8;--accent:#c90000;--shadow:0 10px 30px rgba(15,23,42,.08);max-width:1320px;margin:0 auto;padding:22px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.4}
#f1lab-app .f1lab,#f1lab-app .f1lab *{box-sizing:border-box}
#f1lab-app .f1lab button,#f1lab-app .f1lab select,#f1lab-app .f1lab input{font:inherit}
#f1lab-app .f1lab button{-webkit-appearance:none!important;appearance:none!important;text-transform:none!important;letter-spacing:normal!important;text-decoration:none!important;background-image:none!important;min-width:0!important;min-height:0!important;width:auto!important;margin:0;opacity:1;line-height:1.2!important;box-shadow:none;-webkit-text-fill-color:currentColor!important}
#f1lab-app .f1lab button::before,#f1lab-app .f1lab button::after{content:none!important;display:none!important}
#f1lab-app .f1lab button:focus-visible,#f1lab-app .f1lab select:focus-visible,#f1lab-app .f1lab input:focus-visible{outline:3px solid rgba(37,99,235,.35)!important;outline-offset:2px}
#f1lab-app .f1lab-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:14px}
#f1lab-app .f1lab-kicker{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--accent)}
#f1lab-app .f1lab h1{margin:2px 0 0;font:700 clamp(25px,4vw,42px)/1.05 Georgia,"Times New Roman",serif;color:var(--ink)}
#f1lab-app .f1lab-sub{color:var(--muted);font-size:13px;text-align:right}
#f1lab-app .panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}
#f1lab-app .selectors{display:grid;grid-template-columns:150px minmax(260px,1fr) auto;gap:12px;align-items:end}
#f1lab-app label.control{display:grid;gap:5px;font-size:12px;font-weight:800;letter-spacing:.04em;color:#445064}
#f1lab-app .f1lab select{height:40px!important;border:1px solid #bfc8d4!important;border-radius:7px!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:0 34px 0 10px!important;opacity:1!important}
#f1lab-app .mode-tabs{display:flex;border:1px solid #bfc8d4;border-radius:8px;overflow:hidden;height:40px;background:#fff}
#f1lab-app .mode-tabs button{border:0!important;border-right:1px solid #bfc8d4!important;border-radius:0!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:0 16px!important;cursor:pointer;font-weight:800!important;white-space:nowrap}
#f1lab-app .mode-tabs button:last-child{border-right:0!important}
#f1lab-app .mode-tabs button:hover{background:#f3f4f6!important;color:#111827!important}
#f1lab-app .mode-tabs button.active{background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#f1lab-app .race-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
#f1lab-app .race-title h2{margin:0;font:700 23px Georgia,"Times New Roman",serif;color:var(--ink)}
#f1lab-app .meta{font-size:13px;color:var(--muted)}
#f1lab-app .driver-controls{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
#f1lab-app .driver-label{font-weight:800;margin:7px 3px 0 0}
#f1lab-app .driver-buttons{display:flex;flex-wrap:wrap;gap:6px;flex:1}
#f1lab-app .driver-toggle{border:2px solid transparent!important;border-radius:999px!important;padding:6px 10px!important;cursor:pointer;font-weight:900!important;min-width:48px!important;background:var(--driver-bg)!important;color:var(--driver-fg)!important;-webkit-text-fill-color:var(--driver-fg)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)!important;opacity:.5!important;transition:.12s transform,.12s opacity}
#f1lab-app .driver-toggle:hover{transform:translateY(-1px);opacity:.78!important}
#f1lab-app .driver-toggle.active{opacity:1!important;border-color:#111!important;box-shadow:0 2px 8px rgba(0,0,0,.16)!important}
#f1lab-app .small-btn{border:1px solid #bfc8d4!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;border-radius:7px!important;padding:7px 10px!important;cursor:pointer;font-weight:800!important}
#f1lab-app .small-btn:hover{background:#f4f6f8!important;color:#111827!important}
#f1lab-app .mode-view[hidden]{display:none!important}
#f1lab-app .chart-card{background:#fff;border:1px solid var(--line);border-radius:12px;margin:14px 0;overflow:hidden}
#f1lab-app .chart-head{padding:12px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
#f1lab-app .chart-head h3{margin:0;font:700 20px Georgia,"Times New Roman",serif;color:var(--ink)}
#f1lab-app .chart-note{font-size:12px;color:var(--muted)}
#f1lab-app .chart{width:100%;height:520px}
#f1lab-app .chart.gap{height:600px}
#f1lab-app .realtime-controls{display:grid;grid-template-columns:auto auto auto minmax(180px,1fr) auto;gap:8px;align-items:center}
#f1lab-app .primary{background:#c90000!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;border-radius:8px!important;padding:10px 16px!important;font-weight:900!important;cursor:pointer}
#f1lab-app .primary:hover{background:#a90000!important;color:#fff!important}
#f1lab-app .primary.playing{background:#111827!important;color:#fff!important}
#f1lab-app .speed-group{display:flex;border:1px solid #bfc8d4;border-radius:8px;overflow:hidden;background:#fff}
#f1lab-app .speed-group button{border:0!important;border-right:1px solid #bfc8d4!important;border-radius:0!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:9px 11px!important;cursor:pointer;font-weight:800!important}
#f1lab-app .speed-group button:last-child{border-right:0!important}
#f1lab-app .speed-group button:hover{background:#f3f4f6!important;color:#111827!important}
#f1lab-app .speed-group button.active{background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#f1lab-app .clock{font:800 18px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;color:var(--ink)}
#f1lab-app .progress{width:100%;accent-color:#1677ee}
#f1lab-app .monitor-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:13px}
#f1lab-app .monitor{border-collapse:collapse;width:100%;min-width:820px;font-size:13px;color:var(--ink)}
#f1lab-app .monitor th{position:sticky;top:0;background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-align:left;padding:9px 8px;font-size:11px;letter-spacing:.05em;border:0}
#f1lab-app .monitor td{padding:7px 8px;border-bottom:1px solid #e5e8ed;color:var(--ink)}
#f1lab-app .monitor tbody tr:nth-child(even){background:#f8fafc}
#f1lab-app .monitor .pos{font-weight:900;font-size:15px}
#f1lab-app .driver-chip{display:flex;align-items:center;gap:8px;font-weight:900}
#f1lab-app .driver-chip small{color:#555;font-weight:400}
#f1lab-app .swatch{width:8px;height:25px;border-radius:3px;flex:none}
#f1lab-app .team{color:#596579!important}
#f1lab-app .gapval{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800}
#f1lab-app .retired{color:#a11616!important}
#f1lab-app .finished{color:#17643c!important}
#f1lab-app .loading{padding:30px;text-align:center;color:var(--muted)}
#f1lab-app .error{padding:14px;background:#fff0f0;border:1px solid #e8aaaa;border-radius:8px;color:#8c1111}
#f1lab-app .footnote{font-size:12px;color:var(--muted);line-height:1.55;margin:14px 2px 2px}
@media(max-width:780px){#f1lab-app .f1lab{padding:10px}#f1lab-app .f1lab-header{display:block}#f1lab-app .f1lab-sub{text-align:left;margin-top:7px}#f1lab-app .selectors{grid-template-columns:1fr}#f1lab-app .mode-tabs{width:100%}#f1lab-app .mode-tabs button{flex:1;padding:0 8px!important}#f1lab-app .race-title{display:block}#f1lab-app .race-title .meta{margin-top:5px}#f1lab-app .realtime-controls{grid-template-columns:1fr 1fr}#f1lab-app .realtime-controls .progress{grid-column:1/-1}#f1lab-app .chart{height:430px}#f1lab-app .chart.gap{height:480px}}

/* Plotly modebar help: protect tooltips from WordPress theme CSS. */
#f1lab-app .modebar-btn{cursor:help!important;position:relative!important}
#f1lab-app .modebar-btn[data-title]:hover::before{content:attr(data-title)!important;display:block!important;position:absolute!important;top:100%!important;right:0!important;z-index:10000!important;padding:6px 8px!important;border-radius:4px!important;background:#111827!important;color:#fff!important;font:600 12px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;white-space:nowrap!important;box-shadow:0 3px 10px rgba(0,0,0,.25)!important;pointer-events:none!important}


/* Lap-time vertical-axis controls. */
#f1lab-app .lap-chart-head{align-items:flex-start;gap:16px;flex-wrap:wrap}
#f1lab-app .chart-title-block{display:grid;gap:3px;min-width:240px}
#f1lab-app .lap-scale-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-left:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#f1lab-app .lap-scale-label{font-size:12px;font-weight:900;color:#445064;white-space:nowrap}
#f1lab-app .lap-scale-presets{display:flex;border:1px solid #bfc8d4;border-radius:7px;overflow:hidden;background:#fff}
#f1lab-app .lap-scale-presets button{border:0!important;border-right:1px solid #bfc8d4!important;border-radius:0!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:7px 9px!important;cursor:pointer;font-size:12px!important;font-weight:800!important;white-space:nowrap}
#f1lab-app .lap-scale-presets button:last-child{border-right:0!important}
#f1lab-app .lap-scale-presets button:hover{background:#f3f4f6!important;color:#111827!important}
#f1lab-app .lap-scale-presets button.active{background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#f1lab-app .lap-scale-manual{display:flex;align-items:center;gap:5px}
#f1lab-app .lap-scale-manual[hidden]{display:none!important}
#f1lab-app .lap-scale-manual label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#445064}
#f1lab-app .lap-scale-manual input{width:72px!important;height:31px!important;border:1px solid #bfc8d4!important;border-radius:6px!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:3px 6px!important;font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace!important}
#f1lab-app .scale-apply{border:1px solid #111827!important;border-radius:6px!important;background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:7px 9px!important;cursor:pointer;font-size:12px!important;font-weight:900!important}
#f1lab-app .lap-scale-summary{font:700 11px ui-monospace,SFMono-Regular,Consolas,monospace;color:#596579;white-space:nowrap}
#f1lab-app .lap-scale-error{width:100%;min-height:0;text-align:right;font-size:11px;font-weight:700;color:#a11616}
@media(max-width:780px){#f1lab-app .lap-scale-controls{justify-content:flex-start;margin-left:0;width:100%}#f1lab-app .lap-scale-error{text-align:left}}
#f1lab-app .lap-scale-error:empty{display:none}


/* Tyre strategy — v1.0.0 */
#f1lab-app .tyre-card .chart-head>div:first-child{display:grid;gap:3px}
#f1lab-app .tyre-data-status{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px;white-space:nowrap}
#f1lab-app .tyre-data-status.ok{background:#DCFCE7;color:#166534}
#f1lab-app .tyre-data-status.partial{background:#FEF3C7;color:#92400E}
#f1lab-app .tyre-data-status.none{background:#E5E7EB;color:#4B5563}
#f1lab-app .tyre-strategy{padding:14px 15px 18px;display:grid;gap:8px;overflow-x:auto}
#f1lab-app .tyre-strategy-row{display:grid;grid-template-columns:165px minmax(620px,1fr);gap:10px;align-items:center;min-height:31px}
#f1lab-app .tyre-driver-key{display:flex;align-items:baseline;gap:7px;border-left:7px solid var(--driver);padding-left:8px;min-width:0}
#f1lab-app .tyre-driver-key b{font:900 13px ui-monospace,SFMono-Regular,Consolas,monospace}
#f1lab-app .tyre-driver-key small{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#f1lab-app .tyre-track{height:24px;position:relative;border:1px solid #CBD5E1;border-radius:5px;background:repeating-linear-gradient(to right,#fff 0,#fff calc(10% - 1px),#EEF2F7 calc(10% - 1px),#EEF2F7 10%);overflow:visible}
#f1lab-app .tyre-segment{position:absolute;top:3px;height:16px;min-width:3px;border:1px solid #374151;border-radius:3px;background:var(--tyre);color:var(--tyre-fg);display:flex;align-items:center;justify-content:center;font:900 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:help;overflow:hidden}
#f1lab-app .tyre-segment.used{background:repeating-linear-gradient(90deg,var(--tyre) 0,var(--tyre) 6px,transparent 6px,transparent 10px);box-shadow:inset 0 0 0 999px rgba(255,255,255,.08)}
#f1lab-app .tyre-segment.unknown-set{background:repeating-linear-gradient(135deg,var(--tyre) 0,var(--tyre) 6px,rgba(255,255,255,.65) 6px,rgba(255,255,255,.65) 9px)}
#f1lab-app .tyre-unplaced{position:absolute;right:4px;top:2px;height:18px;padding:2px 5px;border-radius:4px;background:#FEE2E2;color:#991B1B;font-size:10px;font-weight:900;cursor:help}
#f1lab-app .tyre-empty{padding:22px;text-align:center;color:#657080;background:#F8FAFC;border-radius:8px}
#f1lab-app .tyre-pill{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:25px;border:2px solid #374151;border-radius:50%;background:var(--tyre);color:var(--tyre-fg);font:900 10px ui-monospace,SFMono-Regular,Consolas,monospace;cursor:help}
#f1lab-app .tyre-pill.tyre-none{background:#E5E7EB;color:#6B7280;border-color:#9CA3AF}
#f1lab-app .tyre-age{font:800 12px ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:780px){#f1lab-app .tyre-strategy-row{grid-template-columns:105px minmax(560px,1fr)}#f1lab-app .tyre-driver-key small{display:none}}

/* Gap vertical-axis Max control — v1.2.1 */
#f1lab-app .gap-chart-head{align-items:flex-start;gap:16px;flex-wrap:wrap}
#f1lab-app .gap-scale-controls{display:flex!important;align-items:center!important;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:0 0 0 auto!important;padding:0!important;line-height:1!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#f1lab-app .gap-scale-label{display:inline-flex;align-items:center;height:38px;margin:0!important;padding:0!important;font-size:12px;font-weight:900;color:#445064;white-space:nowrap;line-height:1!important}
#f1lab-app .gap-scale-controls label{display:inline-flex!important;align-items:center!important;gap:4px;height:38px;margin:0!important;padding:0!important;border:0!important;background:transparent!important;font-size:11px;font-weight:800;color:#445064;line-height:1!important;vertical-align:middle!important}
#f1lab-app .gap-scale-controls label>span{display:inline-flex;align-items:center;height:38px;margin:0!important;padding:0!important;line-height:1!important}
#f1lab-app .gap-scale-controls input[type="text"]{display:block!important;position:static!important;top:auto!important;transform:none!important;float:none!important;vertical-align:middle!important;box-sizing:border-box!important;width:84px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;border:1px solid #bfc8d4!important;border-radius:7px!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:0 9px!important;font:700 13px/36px ui-monospace,SFMono-Regular,Consolas,monospace!important;box-shadow:none!important}
#f1lab-app .gap-scale-controls input[type="text"]::placeholder{color:#8A94A6!important;-webkit-text-fill-color:#8A94A6!important;opacity:1!important;font-weight:500!important}
#f1lab-app .gap-scale-controls input[type="text"]::-webkit-input-placeholder{color:#8A94A6!important;-webkit-text-fill-color:#8A94A6!important;opacity:1!important;font-weight:500!important}
#f1lab-app .gap-scale-controls .scale-apply,#f1lab-app .gap-scale-auto{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 11px!important;line-height:1!important;vertical-align:middle!important}
#f1lab-app .gap-scale-auto{border:1px solid #bfc8d4!important;border-radius:7px!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;cursor:pointer;font-size:12px!important;font-weight:900!important}
#f1lab-app .gap-scale-auto:hover{background:#f3f4f6!important;color:#111827!important}
#f1lab-app .gap-scale-auto.active{background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#111827!important}
#f1lab-app .gap-scale-summary{display:inline-flex;align-items:center;height:38px;margin:0!important;font:700 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#596579;white-space:nowrap}
#f1lab-app .gap-scale-summary:empty{display:none}
#f1lab-app .gap-scale-error{width:100%;min-height:0;text-align:right;font-size:11px;font-weight:700;color:#a11616;line-height:1.35!important}
#f1lab-app .gap-scale-error:empty{display:none}
@media(max-width:780px){#f1lab-app .gap-scale-controls{justify-content:flex-start;margin-left:0!important;width:100%}#f1lab-app .gap-scale-error{text-align:left}}



/* In-tool language switch — v1.3.0 */
#f1lab-app .f1lab-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
#f1lab-app .lang-switch{display:flex!important;border:1px solid #bfc8d4!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important;height:34px!important}
#f1lab-app .lang-switch button{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:32px!important;border:0!important;border-right:1px solid #bfc8d4!important;border-radius:0!important;background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;padding:0 11px!important;cursor:pointer!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important}
#f1lab-app .lang-switch button:last-child{border-right:0!important}
#f1lab-app .lang-switch button:hover{background:#f3f4f6!important;color:#111827!important}
#f1lab-app .lang-switch button.active{background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
@media(max-width:780px){#f1lab-app .f1lab-header-actions{align-items:flex-start}#f1lab-app .lang-switch{margin-top:2px!important}}


/* Data export controls — v1.3.2 */
#f1lab-app .data-download-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0 4px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff}
#f1lab-app .data-download-copy{display:grid;gap:2px;min-width:230px;flex:1}
#f1lab-app .data-download-copy b{font-size:12px;letter-spacing:.04em;color:#344054}
#f1lab-app .data-download-copy span,#f1lab-app .data-download-status{font-size:11px;color:var(--muted);line-height:1.45}
#f1lab-app .data-download-actions{display:flex;gap:8px;flex-wrap:wrap}
#f1lab-app .download-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;border:1px solid #111827!important;border-radius:8px!important;background:#111827!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:8px 12px!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important}
#f1lab-app .download-btn.secondary{background:#fff!important;color:#111827!important;-webkit-text-fill-color:#111827!important;border-color:#bfc8d4!important}
#f1lab-app .download-btn:hover:not(:disabled){filter:brightness(.96)}
#f1lab-app .download-btn:disabled{cursor:not-allowed!important;opacity:.42!important}
#f1lab-app .data-download-status{width:100%;text-align:right}
@media(max-width:780px){#f1lab-app .data-download-actions{width:100%}#f1lab-app .download-btn{flex:1 1 210px}#f1lab-app .data-download-status{text-align:left}}
