/* Nexus Lab V3: the Wild Rift patch pages (api/lib/nexus_lab3_patch.php, docs/NEXUS_LAB_V3_PATCH_PLAN_2026-10.md). Page-level file after lab-v3-play.css.
   Order of the page = order of importance: hero (patch, date, live / next, Riot's notes), what changed (count cards), champions, items, runes, systems (card grids
   with filters), game modes (one folded line), what this means (links), timeline, FAQ, source. Scoped to .nxl3, logical properties only, nothing fixed or sticky. */
.nxl3 .nxl3pt{--pt-buff:var(--l3-signal);--pt-nerf:#FF8A94;--pt-adj:var(--l3-text-2);display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.nxl3 .nxl3pt-dir{display:inline-flex;align-items:center;block-size:22px;padding-inline:8px;border:1px solid var(--l3-line-2);border-radius:999px;font-size:12px;font-weight:700;color:var(--pt-adj);white-space:nowrap}
.nxl3 .nxl3pt-dir--buff{border-color:var(--l3-signal-edge);color:var(--pt-buff)}
.nxl3 .nxl3pt-dir--nerf{border-color:rgba(255,138,148,.45);color:var(--pt-nerf)}
.nxl3 .nxl3pt-ext{inline-size:14px;block-size:14px;opacity:.75}

/* ---------------------------------------------------------------- hero */
.nxl3 .nxl3pt-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:20px 40px;align-items:start;padding-block:6px 8px}
@media (min-width:900px){.nxl3 .nxl3pt-hero{grid-template-columns:minmax(0,1fr) auto}}
.nxl3 .nxl3pt-hero__txt{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-inline-size:76ch}
.nxl3 .nxl3pt-hero .nxl3-lead{margin:0;color:var(--l3-text-2);font-size:var(--l3-fs-lg);line-height:1.55}
.nxl3 .nxl3pt-facts{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--l3-text-2)}
.nxl3 .nxl3pt-facts li{display:inline-flex;align-items:center;gap:8px}
.nxl3 .nxl3pt-facts .nxl3-i{inline-size:16px;block-size:16px;color:var(--l3-text-3)}
.nxl3 .nxl3pt-facts .is-live{font-weight:700;color:var(--l3-text)}
.nxl3 .nxl3pt-pulse{inline-size:8px;block-size:8px;border-radius:50%;background:var(--l3-signal);box-shadow:0 0 0 4px var(--l3-signal-wash)}
.nxl3 .nxl3pt-hero__act{display:flex;flex-wrap:wrap;gap:10px}
.nxl3 .nxl3pt-num{display:none}
@media (min-width:900px){
.nxl3 .nxl3pt-num{display:grid;justify-items:end;align-content:center;gap:2px;min-inline-size:200px;padding:18px 24px;border:1px solid var(--l3-line-2);border-radius:var(--l3-r-lg);background:var(--l3-ink-1)}
.nxl3 .nxl3pt-num span{font-size:13px;font-weight:600;color:var(--l3-text-3)}
.nxl3 .nxl3pt-num b{font:800 72px/1 var(--l3-display);letter-spacing:-.03em;color:var(--l3-text);font-variant-numeric:tabular-nums}
}

/* ---------------------------------------------------------------- what changed */
.nxl3 .nxl3pt-sum{margin-block-start:28px}
.nxl3 .nxl3pt-sum ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.nxl3 .nxl3pt-sc{display:grid;gap:8px;block-size:100%;padding:16px 18px;border:1px solid var(--l3-line-2);border-radius:var(--l3-r-lg);background:var(--l3-ink-1);transition:border-color var(--l3-t1),background var(--l3-t1)}
.nxl3 .nxl3pt-sc:hover{border-color:var(--l3-signal-edge);background:var(--l3-ink-2)}
.nxl3 .nxl3pt-sc__k{font-size:13.5px;font-weight:600;color:var(--l3-text-2)}
.nxl3 .nxl3pt-sc__n{font:800 40px/1 var(--l3-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.nxl3 .nxl3pt-sc__s{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--l3-text-3)}
.nxl3 .nxl3pt-sc--q{border-style:dashed;background:transparent}
.nxl3 .nxl3pt-sc--q .nxl3pt-sc__n{color:var(--l3-text-2)}

/* ---------------------------------------------------------------- change grids */
.nxl3 .nxl3pt-list{scroll-margin-block-start:calc(var(--l3-hdr) + var(--l3-top) + 12px)}
.nxl3 .nxl3pt-fbar{display:grid;gap:8px;margin-block-end:14px}
.nxl3 .nxl3pt-fbar[hidden]{display:none}
.nxl3 .nxl3pt-fbar .nxl3-chips{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:699px){.nxl3 .nxl3pt-fbar .nxl3-chips{flex-wrap:nowrap;overflow-x:auto;padding-block-end:4px;scrollbar-width:none}}
.nxl3 .nxl3pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.nxl3 .nxl3pt-card{display:grid;align-content:start;gap:10px;padding:14px 16px;border:1px solid var(--l3-line);border-radius:var(--l3-r-lg);background:var(--l3-ink-1)}
.nxl3 .nxl3pt-card[hidden]{display:none}
.nxl3 .nxl3pt-card__h{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}
.nxl3 .nxl3pt-card .nxl3-plate{inline-size:44px;block-size:44px;border-radius:var(--l3-r-md)}
.nxl3 .nxl3pt-card__t h4{font-size:15.5px;font-weight:700;line-height:1.25}
.nxl3 .nxl3pt-card__t h4 a:hover{color:var(--l3-signal-hi);text-decoration:underline;text-underline-offset:3px}
.nxl3 .nxl3pt-card__t p{font-size:12.5px;color:var(--l3-text-3)}
.nxl3 .nxl3pt-lines{display:grid;gap:6px}
.nxl3 .nxl3pt-lines li{position:relative;padding-inline-start:12px;font-size:13.5px;line-height:1.45;color:var(--l3-text-2);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.nxl3 .nxl3pt-lines li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.6em;inline-size:4px;block-size:4px;border-radius:50%;background:var(--l3-line-3)}
.nxl3 .nxl3pt-card[data-dir=buff]{border-inline-start:2px solid var(--l3-signal-edge)}
.nxl3 .nxl3pt-card[data-dir=nerf]{border-inline-start:2px solid rgba(255,138,148,.5)}
.nxl3 .nxl3pt-more summary{display:inline-flex;align-items:center;gap:6px;min-block-size:32px;font-size:13px;font-weight:600;color:var(--l3-text-2);cursor:pointer;list-style:none}
.nxl3 .nxl3pt-more summary::-webkit-details-marker{display:none}
.nxl3 .nxl3pt-more summary:hover{color:var(--l3-text)}
.nxl3 .nxl3pt-more[open] summary{margin-block-end:6px}
.nxl3 .nxl3pt-more__i{inline-size:15px;block-size:15px;transition:transform var(--l3-t2)}
.nxl3 details[open]>summary .nxl3pt-more__i{transform:rotate(180deg)}
.nxl3 .nxl3pt-words{font-size:13px;color:var(--l3-text-3)}
.nxl3 .nxl3pt-words a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--l3-line-3)}
.nxl3 .nxl3pt-empty{display:grid;justify-items:start;gap:10px;padding:18px;border:1px dashed var(--l3-line-2);border-radius:var(--l3-r-lg);color:var(--l3-text-2)}
.nxl3 .nxl3pt-empty[hidden]{display:none}

/* ---------------------------------------------------------------- game modes, also */
.nxl3 .nxl3pt-tail{display:grid;gap:12px;margin-block-start:36px}
.nxl3 .nxl3pt-modes{border:1px solid var(--l3-line-2);border-radius:var(--l3-r-lg);background:var(--l3-ink-1);scroll-margin-block-start:calc(var(--l3-hdr) + var(--l3-top) + 12px)}
.nxl3 .nxl3pt-modes>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-block-size:54px;padding-inline:18px;font-weight:700;cursor:pointer;list-style:none}
.nxl3 .nxl3pt-modes>summary::-webkit-details-marker{display:none}
.nxl3 .nxl3pt-ml{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px 24px;padding:4px 18px 18px;border-block-start:1px solid var(--l3-line)}
.nxl3 .nxl3pt-ml>li{display:grid;gap:6px;padding-block-start:12px}
.nxl3 .nxl3pt-ml__n{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nxl3 .nxl3pt-also{font-size:14px;color:var(--l3-text-2)}
.nxl3 .nxl3pt-also b{color:var(--l3-text)}

/* ---------------------------------------------------------------- what this means */
.nxl3 .nxl3pt-tools{display:grid;gap:10px}
@media (min-width:900px){.nxl3 .nxl3pt-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}
.nxl3 .nxl3pt-tools a{display:flex;align-items:center;gap:14px;block-size:100%;padding:14px 16px;border:1px solid var(--l3-line);border-radius:var(--l3-r-lg);transition:border-color var(--l3-t1),background var(--l3-t1)}
.nxl3 .nxl3pt-tools a:hover{border-color:var(--l3-line-3);background:var(--l3-ink-1)}
.nxl3 .nxl3pt-tools a>.nxl3-i:first-child{inline-size:22px;block-size:22px;color:var(--l3-signal)}
.nxl3 .nxl3pt-tools span{display:grid;gap:3px;flex:1}
.nxl3 .nxl3pt-tools small{font-size:12.5px;color:var(--l3-text-3)}
.nxl3 .nxl3pt-means__k{margin-block:20px 10px;font-size:13.5px;font-weight:600;color:var(--l3-text-2)}
.nxl3 .nxl3pt-champs{display:flex;flex-wrap:wrap;gap:6px}
.nxl3 .nxl3pt-champs a{display:inline-flex;align-items:center;gap:8px;min-block-size:36px;padding-inline:12px;border:1px solid var(--l3-line-2);border-radius:999px;font-size:13.5px;font-weight:600;color:var(--l3-text-2)}
.nxl3 .nxl3pt-champs a:hover{border-color:var(--l3-line-3);color:var(--l3-text)}
.nxl3 .nxl3pt-dot{inline-size:7px;block-size:7px;border-radius:50%;background:var(--pt-adj)}
.nxl3 .nxl3pt-dot--buff{background:var(--pt-buff)}.nxl3 .nxl3pt-dot--nerf{background:var(--pt-nerf)}

/* ---------------------------------------------------------------- timeline */
.nxl3 .nxl3pt-tl__l0{display:grid;border:1px solid var(--l3-line);border-radius:var(--l3-r-lg);overflow:hidden}
.nxl3 .nxl3pt-tl__l0>li{display:grid;grid-template-columns:72px 120px minmax(0,1fr) auto;align-items:center;gap:8px 16px;min-block-size:52px;padding:8px 16px}
.nxl3 .nxl3pt-tl__l0>li+li{border-block-start:1px solid var(--l3-line)}
.nxl3 .nxl3pt-tl__l0>li.is-here{background:var(--l3-signal-wash)}
.nxl3 .nxl3pt-tl__p{font:800 18px/1 var(--l3-display);font-variant-numeric:tabular-nums}
.nxl3 .nxl3pt-tl__d{font-size:13px;color:var(--l3-text-3)}
.nxl3 .nxl3pt-tl__n{display:flex;flex-wrap:wrap;gap:6px}
.nxl3 .nxl3pt-tl__l{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;font-size:13.5px;font-weight:600}
.nxl3 .nxl3pt-tl__l a{color:var(--l3-text-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--l3-line-3)}
.nxl3 .nxl3pt-tl__l a:hover{color:var(--l3-signal-hi);text-decoration-color:var(--l3-signal)}
.nxl3 .nxl3pt-here{color:var(--l3-signal)}
.nxl3 .nxl3pt-older{margin-block-start:10px}
.nxl3 .nxl3pt-older>summary{display:inline-flex;align-items:center;gap:8px;min-block-size:40px;font-size:14px;font-weight:600;color:var(--l3-text-2);cursor:pointer;list-style:none}
.nxl3 .nxl3pt-older>summary::-webkit-details-marker{display:none}
.nxl3 .nxl3pt-older[open]>summary{margin-block-end:8px}
@media (max-width:699px){
.nxl3 .nxl3pt-tl__l0>li{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"p d l" "n n n";padding:10px 14px}
.nxl3 .nxl3pt-tl__p{grid-area:p}.nxl3 .nxl3pt-tl__d{grid-area:d}.nxl3 .nxl3pt-tl__n{grid-area:n}.nxl3 .nxl3pt-tl__l{grid-area:l}
.nxl3 .nxl3pt-sc__n{font-size:32px}
.nxl3 .nxl3pt-grid{grid-template-columns:minmax(0,1fr)}
}

/* ---------------------------------------------------------------- source */
.nxl3 .nxl3pt-src{display:grid;gap:8px;margin-block-start:36px;padding:18px 20px;border:1px solid var(--l3-line-2);border-radius:var(--l3-r-lg);background:var(--l3-ink-1);font-size:14px;color:var(--l3-text-2);max-inline-size:860px}
.nxl3 .nxl3pt-src__h{display:flex;align-items:center;gap:10px;font:800 var(--l3-fs-lg)/1.2 var(--l3-display);color:var(--l3-text)}
.nxl3 .nxl3pt-src__h .nxl3-i{color:var(--l3-signal)}
.nxl3 .nxl3pt-src a{display:inline-flex;align-items:center;gap:6px;color:var(--l3-text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--l3-signal-edge)}
/* 2026-10-30 patch numbers (api/lib/patch_numbers.php): number chips, one row per rank, a heading per direction. Logical properties only (RTL safe). */
.nxl3 .pnum{display:inline-block;padding-inline:.4em;padding-block:.05em;border:1px solid var(--l3-line);border-radius:6px;background:var(--l3-ink-2);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.35;white-space:nowrap;unicode-bidi:isolate}
.nxl3 .pnum--old{color:var(--l3-text-3);text-decoration:line-through;text-decoration-thickness:1px}
.nxl3 .pnum-pair--buff .pnum--new{color:var(--pt-buff)}
.nxl3 .pnum-pair--nerf .pnum--new{color:var(--pt-nerf)}
.nxl3 .pnum-ar{font-style:normal;margin-inline:.35em;color:var(--l3-text-3)}
.nxl3 .pnum-ar:empty::before{content:"\2192"}
.nxl3 .pnum-sr{position:absolute;inline-size:1px;block-size:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nxl3 .pnum-lab{font-weight:600;color:var(--l3-text)}
.nxl3 .pnum-rk{display:grid;gap:4px;margin-block-start:4px}
.nxl3 .pnum-rk__r{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.nxl3 .pnum-rk__l{min-inline-size:5.5em;font-size:12px;color:var(--l3-text-3)}
.nxl3 .pnum-sec{display:grid;gap:10px;margin-block-end:18px}
.nxl3 .pnum-sec[hidden]{display:none}
.nxl3 .pnum-sec__h{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;line-height:1.3}
.nxl3 .pnum-sec--buff .pnum-sec__h{color:var(--pt-buff)}
.nxl3 .pnum-sec--nerf .pnum-sec__h{color:var(--pt-nerf)}
.nxl3 .pnum-sec__n{font-size:12px;font-weight:600}
.nxl3 .pnum-new{display:flex;flex-wrap:wrap;gap:8px}
.nxl3 .pnum-new li{padding:6px 12px;border:1px solid var(--l3-signal-edge);border-radius:999px;background:var(--l3-signal-wash);font-weight:600}
