/* Nexus Lab V3 polish (docs/NEXUS_LAB_V3_POLISH_2026-10.md): the page backgrounds (api/lib/nexus_lab3_bg.php), the Guides cards (api/lib/nexus_lab3_guides.php),
   the calm tier list (board first) and the compact draft console. Page-level file: last in the rift-lab bundle (tools/build-v158-assets.mjs) and in nxl3_styles() /
   nxp_styles(). Same rules as lab-v3.css: every selector under .nxl3, logical properties only, no !important, green + black only. */

/* ---------------------------------------------------------------- 1. page background (docs/NEXUS_LAB_V3_BG_2026-10.md): ONE art layer that is FIXED to the viewport while the content scrolls over it
   .nxl3-bgx is position:fixed, the full viewport wide and 100lvh high (the large viewport: it does not resize when a phone's address bar slides, so the art never jumps; position:fixed is safe on iOS Safari,
   only background-attachment:fixed is not). It sits at z-index -1 inside the shell (isolated), so the menu rail, the top bar and the site header (opaque) and the site footer (opaque, below) cover it
   and the page content scrolls over it. The art is the full width of what is left of the window next to the rail: nothing is cut off at the right edge and there is no empty band on a short page. */
.nxl3 .nxl3-col{position:relative}
.nxl3 .nxl3-bgx{position:fixed;inset-block-start:0;inset-inline:0;block-size:100vh;block-size:100lvh;z-index:-1;pointer-events:none;overflow:hidden}
.nxl3 .nxl3-bg{position:absolute;inset:0;overflow:hidden;background:radial-gradient(70% 90% at 82% 0%,rgba(69,248,130,.08),rgba(69,248,130,0) 70%),var(--l3-ink-0)}
[dir=rtl] .nxl3 .nxl3-bg{background:radial-gradient(70% 90% at 18% 0%,rgba(69,248,130,.08),rgba(69,248,130,0) 70%),var(--l3-ink-0)}
.nxl3 .nxl3-bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(150,255,190,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(150,255,190,.05) 1px,transparent 1px);background-size:44px 44px;
-webkit-mask-image:radial-gradient(80% 100% at 85% 10%,#000 0%,transparent 75%);mask-image:radial-gradient(80% 100% at 85% 10%,#000 0%,transparent 75%)}
[dir=rtl] .nxl3 .nxl3-bg::before{-webkit-mask-image:radial-gradient(80% 100% at 15% 10%,#000 0%,transparent 75%);mask-image:radial-gradient(80% 100% at 15% 10%,#000 0%,transparent 75%)}
/* the readability veil: dense under the text side, lighter where the art shows; the text sits on <= ~#333 everywhere (checked by sampling, tests/vnext_nexus_lab_v3_bg_contracts.php) */
.nxl3 .nxl3-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,7,.92) 0%,rgba(5,11,7,.84) 30%,rgba(5,11,7,.72) 66%,rgba(5,11,7,.62) 100%),linear-gradient(0deg,rgba(5,11,7,.7) 0%,rgba(5,11,7,0) 36%),linear-gradient(180deg,rgba(5,11,7,.55) 0%,rgba(5,11,7,0) 20%)}
[dir=rtl] .nxl3 .nxl3-bg::after{background:linear-gradient(270deg,rgba(5,11,7,.92) 0%,rgba(5,11,7,.84) 30%,rgba(5,11,7,.72) 66%,rgba(5,11,7,.62) 100%),linear-gradient(0deg,rgba(5,11,7,.7) 0%,rgba(5,11,7,0) 36%),linear-gradient(180deg,rgba(5,11,7,.55) 0%,rgba(5,11,7,0) 20%)}
.nxl3 .nxl3-bg__art{position:absolute;inset:0}
@media (min-width:1100px){.nxl3 .nxl3-bg__art{inset-inline-start:var(--l3-rail)}}
.nxl3 .nxl3-bg__art picture{display:contents}
.nxl3 .nxl3-bg__art img{display:block;object-fit:cover;object-position:52% 30%;color:transparent}
/* one splash (home, skins, items, tier list, patch, a champion's counters): cover the area, the subject by its focal point */
.nxl3 .nxl3-bg--one .nxl3-bg__art img{position:absolute;inset:0;inline-size:100%;block-size:100%;filter:brightness(.56) saturate(1.05)}
[dir=rtl] .nxl3 .nxl3-bg--one .nxl3-bg__art img{transform:scaleX(-1)}
/* draft helper: champion select, five allies | five enemies as tall strips */
.nxl3 .nxl3-bg--draft .nxl3-bg__art{display:flex}
.nxl3 .nxl3-bg__team{display:flex;flex:1 1 0;min-inline-size:0}
.nxl3 .nxl3-bg__team img{flex:1 1 0;min-inline-size:0;block-size:100%;filter:brightness(.56) saturate(1.05)}
.nxl3 .nxl3-bg__team.is-enemy img{filter:brightness(.5) saturate(.55)}
/* counters hub: two champions facing each other (the second one mirrored) */
.nxl3 .nxl3-bg--counters .nxl3-bg__art{display:flex}
.nxl3 .nxl3-bg--counters .nxl3-bg__art img{flex:1 1 0;min-inline-size:0;block-size:100%;filter:brightness(.62) saturate(1.05)}
.nxl3 .nxl3-bg--counters .nxl3-bg__art img+img{transform:scaleX(-1)}
/* runes: three keystone glyphs, enlarged and glowing */
.nxl3 .nxl3-bg--runes .nxl3-bg__art:not(.nxl3-bg__art--base) img{position:absolute;inline-size:clamp(150px,19vw,280px);block-size:auto;aspect-ratio:1;opacity:.42;filter:drop-shadow(0 0 28px rgba(69,248,130,.45))}
.nxl3 .nxl3-bg--runes .nxl3-bg__art:not(.nxl3-bg__art--base) img:nth-child(1){inset-inline-end:8%;inset-block-start:16%}
.nxl3 .nxl3-bg--runes .nxl3-bg__art:not(.nxl3-bg__art--base) img:nth-child(2){inset-inline-end:28%;inset-block-start:44%;inline-size:clamp(110px,13vw,200px);opacity:.3}
.nxl3 .nxl3-bg--runes .nxl3-bg__art:not(.nxl3-bg__art--base) img:nth-child(3){inset-inline-end:4%;inset-block-start:62%;inline-size:clamp(90px,10vw,160px);opacity:.26}
/* runes, converters, account value: a champion splash under the glyph / coin art (the glyphs alone left most of the window empty) */
.nxl3 .nxl3-bg__art--base img{position:absolute;inset:0;inline-size:100%;block-size:100%;filter:brightness(.52) saturate(1.05)}
[dir=rtl] .nxl3 .nxl3-bg__art--base img{transform:scaleX(-1)}
/* converters and account value: the store's currency art over the mesh */
.nxl3 .nxl3-bg--coin .nxl3-bg__art:not(.nxl3-bg__art--base) img{position:absolute;inset-inline-end:8%;inset-block-start:18%;inline-size:clamp(150px,20vw,280px);block-size:auto;aspect-ratio:1;opacity:.5;filter:drop-shadow(0 0 40px rgba(69,248,130,.35));transform:rotate(-12deg)}
/* wide screens: the content column (menu + 1240 px) ends well before the window does; past it there is no text, so the veil fades out and the art shows as it is */
@media (min-width:1700px){.nxl3 .nxl3-bg::after{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 1480px,transparent 1900px);mask-image:linear-gradient(90deg,#000 0,#000 1480px,transparent 1900px)}
[dir=rtl] .nxl3 .nxl3-bg::after{-webkit-mask-image:linear-gradient(270deg,#000 0,#000 1480px,transparent 1900px);mask-image:linear-gradient(270deg,#000 0,#000 1480px,transparent 1900px)}}
/* a page whose hero still draws its own art box (nxl3_champ_hero) skips the layer and its credit; the champion pages use the layer */
.nxl3:has(.nxl3-hero__art)>.nxl3-bgx,.nxl3:has(.nxl3-hero__art) .nxl3-artcredit{display:none}
/* the sticky filter bar and the champion tab bar are opaque and as wide as the content column; past it (wide screens) they keep going to the window edges, so no bar ends in the middle of the art */
@media (min-width:1100px){.nxl3 .nxl3-fbar,.nxl3 .rl49-champion-tabs{box-shadow:0 0 0 100vmax var(--l3-ink-0);clip-path:inset(0 -100vmax)}}
/* a data-saver visitor gets the 768 px file (Wild Rift) or the green mesh with no art request (League and the strips have no small file) */
@media (prefers-reduced-data:reduce){.nxl3 .nxl3-bg[data-nosmall] .nxl3-bg__art{display:none}}
/* big screens: the source is Riot's native 1280x720 (nothing larger exists), shown 1.5 to 2 times its size; a fine film grain keeps it from looking soft */
@media (min-width:1500px){.nxl3 .nxl3-bg--one .nxl3-bg__art::after{content:"";position:absolute;inset:0;opacity:.09;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}}
.nxl3 .nxl3-artcredit{margin:36px 0 0;font-size:var(--l3-fs-xs);color:var(--l3-text-3)}
.nxl3 .nxl3-topup{margin:32px 0 0;font-size:var(--l3-fs-sm,.9375rem);color:var(--l3-text-2,inherit)}.nxl3 .nxl3-topup a{color:inherit;text-decoration:underline;text-underline-offset:3px}.nxl3 .nxl3-topup+.nxl3-artcredit{margin-top:12px}
@media (max-width:767px){
.nxl3 .nxl3-bg::after,[dir=rtl] .nxl3 .nxl3-bg::after{background:linear-gradient(0deg,rgba(5,11,7,.8) 0%,rgba(5,11,7,.66) 50%,rgba(5,11,7,.57) 100%),linear-gradient(180deg,rgba(5,11,7,.4) 0%,rgba(5,11,7,0) 14%)}
.nxl3 .nxl3-bg--one .nxl3-bg__art img,.nxl3 .nxl3-bg__art--base img{filter:brightness(.7) saturate(1.12)}
.nxl3 .nxl3-bg__team img:nth-child(n+4){display:none}
.nxl3 .nxl3-bg--counters .nxl3-bg__art{flex-direction:column}
.nxl3 .nxl3-bg--counters .nxl3-bg__art img{block-size:auto;flex:1 1 0;inline-size:100%}
.nxl3 .nxl3-bg--runes .nxl3-bg__art:not(.nxl3-bg__art--base) img:nth-child(n+2){display:none}
}

/* ---------------------------------------------------------------- 2. Guides: visual cards (cover, kind, title, one line), a swipe row on phones */
.nxl3 .nxl3-gd__l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1099px){.nxl3 .nxl3-gd__l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.nxl3 .nxl3-gd__l{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--l3-gut));padding-inline:var(--l3-gut);padding-block-end:4px;scrollbar-width:none}.nxl3 .nxl3-gd__l::-webkit-scrollbar{display:none}.nxl3 .nxl3-gd__c{flex:0 0 80%;scroll-snap-align:start}}
.nxl3 .nxl3-gd__c{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;gap:6px;padding-block-end:16px;border:1px solid var(--l3-line);border-radius:var(--l3-r-lg);background:var(--l3-ink-1);overflow:hidden;transition:border-color var(--l3-t2),background var(--l3-t2)}
.nxl3 .nxl3-gd__c:hover{border-color:var(--l3-signal-edge);background:var(--l3-ink-2)}
.nxl3 .nxl3-gd__c:focus-within{outline:2px solid var(--l3-signal-hi);outline-offset:2px}
.nxl3 .nxl3-gd__m{display:block;margin-block-end:6px}
.nxl3 .nxl3-gd__m .nxl3-plate{border-radius:0}
@media (hover:hover){.nxl3 .nxl3-gd__c:hover .nxl3-plate img{transform:scale(1.04)}}
.nxl3 .nxl3-gd__k{padding-inline:16px;font-size:12.5px;font-weight:600;color:var(--l3-signal-hi)}
.nxl3 .nxl3-gd__c.is-lab .nxl3-gd__k{color:var(--l3-text-3)}
.nxl3 .nxl3-gd__t{padding-inline:16px;font:700 16.5px/1.35 var(--l3-display);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nxl3 .nxl3-gd__t::after{content:"";position:absolute;inset:0;z-index:1}
.nxl3 .nxl3-gd__t:focus-visible{outline:0}
.nxl3 .nxl3-gd__p{padding-inline:16px;font-size:13.5px;line-height:1.5;color:var(--l3-text-3)}
.nxl3 .nxl3-gd__lanes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-block-start:18px;font-size:13.5px;font-weight:600;color:var(--l3-text-3)}
.nxl3 .nxl3-gd__lanes ul{display:flex;flex-wrap:wrap;gap:6px}
.nxl3 .nxl3-gd__lanes .nxl3-chip{min-block-size:36px;font-size:13.5px}
.nxl3 .nxl3-two--faq{grid-template-columns:minmax(0,1fr);max-inline-size:880px}

/* ---------------------------------------------------------------- 3. tier list: the board first, a one-line legend, everything else at the end */
.nxl3 .nxp-ph{padding-block:10px 6px}
.nxl3 .nxp-tier>.nxp-board>.nxl3-sh{margin-block-start:14px}
.nxl3 .nxp-boardmeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-block:14px 8px}
.nxl3 .nxp-boardmeta .nxl3-gal__count{margin:0}
.nxl3 .nxp-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 7px;margin:0;font-size:12.5px;color:var(--l3-text-3)}
.nxl3 .nxp-legend a{margin-inline-start:8px;color:var(--l3-text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--l3-line-3)}
.nxl3 .nxp-legend a:hover{color:var(--l3-signal-hi)}
.nxl3 .nxp-legend__sep{inline-size:1px;block-size:12px;margin-inline:6px;background:var(--l3-line-2)}
.nxl3 .nxl3-badge--mini{min-block-size:18px;padding-inline:6px;gap:4px;font-size:11px;font-weight:600}
.nxl3 .nxl3-badge--mini::before{inline-size:5px;block-size:5px}
.nxl3 .nxl3-badge--estimate.nxl3-badge--mini::before{inline-size:6px;block-size:6px;border-width:1.2px}
.nxl3 .nxp-aboutblk{margin-block-start:12px}
.nxl3 .nxp-aboutblk .nxp-answer{max-inline-size:78ch;color:var(--l3-text-2);font-size:15px;line-height:1.65}
.nxl3 .nxp-about__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-block:14px 0;padding-block:12px;border-block:1px solid var(--l3-line)}
.nxl3 .nxp-about__grid{display:grid;gap:0 40px;align-items:start}
@media (min-width:1100px){.nxl3 .nxp-about__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.nxl3 .nxp-about__grid .nxp-src__grid{grid-template-columns:minmax(0,1fr)}}
.nxl3 .nxp-about__grid .nxl3-sh{margin-block:30px 12px}
.nxl3 .nxp-about__grid .nxl3-h2{font-size:var(--l3-fs-lg)}
.nxl3 .nxp-about__grid .nxl3-tbl{max-inline-size:none}
.nxl3 .nxp-about__grid .nxp-src__c{font-size:14px}
.nxl3 .nxp-about__grid .nxp-picks thead th{white-space:normal;vertical-align:bottom}
.nxl3 .nxp-about__grid .nxp-picks thead .nxl3-badge{display:flex;inline-size:fit-content;margin:4px 0 0}
.nxl3 .nxp-about__grid .nxp-picks thead th.is-num .nxl3-badge{margin-inline-start:auto}

/* ---------------------------------------------------------------- 4. draft helper: one compact console, reserved space for the board (no layout shift) */
.nxl3 .nxp-ph--draft{padding-block:10px 4px}
.nxl3 .nxp-ph--draft .nxl3-lead{margin-block-start:8px}
.nxl3 .nxp-ph--draft .nxl3-ph__meta{margin-block-start:10px}
.nxl3 .nxp-ph--draft .nxp-note{display:flex;align-items:flex-start;gap:7px;max-inline-size:72ch;font-size:12.5px;line-height:1.5;color:var(--l3-text-3)}
.nxl3 .nxp-ph--draft .nxp-note .nxl3-i{inline-size:14px;block-size:14px;margin-block-start:2px;color:var(--l3-text-3)}
.nxl3 .nxp-draft{gap:18px;margin-block-start:10px}
.nxl3 .nxp-console{border:1px solid var(--l3-line-2);border-radius:var(--l3-r-lg);background:rgba(9,17,13,.92)}
.nxl3 .nxp-console__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 0 16px}
[dir=rtl] .nxp-console__bar{padding:10px 16px 0 12px}
.nxl3 .nxp-console .rd2-steps{gap:4px 20px;font-size:13px}
.nxl3 .nxp-console .rd2-step b{inline-size:22px;block-size:22px;font-size:12px}
.nxl3 .nxp-console .rd2-step+.rd2-step::before{content:"";inline-size:18px;block-size:1px;margin-inline-end:4px;background:var(--l3-line-3)}
.nxl3 .nxp-console__tools{display:flex;align-items:center;gap:8px;flex:none}
.nxl3 .nxp-gtoggle{display:inline-flex;align-items:center;gap:6px;min-block-size:32px;padding-inline:11px 12px;border:1px solid var(--l3-line-2);border-radius:999px;background:transparent;color:var(--l3-text-2);font:600 13px/1 var(--l3-display);cursor:pointer;transition:border-color var(--l3-t1),color var(--l3-t1),background var(--l3-t1)}
.nxl3 .nxp-gtoggle:hover{border-color:var(--l3-signal-edge);color:var(--l3-signal-hi);background:var(--l3-signal-wash)}
.nxl3 .nxp-gtoggle__x{inline-size:14px;block-size:14px}
.nxl3 .nxp-gtoggle__show{display:none}
.nxl3 .nxp-console.is-guide-off .nxp-gtoggle__show{display:inline}
.nxl3 .nxp-console.is-guide-off .nxp-gtoggle__hide,.nxl3 .nxp-console.is-guide-off .nxp-gtoggle__x{display:none}
.nxl3 .nxp-console.is-guide-off .rd2,.nxl3 .nxp-console.is-guide-off .nxp-help,.nxl3 .nxp-console.is-guide-off .rd2-turn-main{display:none}
.nxl3 .nxp-console.is-guide-off .nxp-console__bar{justify-content:flex-end;padding-block-end:2px}
.nxl3 .nxp-help{display:inline-grid;place-items:center;inline-size:32px;block-size:32px;flex:none;border:1px solid var(--l3-line-2);border-radius:50%;background:transparent;color:var(--l3-text-2);font:800 15px/1 var(--l3-display);cursor:pointer;transition:border-color var(--l3-t1),color var(--l3-t1),background var(--l3-t1)}
.nxl3 .nxp-help:hover{border-color:var(--l3-signal-edge);color:var(--l3-signal-hi);background:var(--l3-signal-wash)}
.nxl3 .nxp-console .rd2-turn{padding:10px 16px 14px;border:0;border-radius:0;background:none}
.nxl3 .nxp-console .rd2-track{min-block-size:6px}
.nxl3 .nxp-draft .rl44-draft-stage{gap:12px}
.nxl3 .nxp-draft .rl44-draft-toolbar{align-items:center}
.nxl3 .nxp-draft .rl44-role-step{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.nxl3 .nxp-draft .rl44-role-step .nxp-h2{font-size:15px;font-weight:700}
.nxl3 .nxp-draft .rl44-role-buttons{margin:0;min-block-size:40px}
.nxl3 .nxp-draft .rl44-team-panel{padding:12px;gap:8px}
.nxl3 .nxp-draft .rl44-team-head p{font-size:12.5px}
.nxl3 .nxp-draft #rl-allies:empty,.nxl3 .nxp-draft #rl-enemies:empty{min-block-size:332px}
.nxl3 .nxp-draft .rd2-comp,.nxl3 .nxp-draft .rl45-analysis-grid{padding-block-start:18px}
.nxl3 .nxp-draft .rl45-analysis-grid{gap:18px 28px}
.nxl3 .nxp-draft .nxp-howto{margin-block-start:0}
@media (max-width:599px){.nxl3 .nxp-draft .rl44-role-buttons{min-block-size:78px;gap:6px}.nxl3 .nxp-draft .rl44-role-buttons button{min-block-size:36px;white-space:nowrap;padding-inline:10px;font-size:13px}.nxl3 .nxp-draft .rl44-team-grid{gap:6px}.nxl3 .nxp-draft .rl44-slot-trigger{min-block-size:48px;padding-block:4px}.nxl3 .nxp-draft .rl44-slot-image,.nxl3 .nxp-draft .rl44-slot-empty>:first-child{inline-size:36px;block-size:36px}.nxl3 .nxp-draft .rl44-slot-overlay b{font-size:14.5px}.nxl3 .nxp-draft .rl44-team-head p{display:none}.nxl3 .nxp-draft #rl-allies:empty,.nxl3 .nxp-draft #rl-enemies:empty{min-block-size:264px}.nxl3 .nxp-draft .rl45-optional-card>summary{min-block-size:52px;padding-block:8px}.nxl3 .nxp-draft .rl45-optional-card summary small{display:none}.nxl3 .nxp-console .rd2-steps{flex-wrap:nowrap;gap:6px;font-size:13px}.nxl3 .nxp-console .rd2-step+.rd2-step::before{inline-size:10px}.nxl3 .nxp-console .rd2-step:not(.is-active) span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.nxl3 .nxp-console .rd2-turn-actions{gap:6px}}

/* ---------------------------------------------------------------- responsive sweep 2026-10-27 (docs/RESPONSIVE_SWEEP_2026-10.md)
   1. a grid item holding a wide table (tier list "where the numbers come from", account value "how it is built") widened the whole column, so on 360-430 px phones
      the text ran past the right edge (clipped by the overflow clip of the page). Grid items may now shrink; the table wrapper scrolls inside itself.
   2. the sort control fits a 360 px phone (it was 7 px too wide) by wrapping.
   3. phones: nothing of the Lab is sticky except the bottom tab bar (the champion section tabs were still sticky), and tap targets reach 44 px. */
.nxl3 .nxp-about__grid>*,.nxl3 .nxl3s-how>*{min-inline-size:0}
.nxl3 .nxp-about__grid .nxl3-tbl,.nxl3 .nxl3s-how .nxl3-tbl{max-inline-size:100%}
@media (max-width:599px){
.nxl3 .nxl3-sort{flex-wrap:wrap;max-inline-size:100%}
}
@media (max-width:767px){
.nxl3 .rl49-champion-tabs{position:relative;inset-block-start:auto}
/* the later Lab sheets (shop, play, champion) set 32-40 px minimums with selectors of the same weight, so the 44 px rule is doubled to win without !important */
.nxl3.nxl3 .nxl3-chip.nxl3-chip,.nxl3.nxl3 .nxl3-seg__o.nxl3-seg__o,.nxl3.nxl3 .nxl3-more.nxl3-more,.nxl3.nxl3 .nxp-pick.nxp-pick,.nxl3.nxl3 .nxp-chip.nxp-chip,.nxl3.nxl3 .nxl3s-tlink.nxl3s-tlink,.nxl3.nxl3 .nxl3s-sk__buy.nxl3s-sk__buy,.nxl3.nxl3 .nxl3s-pg__a.nxl3s-pg__a,.nxl3.nxl3 .nxl3-skin__buy.nxl3-skin__buy,.nxl3.nxl3 .rgs-btn.rgs-btn,.nxl3.nxl3 .nxl3-btn.nxl3-btn,.nxl3.nxl3 .nxp-link.nxp-link,.nxl3.nxl3 .nxl3-gd__t.nxl3-gd__t,.nxl3.nxl3 .nxp-help.nxp-help,.nxl3.nxl3 .nxp-gtoggle.nxp-gtoggle,.nxl3.nxl3 .nxl3s-sk__zoom.nxl3s-sk__zoom,.nxl3.nxl3 .nxl3-sort button,.nxl3.nxl3 summary{min-block-size:44px}
.nxl3.nxl3 .nxl3-seg__o.nxl3-seg__o,.nxl3.nxl3 .nxl3-sort button,.nxl3.nxl3 .nxl3s-sk__zoom.nxl3s-sk__zoom,.nxl3.nxl3 .nxp-help.nxp-help,.nxl3.nxl3 .nxp-pick.nxp-pick{min-inline-size:44px}
.nxl3.nxl3 .nxl3-gd__t.nxl3-gd__t,.nxl3.nxl3 .nxp-link.nxp-link,.nxl3.nxl3 .nxl3-more.nxl3-more{display:inline-flex;align-items:center}
}
/* Lab audit 2026-10-30: every phone tap target is at least 40px. Whole classes, not single pages. */
@media (max-width:767px){
.nxl3.nxl3 .nxl3-seg__o,.nxl3.nxl3 .nxl3-patch,.nxl3.nxl3 .nxl3-chip,.nxl3.nxl3 .nxl3-sort button,.nxl3.nxl3 .rl44-role-buttons button,.nxl3.nxl3 .nxp-draft .rl44-role-buttons button,.nxl3.nxl3 .rl45-pool-modes button{min-block-size:40px}
.nxl3.nxl3 .nxl3-crumbs a,.nxl3.nxl3 .rl-detail-crumbs a,.nxl3.nxl3 .nxl3-also a,.nxl3.nxl3 .nxp-legend a,.nxl3.nxl3 .rl-ph-head a,.nxl3.nxl3 .rl-tile-text a{display:inline-flex;align-items:center;min-block-size:40px}
.nxl3.nxl3 .nxl3s-sk__m a,.nxl3.nxl3 .nxl3s-sk__n a{position:relative}
.nxl3.nxl3 .nxl3s-sk__m a::after,.nxl3.nxl3 .nxl3s-sk__n a::after{content:"";position:absolute;inset-inline:0;inset-block:-9px}
}
