/* OnziQ navigation V25: one shell, existing theme tokens and business engines. */
html body.oq25-shell{--oq25-nav-height:88px;--oq25-sidebar:172px}
body.oq25-shell .wrap{width:100%;max-width:1240px;padding-inline:16px;padding-top:16px;padding-bottom:calc(var(--oq25-nav-height) + env(safe-area-inset-bottom,0px) + 24px);box-sizing:border-box}
body.oq25-shell nav.tabs.oq25-nav{position:fixed!important;inset:auto 8px calc(8px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;padding:6px!important;border:1px solid var(--stroke,#777);border-radius:18px!important;background:var(--bg2,#171717)!important;color:var(--ink,#fff);z-index:30;overflow:visible!important;backdrop-filter:none!important}
body.oq25-shell nav.tabs.oq25-nav button{min-width:0!important;min-height:64px!important;padding:6px 2px!important;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:4px!important;font:700 12px/1.15 var(--body,system-ui)!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:normal;word-break:normal;color:var(--ink,#fff);border-radius:12px!important}
body.oq25-shell nav.tabs.oq25-nav button svg{flex:none;width:22px;height:22px}
body.oq25-shell nav.tabs.oq25-nav button[aria-current=true],body.oq25-shell nav.tabs.oq25-nav button[aria-current=page]{background:var(--accent,#d4ff3a)!important;color:var(--on-accent,#111)!important}
.oq25-shell :is(.oq25-nav button,.oq25-card,.oq25-context button,.oq25-more button):focus-visible{outline:3px solid var(--accent,#d4ff3a)!important;outline-offset:3px}
.oq25-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0 16px;min-width:0}.oq25-context h2{font-size:clamp(22px,4vw,32px);line-height:1.15;margin:0;overflow-wrap:anywhere}.oq25-context button{min-height:44px;white-space:normal}.oq25-context .oq25-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;min-width:0}
.oq25-training-header{margin:12px 0 18px}.oq25-training-header h2{font-size:clamp(26px,5vw,38px);line-height:1.1;margin:0 0 8px}.oq25-training-header p{font-size:16px;line-height:1.5;margin:0;color:var(--muted,#aaa)}
.oq25-training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin-block:16px;min-width:0}
.oq25-card,.oq25-training-card{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;text-align:start;gap:12px;width:100%;min-width:0;min-height:170px;padding:20px;border:1px solid var(--stroke,#666);border-radius:18px;background:var(--bg2,#181818);color:var(--ink,#fff);font:inherit;cursor:pointer;text-decoration:none;white-space:normal;overflow-wrap:anywhere}.oq25-card svg,.oq25-training-card svg{width:32px;height:32px;flex:none;color:var(--accent,#d4ff3a)}.oq25-card strong,.oq25-training-card strong{font-size:22px;line-height:1.2}.oq25-card p,.oq25-training-card p{font-size:15px;line-height:1.5;margin:0}.oq25-card .btn,.oq25-training-card .btn{min-height:44px;margin-top:auto;white-space:normal}
body.oq25-shell .hubseg{display:flex!important;flex-wrap:wrap!important;gap:6px!important;padding:6px!important;width:100%;box-sizing:border-box;margin-block:10px 14px!important;grid-template-columns:none!important}
body.oq25-shell .hubseg>button{flex:1 1 130px!important;width:auto!important;min-width:0!important;min-height:44px!important;padding:9px 12px!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere}
.oq25-club-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}.oq25-club-actions .btn{min-height:44px;white-space:normal;font-size:14px}
dialog.oq25-more{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;margin:auto;padding:18px;background:var(--bg2,#181818);color:var(--ink,#fff);border:1px solid var(--stroke,#777);border-radius:20px}
dialog.oq25-more::backdrop{background:#000a}.oq25-more header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.oq25-more h2{margin:0;font-size:26px}.oq25-more button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.oq25-more .oq25-more-grid{display:grid;gap:8px}.oq25-more .oq25-more-grid>button{display:flex;align-items:center;gap:12px;justify-content:flex-start;text-align:start;padding:12px;font-size:16px}.oq25-more svg{width:22px;height:22px;flex:none}.oq25-more .oq-lang{position:static!important;display:block!important;z-index:auto;margin-top:12px}.oq25-more .oq-lang-menu{position:static!important;margin-top:8px}
body.oq25-shell:has(dialog[open]) nav.tabs.oq25-nav,body.oq25-shell:has(.tbgrid.focus) nav.tabs.oq25-nav,body.oq25-shell:has(:fullscreen) nav.tabs.oq25-nav{display:none!important}
@media(min-width:960px){body.oq25-shell .wrap{padding-inline:24px;padding-inline-start:calc(var(--oq25-sidebar) + 28px);padding-bottom:24px;max-width:1400px}body.oq25-shell nav.tabs.oq25-nav{inset:16px auto 16px 12px!important;width:var(--oq25-sidebar)!important;grid-template-columns:1fr!important;grid-auto-rows:min-content;align-content:center;gap:8px!important;padding:10px!important;border-radius:20px!important}html[dir=rtl] body.oq25-shell nav.tabs.oq25-nav{inset:16px 12px 16px auto!important}body.oq25-shell nav.tabs.oq25-nav button{min-height:56px!important;flex-direction:row!important;justify-content:flex-start!important;padding:12px!important;gap:10px!important;font-size:15px!important}}
@media(max-width:359px){body.oq25-shell .wrap{padding-inline:10px}body.oq25-shell nav.tabs.oq25-nav{inset-inline:4px!important;gap:2px!important;padding:4px!important}body.oq25-shell nav.tabs.oq25-nav button{font-size:10px!important}.oq25-card,.oq25-training-card{padding:16px}.oq25-context{gap:6px}}
@media(orientation:landscape) and (max-height:460px){body.oq25-shell{--oq25-nav-height:76px}body.oq25-shell nav.tabs.oq25-nav button{min-height:54px!important;flex-direction:row!important;gap:5px!important;font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.oq25-shell *, .oq25-shell *::before, .oq25-shell *::after{scroll-behavior:auto!important;transition:none!important}}
/* Journey module semantic classes. */
.oq25-training>header{margin:12px 0 18px}.oq25-training>header h2{font-size:clamp(26px,5vw,38px);line-height:1.15;margin:4px 0 8px}.oq25-training>header p{font-size:16px;line-height:1.5;margin:0;color:var(--muted,#aaa)}.oq25-training .oq25-activities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;min-width:0}.oq25-training .oq25-activity{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px}.oq25-training .oq25-activity h3{font-size:22px;line-height:1.2;margin:0;overflow-wrap:anywhere}.oq25-training .oq25-activity p{font-size:15px;line-height:1.5;margin:0;overflow-wrap:anywhere}.oq25-training .oq25-activity>.btn{margin-top:auto;min-height:48px;white-space:normal}.oq25-shell .vesthead [data-oq25-return]{min-height:44px;white-space:normal}
body.oq25-shell main,body.oq25-shell main>*{min-width:0}body.oq25-shell #fmatch{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding:14px!important;box-sizing:border-box;width:100%;min-width:0}body.oq25-shell #fmatch .field{min-width:0;display:flex;flex-direction:column;gap:7px}body.oq25-shell #fmatch .label{font-size:14px!important;line-height:1.35!important;letter-spacing:.03em!important;overflow-wrap:anywhere;color:var(--ink,#fff)}body.oq25-shell #fmatch :is(input,select){width:100%;min-width:0;box-sizing:border-box;min-height:48px;font-size:16px!important;padding:10px 12px}body.oq25-shell #fmatch>.btn,body.oq25-shell #fmatch>.oq25-match-options{grid-column:1/-1}body.oq25-shell #fmatch>.btn{min-height:48px;justify-self:start;width:auto!important;white-space:normal}body.oq25-shell .oq25-match-options{border:1px solid var(--stroke,#777);border-radius:12px;padding:12px;min-width:0}body.oq25-shell .oq25-match-options>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;font-size:15px}body.oq25-shell .oq25-match-options .form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:12px}body.oq25-shell select option{background:var(--bg2,#202326);color:var(--ink,#f4f4f4)}.oq25-context .oq25-context-badge{font-size:13px;padding:6px 10px;border:1px solid var(--stroke,#777);border-radius:20px;overflow-wrap:anywhere;max-width:100%}
@media(max-width:620px){body.oq25-shell #fmatch,body.oq25-shell .oq25-match-options .form{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}body.oq25-shell #fmatch{padding:12px!important}}
/* Compact shared header: team context and search; account and appearance in Plus. */
body.oq25-shell .top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding-block:4px}
body.oq25-shell .top .brand{gap:8px;margin:0}body.oq25-shell .top .brand h1{font-size:28px;line-height:1.1;margin:0}
body.oq25-shell .top .mark{width:34px;height:34px;min-width:34px;font-size:12px}
body.oq25-shell .top .clubsel{display:flex;flex:1 1 200px;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;margin:0;min-width:0}
body.oq25-shell .top .clubsel #mode,body.oq25-shell .top .clubsel #themeBtn,body.oq25-shell .top .clubsel [data-act=view][data-v=clubs]{display:none!important}
body.oq25-shell .top #clubSel{min-width:0;max-width:calc(100vw - 94px);font-size:14px;min-height:44px;padding:8px 10px}
@media(max-width:500px){body.oq25-shell .top .clubsel{justify-content:flex-start;flex-basis:100%}body.oq25-shell .top{gap:8px;margin-bottom:12px}}
.oq25-more>.btn{display:block;width:100%;margin-block:8px;text-align:start;font-size:16px}.oq25-more .oq-lang-toggle{width:100%;min-width:120px;display:flex;gap:12px;justify-content:flex-start}.oq25-more .oq-lang-toggle::after{content:attr(aria-label);font-size:14px}
/* Secondary shortcut stays available without taking over the top of the calendar. */
body.oq25-shell .oq-league-entry{padding:8px 10px;margin-block:6px;justify-content:flex-end;gap:8px;background:transparent;border:0}
body.oq25-shell .oq-league-entry>div{display:none}body.oq25-shell .oq-league-entry .btn{min-height:44px}
/* Narrow tactical editor: keep the terrain above tools, never shrink it to zero. */
@media(max-width:900px){body.oq25-shell .tbgrid:not(.focus){grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:12px!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap{position:relative!important;top:auto!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;display:block!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap .tboard{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:3/2}body.oq25-shell .tbgrid:not(.focus) .tbside{width:100%!important;min-width:0!important;max-height:none!important;overflow:visible!important;padding:0!important}body.oq25-shell .tbgrid:not(.focus) .tbpanes{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))!important}body.oq25-shell .tbgrid:not(.focus) .tbpanes>button{font-size:13px!important;overflow-wrap:normal!important;word-break:normal!important}}
@media(max-width:480px){body.oq25-shell .tbgrid:not(.focus) .tbpanes{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Tournament: readable section menu and structured ranking tables. */
.tnview .tntabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px!important;overflow:visible!important;padding:8px!important;background:var(--field,#242424);border-radius:16px!important}
.tnview .tntabs button{min-width:0;min-height:48px;padding:10px!important;font-size:16px!important;line-height:1.3;white-space:normal!important;overflow-wrap:anywhere}
.tnview .tntabs [aria-selected=true]{background:var(--accent,#d4ff3a)!important;color:var(--on-accent,#111)!important;font-weight:800}
.tnview table.tnstand{width:100%;font-size:17px;border-collapse:separate;border-spacing:0}.tnview .tnstand th{font-size:14px;letter-spacing:.04em;line-height:1.4;padding:14px 16px;color:var(--ink,#fff);background:var(--field,#292929)}
.tnview .tnstand td{padding:16px;min-height:52px;line-height:1.45;border-bottom:1px solid var(--stroke,#555);overflow-wrap:anywhere;color:var(--ink,#fff)}
.tnview .tnstand tbody tr:nth-child(even){background:color-mix(in srgb,var(--ink,#fff) 4%,transparent)}.tnview .tnstand .pts b{display:inline-grid;place-items:center;min-width:36px;min-height:36px;padding:2px 8px;background:var(--accent,#d4ff3a);color:var(--on-accent,#111);border-radius:12px;font-size:20px}
.tnview .panel h3{font-size:24px;line-height:1.3}.tnview .btn:focus-visible{outline:3px solid var(--accent,#d4ff3a);outline-offset:3px}
@media(max-width:700px){.tnview .tntabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tnview .tntabs button{font-size:15px!important}.tnview .tablebox:has(.tnstand){overflow:visible!important;min-width:0;border:0;background:transparent}.tnview table.tnstand{min-width:0!important;display:block}.tnview .tnstand thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tnview .tnstand tbody{display:grid;gap:10px}.tnview .tnstand tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--stroke,#555);border-radius:14px;background:var(--field,#242424)!important}.tnview .tnstand td{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:4px;min-width:0;min-height:0;border:0;font-size:17px;text-align:start!important}.tnview .tnstand td::before{content:attr(data-label);font-size:13px;font-weight:700;color:var(--muted,#aaa)}.tnview .tnstand td.pts{align-items:flex-start}}

/* Compact tournament scoreboard: each score remains beside its team. */
.tnlist:has(>.oq25-match-card){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;align-items:start}
.oq25-match-card.tnm{display:flex!important;flex-direction:column;gap:12px!important;width:100%;min-width:0;padding:16px!important;border:1px solid var(--stroke,#444)!important;border-radius:16px!important;background:var(--field,#222)!important;color:var(--ink,#fff)!important;text-align:left;opacity:1!important}
.oq25-match-card.live{border-inline-start:4px solid var(--accent,#d4ff3a)!important}
.oq25-match-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;line-height:1.4}
.oq25-match-status{padding:4px 9px;border-radius:20px;background:color-mix(in srgb,var(--ink,#fff) 8%,transparent)}
.oq25-match-card.live .oq25-match-status{background:var(--accent,#d4ff3a);color:var(--on-accent,#111)}
.oq25-match-teams{display:grid;gap:8px;width:100%;min-width:0}
.oq25-team{display:grid;grid-template-columns:32px minmax(0,1fr) 44px;align-items:center;gap:10px;min-width:0}
.oq25-team-name{font-size:19px;font-weight:750;line-height:1.3;overflow-wrap:anywhere;color:var(--ink,#fff)}
.oq25-team .av{width:32px;height:32px;min-width:32px}
.oq25-score{display:grid;place-items:center;min-height:40px;font-size:26px;font-variant-numeric:tabular-nums;border-radius:10px;background:color-mix(in srgb,var(--ink,#fff) 7%,transparent);color:var(--ink,#fff)!important}
.oq25-winner .oq25-score{background:var(--accent,#d4ff3a);color:var(--on-accent,#111)!important}
.oq25-match-details{display:flex;flex-wrap:wrap;gap:8px 16px;width:100%;border-top:1px solid var(--stroke,#444);padding-top:10px;font-size:14px;line-height:1.4}
.oq25-match-card:focus-visible{outline:3px solid var(--accent,#d4ff3a);outline-offset:3px}
@media(max-width:480px){.oq25-match-card.tnm{padding:12px!important;gap:10px!important}.oq25-team-name{font-size:18px}.oq25-match-meta{font-size:12px}}

.oq25-match-card.tnm.live{box-shadow:none!important}.oq25-match-meta{text-align:start;justify-content:space-between!important}

/* Native dropdown contrast, including opened options. */
html.ui-dark select{color-scheme:dark}html.ui-dark select option,html.ui-dark select optgroup{background:#25282c!important;color:#f5f7fa!important}html:not(.ui-dark) select{color-scheme:light}html:not(.ui-dark) select option,html:not(.ui-dark) select optgroup{background:#fff!important;color:#17191c!important}
.oq-kit-custom{display:block;width:100%;height:100%;max-height:220px}.oq-kit-custom path{filter:drop-shadow(0 3px 4px #0003)}[data-kit-preview]{height:160px;display:grid;place-items:center}[data-kit-preview] svg{width:160px}
.oq25-stat-table{width:100%!important;min-width:0!important;table-layout:fixed}.oq25-stat-table th,.oq25-stat-table td{white-space:normal!important;overflow-wrap:anywhere;padding:12px 8px!important}.oq25-stat-table th:first-child{width:43%}
@media(max-width:700px){.oq25-stat-table{display:block;table-layout:auto}.oq25-stat-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.oq25-stat-table tbody{display:grid;gap:10px}.oq25-stat-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border:1px solid var(--stroke,#555);border-radius:12px;background:var(--field,#242424)}.oq25-stat-table td{border:0!important;text-align:center;padding:4px!important;min-width:0;font-size:17px!important}.oq25-stat-table td:first-child{grid-column:1/-1;text-align:left;font-weight:700;color:var(--ink,#fff)!important}.oq25-stat-table td[data-label]::before{content:attr(data-label);display:block;font:600 12px/1.4 var(--font,system-ui);overflow-wrap:anywhere;margin-bottom:6px;color:var(--muted,#aaa)}.oq25-stat-table td b{font-size:24px}.legend{flex-wrap:wrap;min-width:0}.legend>span{overflow-wrap:anywhere;min-width:0}}

.oq25-passport .mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.oq25-passport .mini>div{min-width:0;padding:12px}.oq25-passport .mini .label{font-size:13px;letter-spacing:0;line-height:1.4;word-break:normal;hyphens:none;overflow-wrap:normal}.oq25-passport .mini b{font:700 18px/1.4 system-ui;word-break:normal;overflow-wrap:normal!important}.oq25-passport table{font-size:14px;min-width:460px}.oq25-passport th{letter-spacing:0;white-space:normal}.pcstats>div{min-width:0}.pcstats b{font-size:clamp(20px,5vw,36px)!important}
@media(max-width:480px){.oq25-passport .mini{grid-template-columns:minmax(0,1fr)}.oq25-passport .mini>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.oq25-passport .mini .label{max-width:100%;font-size:14px}.oq25-passport .mini b{font-size:17px}.pcstats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.sheet:has(#foqmykit),.sheet:has(#fedit),.sheet:has(.oq25-passport){background:var(--field,#25282c)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#foqmykit summary{min-height:48px;padding:12px;font-size:17px;font-weight:700;border:1px solid var(--stroke,#555);border-radius:12px;cursor:pointer}#foqmykit details[open]>summary{margin-bottom:12px}#foqmykit .btn{min-height:48px;white-space:normal}

@media(max-width:700px){.oq25-passport table{min-width:0!important;width:100%;display:block}.oq25-passport thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.oq25-passport tbody{display:grid;gap:10px}.oq25-passport tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px;border:1px solid var(--stroke,#555);border-radius:12px}.oq25-passport tr>th{grid-column:1/-1;text-align:left;font-size:15px;padding:4px}.oq25-passport td{min-width:0;border:0;font-size:18px;padding:6px!important;text-align:center}.oq25-passport td::before{content:attr(data-label);display:block;color:var(--muted,#bbb);font-size:12px;line-height:1.4;white-space:normal;margin-bottom:4px}.oq25-passport>div:has(table){overflow:visible!important}}

#foqmykit.form{grid-template-columns:minmax(0,1fr)!important;align-items:start!important}#foqmykit details{min-width:0;display:block!important}#fedit [data-kit-preview],#fedit h4,#fedit>.note{grid-column:1/-1}#foqmykit .colorsgrid{min-width:0}html:not(.is-light) select{color-scheme:dark}html:not(.is-light) select option,html:not(.is-light) select optgroup{background:#25282c!important;color:#f5f7fa!important}html.is-light select{color-scheme:light}html.is-light select option,html.is-light select optgroup{background:#fff!important;color:#17191c!important}

.sheet:has(#foqmykit),.sheet:has(#fedit),.sheet:has(.oq25-passport){background:var(--bg2,#161616)!important}

:root{--oq-brand-volt:#D4FF3A}html[data-pal=volt] .btn.pri,html[data-pal=volt] .oq25-nav [aria-current=page],html[data-pal=volt] .oq23-presets [aria-pressed=true],html[data-pal=volt] .oq25-match-card.live .oq25-match-status{background:var(--oq-brand-volt)!important;color:#111!important}

.oq25-card-preview{box-sizing:border-box;width:min(700px,calc(100vw - 16px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px;border:1px solid var(--stroke,#555);border-radius:16px;background:var(--bg2,#161616);color:var(--ink,#fff);overflow:auto}.oq25-card-preview::backdrop{background:#000c}.oq25-card-preview header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-16px;padding-block:8px;background:var(--bg2,#161616)}.oq25-card-preview img{display:block;width:100%;height:auto}.oq25-card-preview button{min-height:48px}

#foqmykit input[type=range],#fedit input[type=range]{margin:0!important;box-sizing:border-box;width:100%;max-width:100%}

#main>button[data-access-open],#main>button[data-offers-open],#main>button[data-email-open],#main>.oqcommunity-entry{margin-block:0 12px!important;margin-inline-end:10px!important;vertical-align:top;min-height:48px;max-width:100%;white-space:normal}
#foqmykit .colorsgrid,#fedit .colorsgrid{grid-template-columns:minmax(0,1fr)!important}#foqmykit .cp,#fedit .cp{grid-template-columns:200px minmax(0,1fr);min-width:0}#foqmykit .cpprev .field,#fedit .cpprev .field{min-width:0}#foqmykit .cphex,#fedit .cphex{width:100%;box-sizing:border-box}@media(max-width:600px){#foqmykit .cp,#fedit .cp{grid-template-columns:minmax(0,1fr);justify-items:center}#foqmykit .cpside,#fedit .cpside{max-width:100%}}
/* V25 tactical focus: terrain stays visible; two-column tools scroll vertically. */
body.oq25-shell .tbgrid.focus{box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr) 148px!important;grid-template-rows:minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important;padding:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))!important;width:100vw!important;height:100dvh!important;overflow:hidden!important}
body.oq25-shell .tbgrid.focus .tbwrap{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;max-height:none!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
body.oq25-shell .tbgrid.focus .tbwrap .tboard{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important}
body.oq25-shell .tbgrid.focus .tbselwrap,body.oq25-shell .tbgrid.focus .tbside{display:none!important}
body.oq25-shell .tbgrid.focus .tbrail{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-flow:row!important;grid-auto-rows:minmax(58px,auto)!important;gap:6px!important;align-content:start!important;justify-content:stretch!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;padding:0 2px 4px!important;box-sizing:border-box}
body.oq25-shell .tbgrid.focus .tbrail button{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%!important;height:auto!important;min-width:0!important;min-height:58px!important;padding:6px 3px!important;border-radius:10px!important;white-space:normal!important;font-size:11px!important;line-height:1.2!important}
body.oq25-shell .tbgrid.focus .tbrail button::after{content:attr(aria-label);display:block;max-width:100%;overflow-wrap:anywhere;font-size:10px;line-height:1.2}
body.oq25-shell .tbgrid.focus .tbrail button svg{width:22px!important;height:22px!important;flex:none}
body.oq25-shell .tbgrid.focus .tbrail .tbx{grid-column:1/-1;grid-row:1;position:sticky;top:0;z-index:2;min-height:44px!important;background:var(--bg2,#202326)!important;border:1px solid var(--stroke,#888)!important;color:var(--ink,#fff)!important;flex-direction:row!important;gap:6px!important}
body.oq25-shell .tbgrid.focus .tbrail .tbx::after{font-size:12px;font-weight:700}
@media(orientation:portrait){body.oq25-shell .tbgrid.focus{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,3fr) minmax(140px,2fr)!important}body.oq25-shell .tbgrid.focus .tbrail{grid-auto-rows:minmax(54px,auto)!important}body.oq25-shell .tbgrid.focus .tbrail button{min-height:54px!important;flex-direction:row!important;gap:8px!important}body.oq25-shell .tbgrid.focus .tbrail button::after{font-size:12px!important;text-align:start}}
@media(orientation:landscape) and (max-width:700px){body.oq25-shell .tbgrid.focus{grid-template-columns:minmax(0,1fr) 132px!important}body.oq25-shell .tbgrid.focus .tbrail button::after{font-size:10px!important}}
body.oq25-shell .tbgrid.focus .tbrail .tbx::after{flex:1;min-width:0;white-space:normal!important;overflow-wrap:normal!important;text-align:center;line-height:1.3;font-size:11px!important}

.pcreator[style*="--oq-card-bg"] .pcov{background:linear-gradient(135deg,color-mix(in srgb,var(--oq-card-bg) 35%,#161616),#161616)!important}
html .rcard[style*="--oq-card-bg"]::before{background:linear-gradient(130deg,color-mix(in srgb,var(--oq-card-bg) 35%,#1C1F22),#1C1F22)!important}html .rav,html .pcav{background:linear-gradient(140deg,#292D32,#1C1F22)!important}
/* Light inspection surface for the original jersey; independent from shared card backgrounds. */ #foqmykit [data-kit-preview],#fedit [data-kit-preview]{box-sizing:border-box;min-height:210px;height:210px;width:100%;padding:14px;background:#F2F3F0;border:1px solid #D9DDD8;border-radius:16px;overflow:hidden}#foqmykit [data-kit-preview] svg,#fedit [data-kit-preview] svg{width:182px;height:182px;max-width:100%;max-height:100%;filter:drop-shadow(0 5px 5px #0002)}

html .rcard[style*="--oq-card-gradient"]::before,.pcreator[style*="--oq-card-gradient"] .pcov{background:var(--oq-card-gradient)!important}html .rav,html .pcav{background:linear-gradient(140deg,#FFFFFF,#E5EAF0)!important}

.oq-gradient-field{margin:16px 0;padding:12px;border:1px solid var(--stroke,#666);border-radius:14px;min-width:0}.oq-gradient-field legend{font-weight:700;padding:0 6px}.oq-gradient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 12px}.oq-gradient-grid button{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:52px;padding:9px;border-radius:12px;border:1px solid var(--stroke,#777);background:var(--field,#24282d);color:var(--ink,#fff);font:700 14px system-ui;cursor:pointer}.oq-gradient-grid button[aria-pressed=true]{border:2px solid #D4FF3A}.oq-gradient-grid button span{display:block;width:28px;height:28px;flex:none;border-radius:50%;border:1px solid #ffffff50}.oq-gradient-grid button:focus-visible{outline:3px solid var(--ink,#fff);outline-offset:2px}@media(max-width:480px){.oq-gradient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oq-gradient-grid button{font-size:13px;padding:8px}}

.oq25-more .oq25-language-section{margin:4px 0 14px;padding:12px;border:1px solid var(--stroke,#666);border-radius:14px}.oq25-language-section h3{margin:0 0 10px;font-size:16px}.oq25-more .oq-lang-toggle{display:none!important}.oq25-more .oq-lang{position:static!important;display:block!important;margin:0!important;width:100%;height:auto}.oq25-more .oq-lang-menu{position:static!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.oq25-more .oq-lang-choice{box-sizing:border-box;width:100%!important;height:auto!important;min-height:62px!important;padding:7px 3px!important;display:flex!important;flex-direction:column!important;gap:5px!important;border-radius:10px!important}.oq25-more .oq-lang-choice svg{width:34px!important;height:23px!important;flex:none}.oq25-more .oq-lang-choice::after{content:attr(title);display:block;font:600 11px/1.1 system-ui;color:var(--ink,#fff);text-align:center}.oq25-more .oq-lang-choice[aria-pressed=true]{border:2px solid var(--accent,#d4ff3a)!important}.oq25-more .oq-lang-choice:focus-visible{outline:3px solid var(--accent,#d4ff3a);outline-offset:2px}
@media(max-width:380px){.oq25-more .oq-lang-menu{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}.oq25-more .oq-lang-choice{min-height:58px!important}.oq25-more .oq-lang-choice::after{font-size:10px}}

/* Restore the original V24 six-item navigation without the V25 desktop sidebar offset. */
@media(min-width:960px){body.oq25-shell:not(:has(nav.tabs.oq25-nav)) .wrap{padding-inline:24px!important;padding-inline-start:24px!important;padding-bottom:24px!important;max-width:1400px!important}}
/* Tablette et téléphone en paysage : réserver la place de la navigation latérale afin qu’elle ne recouvre pas l’entraînement. */
@media(orientation:landscape) and (min-width:600px) and (max-width:959px){body.oq25-shell .wrap{padding-inline-start:80px!important;padding-inline-end:12px!important}}
/* En paysage compact, la navigation passe en rail latéral : garder le contenu hors de sa zone, même avec la barre navigateur visible. */
@media(orientation:landscape) and (min-width:600px) and (max-width:1599px){html body .wrap,html body .wrap.has-pad{padding-left:88px!important;padding-inline-start:88px!important;padding-right:12px!important;padding-inline-end:12px!important}}
@media(orientation:landscape) and (min-width:1400px) and (max-width:1599px){html body .wrap,html body .wrap.has-pad{padding-left:200px!important;padding-inline-start:200px!important}}
@media(orientation:landscape) and (min-width:600px) and (max-width:1100px){html body .wrap,html body .wrap.has-pad{padding-left:16px!important;padding-inline-start:16px!important;padding-bottom:96px!important}html body nav.tabs{position:fixed!important;inset:auto 8px calc(8px + env(safe-area-inset-bottom,0px))!important;width:auto!important;max-width:none!important;height:auto!important;max-height:72px!important;margin:0!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:4px!important;padding:5px!important;overflow:visible!important;z-index:50!important;border:1px solid var(--stroke,#777)!important;border-radius:16px!important;background:var(--bg2,#171717)!important}html body nav.tabs button{min-width:0!important;min-height:52px!important;padding:4px 2px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-size:10px!important;line-height:1.1!important;white-space:normal!important}}
/* Onglets compacts sous le bloc Itinéraire. */
.tnview .tntabs{gap:6px!important;padding:6px!important}
.tnview .tntabs button{box-sizing:border-box;min-width:0!important;min-height:38px!important;padding:7px 9px!important;font-size:13px!important;line-height:1.2!important;white-space:nowrap!important;overflow-wrap:normal!important}
@media(max-width:700px){.tnview .tntabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tnview .tntabs button{min-height:40px!important;padding:7px 6px!important;font-size:13px!important}}


/* V25p responsive tactical editor: keep the pitch and controls visible together. */
body.oq25-shell .tbpanel .tbtools>button,
body.oq25-shell .tbpanel .tbpanes>button{box-sizing:border-box;min-width:0!important;width:100%!important;min-height:48px!important;height:auto!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
body.oq25-shell .tbgrid.focus .tbrail{box-sizing:border-box!important;min-width:0!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;touch-action:pan-y!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(48px,auto)!important;gap:6px!important;padding:4px!important;align-content:start!important}
body.oq25-shell .tbgrid.focus .tbrail button{box-sizing:border-box!important;width:100%!important;height:auto!important;min-width:0!important;min-height:48px!important;padding:5px 3px!important;gap:3px!important;white-space:normal!important;overflow:hidden!important}
body.oq25-shell .tbgrid.focus .tbrail button::after{display:block!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important;font-size:10px!important;line-height:1.15!important}
body.oq25-shell .tbgrid.focus .tbrail button svg{width:20px!important;height:20px!important;flex:none!important}
body.oq25-shell .tbgrid.focus .tbrail .tbx{grid-column:1/-1!important;grid-row:auto!important;position:sticky!important;top:0!important;z-index:3!important;min-height:42px!important;flex-direction:row!important;justify-content:center!important}
@media(min-width:901px){body.oq25-shell .tbgrid.focus{grid-template-columns:minmax(0,1fr) clamp(210px,22vw,280px)!important}body.oq25-shell .tbgrid.focus .tbrail{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(52px,auto)!important}body.oq25-shell .tbgrid.focus .tbrail button{min-height:52px!important}body.oq25-shell .tbgrid.focus .tbrail button::after{font-size:11px!important}}
@media(orientation:landscape) and (max-width:1100px) and (max-height:620px){body.oq25-shell .tbgrid.focus{grid-template-columns:minmax(0,1fr) clamp(176px,25vw,220px)!important;grid-template-rows:minmax(0,1fr)!important;gap:6px!important;padding:calc(6px + env(safe-area-inset-top,0px)) calc(6px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(6px + env(safe-area-inset-left,0px))!important}body.oq25-shell .tbgrid.focus .tbwrap{height:100%!important;max-height:100%!important}body.oq25-shell .tbgrid.focus .tbwrap .tboard{width:100%!important;height:100%!important;object-fit:contain!important}body.oq25-shell .tbgrid.focus .tbrail{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(44px,auto)!important;gap:4px!important;padding:2px!important}body.oq25-shell .tbgrid.focus .tbrail button{min-height:44px!important;padding:3px 2px!important}body.oq25-shell .tbgrid.focus .tbrail button::after{font-size:9px!important}body.oq25-shell .tbgrid.focus .tbrail button svg{width:18px!important;height:18px!important}}
@media(orientation:portrait) and (max-width:900px){body.oq25-shell .tbgrid.focus{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(132px,28dvh)!important;gap:6px!important;padding:calc(6px + env(safe-area-inset-top,0px)) calc(6px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(6px + env(safe-area-inset-left,0px))!important}body.oq25-shell .tbgrid.focus .tbwrap{height:100%!important;max-height:100%!important}body.oq25-shell .tbgrid.focus .tbwrap .tboard{width:100%!important;height:100%!important;object-fit:contain!important}body.oq25-shell .tbgrid.focus .tbrail{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(46px,auto)!important;gap:4px!important;padding:3px!important}body.oq25-shell .tbgrid.focus .tbrail button{min-height:46px!important;flex-direction:column!important}body.oq25-shell .tbgrid.focus .tbrail button::after{font-size:10px!important}}
@media(orientation:landscape) and (max-width:1100px) and (max-height:620px){body.oq25-shell .tbgrid:not(.focus){grid-template-columns:minmax(0,1.45fr) minmax(200px,.85fr)!important;gap:8px!important;align-items:start!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap{position:sticky!important;top:4px!important;height:calc(100dvh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;max-height:none!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap .tboard{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;object-fit:contain!important}body.oq25-shell .tbgrid:not(.focus) .tbside{max-height:calc(100dvh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding:2px!important;gap:6px!important}body.oq25-shell .tbgrid:not(.focus) .tbtools{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}body.oq25-shell .tbgrid:not(.focus) .tbtools>button{min-height:46px!important;height:auto!important;padding:5px 3px!important;font-size:12px!important;white-space:normal!important}body.oq25-shell .tbgrid:not(.focus) .tbpanes{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}body.oq25-shell .tbgrid:not(.focus) .tbpanes>button{min-height:46px!important;padding:4px 2px!important;font-size:11px!important}}
@media(orientation:portrait) and (max-width:900px){body.oq25-shell .tbgrid:not(.focus){grid-template-columns:minmax(0,1fr)!important;gap:10px!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap{position:relative!important;top:auto!important;height:auto!important;max-height:none!important;min-height:0!important;display:block!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap .tboard{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}body.oq25-shell .tbgrid:not(.focus) .tbside{max-height:none!important;overflow:visible!important}body.oq25-shell .tbgrid:not(.focus) .tbtools{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}body.oq25-shell .tbgrid:not(.focus) .tbtools>button{min-height:48px!important;padding:7px 5px!important}body.oq25-shell .tbgrid:not(.focus) .tbpanes{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* V25r: pitch gets the main workspace; compact, equal tool targets. */
body.oq25-shell .tbgrid:not(.focus) .tbside .tbpanes{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
body.oq25-shell .tbgrid:not(.focus) .tbside .tbpanes>button,body.oq25-shell .tbgrid:not(.focus) .tbtools>button{min-height:46px!important;padding:6px 4px!important;font-size:12px!important;line-height:1.2!important;word-break:normal!important;overflow-wrap:normal!important}
body.oq25-shell .tbgrid:not(.focus) .tbside button svg{width:22px!important;height:22px!important;flex:none}
body.oq25-shell .tbgrid:not(.focus) .tbtools{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
@media(min-width:901px),(orientation:landscape) and (min-width:600px){body.oq25-shell .tbgrid:not(.focus){grid-template-columns:minmax(0,1fr) clamp(184px,22vw,260px)!important;gap:10px!important;align-items:start!important}body.oq25-shell .tbgrid:not(.focus) .tbside{min-width:0!important;max-height:calc(100dvh - 110px)!important;overflow:auto!important;padding:2px!important}body.oq25-shell .tbgrid:not(.focus) .tbwrap{min-width:0!important}}
@media(orientation:landscape) and (max-height:620px){body.oq25-shell .tbgrid:not(.focus) .tbside{max-height:calc(100dvh - 100px)!important}.tbpanel{padding:8px!important}}

html body.oq25-shell .tbpanel .tbgrid:not(.focus) .tbside .tbtools>button,html body.oq25-shell .tbpanel .tbgrid:not(.focus) .tbside .tbpanes>button{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;height:48px!important;max-height:48px!important;min-height:48px!important;padding:6px!important;font-size:12px!important}
html body.oq25-shell .tbpanel .tbgrid:not(.focus) .tbside :is(.tbtools,.tbpanes)>button span{font-size:12px!important;line-height:1.2!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}

html body.oq25-shell .tbgrid:not(.focus) .tbwrap .tbselwrap{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;display:block!important;padding:0!important;margin:6px 0 0!important;background:transparent!important;border:0!important;box-shadow:none!important;flex:none!important}
html body.oq25-shell .tbgrid:not(.focus) .tbwrap .tbctl{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body.oq25-shell .tbgrid:not(.focus) .tbwrap .tbctl .ib{min-width:0!important;width:100%!important;min-height:48px!important;height:48px!important;max-height:48px!important;padding:4px 2px!important;display:flex!important;flex-direction:column!important;gap:3px!important;border-radius:10px!important}
html body.oq25-shell .tbgrid:not(.focus) .tbwrap .tbctl .ib svg{width:18px!important;height:18px!important}
html body.oq25-shell .tbgrid:not(.focus) .tbwrap .tbctl .ib::after{font-size:10px!important;white-space:nowrap!important;line-height:1.1!important}
html body.oq25-shell .tbgrid:not(.focus) .tbwrap .tbctl .tbhl{display:none!important}
@media(orientation:portrait){html body.oq25-shell .tbgrid:not(.focus) .tbwrap>svg.tboard{max-height:none!important;height:auto!important}}

html body.oq25-shell .tbgrid:not(.focus) .tbwrap{flex-direction:column!important}
@media(orientation:landscape) and (max-height:620px){html body.oq25-shell .tbgrid:not(.focus) .tbwrap>svg.tboard{flex:1 1 0!important;width:100%!important;min-width:0!important;min-height:0!important;height:calc(100% - 54px)!important;max-height:calc(100% - 54px)!important}}

@media(orientation:portrait){html body.oq25-shell .tbpanel .tbgrid:not(.focus) .tbwrap>svg.tboard{max-height:calc(100dvh - 150px)!important;object-fit:contain!important}}

body.oq25-shell .tbgrid.focus .tbrail .tbx{grid-row:1!important}
@media(orientation:portrait) and (min-width:600px){.tbgrid{scroll-margin-top:72px}}
