/* tools-embed.css — SELF-CONTAINED styling for a tool embedded inside an article.
   Scoped entirely under .lab-embed (no dependency on the .lab page theme). Uses
   translucent overlays over the host site's own surface + inherits the site's text
   colour, so the block reads as an intentional part of the article on the dark
   casino themes. Chart colours are a fixed, legible data palette. */

.lab-embed {
    --te-teal: #2fd4bf; --te-amber: #f6b53f; --te-blue: #64a6ff; --te-rose: #ff6f6f;
    --te-surface: rgba(255, 255, 255, .035);
    --te-surface2: rgba(255, 255, 255, .06);
    --te-rule: rgba(255, 255, 255, .11);
    --te-rule2: rgba(255, 255, 255, .18);
    --te-muted: rgba(255, 255, 255, .62);
    --te-faint: rgba(255, 255, 255, .44);
    --te-mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace;
    display: block; width: 100%; clear: both; box-sizing: border-box;
    margin: 30px 0; border: 1px solid var(--te-rule); border-radius: 18px;
    background: var(--te-surface); color: inherit; overflow: hidden;
    font-family: inherit;
}
.lab-embed * { box-sizing: border-box; }

/* head */
.lab-embed .lab-tool-head { padding: 20px 22px 4px; }
.lab-embed .lab-kicker { margin: 0; font: 600 11px/1 var(--te-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--te-teal); }
.lab-embed .lab-tool-head h2 { font-size: clamp(19px, 1.4vw + 14px, 25px); line-height: 1.2; margin: 10px 0 7px; color: inherit; }
.lab-embed .lab-tool-head p:not(.lab-kicker) { margin: 0; color: var(--te-muted); max-width: 68ch; font-size: 14.5px; line-height: 1.55; }

/* input/output grid */
.lab-embed .lab-grid { display: grid; grid-template-columns: 300px 1fr; gap: 1px; margin-top: 16px; background: var(--te-rule); border-top: 1px solid var(--te-rule); }
.lab-embed .lab-grid > * { background: color-mix(in srgb, var(--te-surface) 100%, #0000); }
.lab-embed .lab-inputs, .lab-embed .lab-output { padding: 18px 20px; background: rgba(255, 255, 255, .015); }
.lab-embed .lab-fields { display: grid; gap: 12px; }
.lab-embed .lab-field { display: grid; gap: 5px; }
.lab-embed .lab-field label { font-size: 12px; color: var(--te-faint); letter-spacing: .01em; }
.lab-embed .lab-input { width: 100%; padding: 9px 11px; border: 1px solid var(--te-rule); border-radius: 9px; background: rgba(255, 255, 255, .04); color: inherit; font: 500 14px/1.2 var(--te-mono); }

/* metrics */
.lab-embed .lab-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.lab-embed .lab-metric { background: var(--te-surface2); border: 1px solid var(--te-rule); border-radius: 11px; padding: 12px 14px; }
.lab-embed .lab-metric span { display: block; font-size: 11.5px; color: var(--te-faint); margin-bottom: 5px; }
.lab-embed .lab-metric strong { font: 600 18px/1.1 var(--te-mono); color: inherit; letter-spacing: -.01em; }
.lab-embed .lab-metric.is-good strong { color: var(--te-teal); }
.lab-embed .lab-metric.is-warn strong { color: var(--te-amber); }
.lab-embed .lab-metric.is-bad strong { color: var(--te-rose); }

/* chart */
.lab-embed .lab-chart-wrap { padding: 4px 20px 6px; }
.lab-embed .lab-output .lab-chart-wrap { padding: 14px 0 0; }
.lab-embed .lab-chart-top { margin: 10px 0 6px; }
.lab-embed .lab-chart-title { font: 600 11.5px/1 var(--te-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--te-faint); }
.lab-embed .lab-chart { display: block; width: 100%; height: auto; }
.lab-embed .lab-chart text { font-family: var(--te-mono); fill: var(--te-faint); }
.lab-embed .lab-chart .axis { stroke: var(--te-rule2); stroke-width: 1; }
.lab-embed .lab-chart .gridline { stroke: var(--te-rule); stroke-width: 1; stroke-dasharray: 2 4; opacity: .7; }
.lab-embed .lab-chart .series-teal { stroke: var(--te-teal); }
.lab-embed .lab-chart .series-amber { stroke: var(--te-amber); }
.lab-embed .lab-chart .series-blue { stroke: var(--te-blue); }
.lab-embed .lab-chart .series-rose { stroke: var(--te-rose); }
.lab-embed .lab-chart .fill-band { fill: rgba(47, 212, 191, .16); }
.lab-embed .lab-chart .fill-band-2 { fill: rgba(47, 212, 191, .08); }
.lab-embed .lab-chart .fill-k1 { fill: var(--te-teal); }
.lab-embed .lab-chart .fill-k2 { fill: var(--te-amber); }
.lab-embed .lab-chart .fill-k3 { fill: var(--te-blue); }
.lab-embed .lab-chart .fill-kr { fill: var(--te-rose); }
.lab-embed .lab-chart .chart-val { fill: rgba(255, 255, 255, .92); }
.lab-embed .lab-chart .chart-inv { fill: #0c1116; }
.lab-embed .lab-chart-note { margin: 6px 0 0; font-size: 12px; color: var(--te-faint); line-height: 1.5; }

/* data table */
.lab-embed .lab-data { padding: 12px 20px 18px; }
.lab-embed .lab-table-scroll { overflow-x: auto; border: 1px solid var(--te-rule); border-radius: 12px; }
.lab-embed .lab-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.lab-embed .lab-table th, .lab-embed .lab-table td { padding: 10px 13px; text-align: left; border-bottom: 1px solid var(--te-rule); white-space: nowrap; }
.lab-embed .lab-table thead th { font: 600 11px/1 var(--te-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--te-faint); background: rgba(255, 255, 255, .03); }
.lab-embed .lab-table tbody tr:last-child td { border-bottom: 0; }
.lab-embed .lab-table tbody tr:hover { background: rgba(255, 255, 255, .03); }
.lab-embed .lab-table td.num, .lab-embed .lab-table th.num { font-family: var(--te-mono); font-variant-numeric: tabular-nums; text-align: right; }
.lab-embed .lab-vol { display: inline-flex; gap: 3px; }
.lab-embed .lab-vol b { width: 8px; height: 8px; border-radius: 2px; background: var(--te-rule2); }
.lab-embed .lab-vol b.on { background: var(--te-amber); }
.lab-embed .lab-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* misc */
.lab-embed .lab-note { margin: 10px 20px 16px; font-size: 12.5px; color: var(--te-faint); line-height: 1.5; }
.lab-embed .lab-note strong { color: var(--te-muted); }
.lab-embed a { color: var(--te-teal); }

@media (max-width: 720px) {
    .lab-embed .lab-grid { grid-template-columns: 1fr; }
    .lab-embed .lab-metrics { grid-template-columns: 1fr 1fr; }
}

/* ---- interactive controls (live calculators via tools-core.js) ---- */
.lab-embed .lab-inputs-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: end; padding: 16px 20px; border-top: 1px solid var(--te-rule); }
.lab-embed .lab-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 15px; border: 1px solid var(--te-rule2); border-radius: 9px; background: transparent; color: inherit; font: 600 13px/1 inherit; cursor: pointer; transition: background .15s, border-color .15s, transform .1s; }
.lab-embed .lab-btn:hover { border-color: var(--te-teal); color: var(--te-teal); }
.lab-embed .lab-btn-primary { background: var(--te-teal); border-color: var(--te-teal); color: #052620; }
.lab-embed .lab-btn-primary:hover { background: #46e2ce; color: #052620; transform: translateY(-1px); }
.lab-embed .lab-action { width: 100%; margin-top: 4px; }
.lab-embed .lab-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 3px; border: 1px solid var(--te-rule); border-radius: 10px; background: rgba(255,255,255,.03); }
.lab-embed .lab-seg button { padding: 7px 12px; border: 0; border-radius: 7px; background: transparent; color: var(--te-muted); font: 500 12.5px/1 inherit; cursor: pointer; transition: background .15s, color .15s; }
.lab-embed .lab-seg button[aria-pressed="true"] { background: var(--te-teal); color: #052620; font-weight: 600; }
.lab-embed .lab-seg button:hover:not([aria-pressed="true"]) { color: inherit; }
.lab-embed .lab-select { width: 100%; padding: 9px 11px; border: 1px solid var(--te-rule); border-radius: 9px; background: rgba(255,255,255,.04); color: inherit; font: 500 14px/1.2 inherit; }
.lab-embed .lab-select:hover { border-color: var(--te-rule2); }
.lab-embed .lab-check { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--te-muted); cursor: pointer; margin: 2px 0; }
.lab-embed .lab-check input { width: 16px; height: 16px; accent-color: var(--te-teal); }
.lab-embed .lab-verdict { display: inline-flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 8px 13px; border: 1px solid var(--te-rule); border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--te-muted); }
.lab-embed .lab-verdict::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.lab-embed .lab-verdict.is-good { color: var(--te-teal); border-color: rgba(47,212,191,.4); }
.lab-embed .lab-verdict.is-warn { color: var(--te-amber); border-color: rgba(246,181,63,.4); }
.lab-embed .lab-verdict.is-bad { color: var(--te-rose); border-color: rgba(255,111,111,.4); }
.lab-embed .lab-legend { display: flex; gap: 14px; flex-wrap: wrap; }
.lab-embed .lab-legend span { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--te-muted); }
.lab-embed .lab-legend i { width: 12px; height: 3px; border-radius: 2px; display: inline-block; }
.lab-embed .k-teal { background: var(--te-teal); } .lab-embed .k-amber { background: var(--te-amber); }
.lab-embed .k-blue { background: var(--te-blue); } .lab-embed .k-rose { background: var(--te-rose); }
.lab-embed .lab-legend .k-band { background: linear-gradient(90deg, rgba(47,212,191,.5), rgba(47,212,191,.15)); height: 10px; }
.lab-embed .lab-range { display: inline-flex; gap: 3px; }
.lab-embed .lab-range button { padding: 5px 10px; border: 1px solid var(--te-rule); border-radius: 7px; background: transparent; color: var(--te-muted); font: 500 11.5px/1 inherit; cursor: pointer; }
.lab-embed .lab-range button[aria-pressed="true"] { background: rgba(255,255,255,.06); color: var(--te-teal); }
.lab-embed .lab-chart-host { width: 100%; }
.lab-embed .lab-timeline { margin-top: 16px; }
.lab-embed .lab-tl-bar { display: flex; height: 34px; border-radius: 8px; overflow: hidden; border: 1px solid var(--te-rule); }
.lab-embed .lab-tl-seg { display: flex; align-items: center; justify-content: center; font: 600 11px/1 var(--te-mono); color: #052620; }
.lab-embed .lab-tl-seg.s1 { background: var(--te-teal); }
.lab-embed .lab-tl-seg.s2 { background: var(--te-amber); color: #2a1c00; }
.lab-embed .lab-tl-scale { display: flex; justify-content: space-between; margin-top: 6px; font: 500 11px/1 var(--te-mono); color: var(--te-faint); }
.lab-embed .lab-tl-key { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 12px; }
.lab-embed .lab-tl-key span { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--te-muted); }
.lab-embed .lab-tl-key i { width: 12px; height: 12px; border-radius: 3px; }
.lab-embed .lab-tl-key .s1 { background: var(--te-teal); } .lab-embed .lab-tl-key .s2 { background: var(--te-amber); }
.lab-embed .lab-bar { position: relative; min-width: 110px; }
.lab-embed .lab-bar i { display: block; height: 6px; border-radius: 3px; background: var(--te-teal); opacity: .85; }
.lab-embed .lab-bar.k-amber i { background: var(--te-amber); }
.lab-embed .lab-pill { display: inline-block; padding: 3px 9px; border: 1px solid var(--te-rule); border-radius: 999px; font-size: 11px; font-weight: 600; color: var(--te-muted); }
.lab-embed .lab-pill.yes { color: var(--te-teal); border-color: rgba(47,212,191,.35); }
.lab-embed .lab-pill.no { color: var(--te-faint); }
.lab-embed .lab-data-head { margin: 0 0 8px; }
.lab-embed .lab-data-head h3 { margin: 0; font-size: 14px; color: var(--te-muted); font-weight: 600; }
.lab-embed .lab-subtle { color: var(--te-faint); font-size: 12px; }
.lab-embed .lab-table caption { text-align: left; padding: 10px 13px; color: var(--te-faint); font-size: 12px; border-bottom: 1px solid var(--te-rule); }
.lab-embed .lab-table .rank { color: var(--te-faint); font-family: var(--te-mono); }
.lab-embed .lab-facts { list-style: none; padding: 0; margin: 6px 0 0; display: grid; gap: 9px; }
.lab-embed .lab-facts li { position: relative; padding-left: 20px; font-size: 13.5px; color: var(--te-muted); line-height: 1.5; }
.lab-embed .lab-facts li::before { content: "\2192"; position: absolute; left: 0; color: var(--te-teal); }
.lab-embed .lab-eyebrow { font: 600 11px/1 var(--te-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--te-teal); }
.lab-embed .lab-prov-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; }
.lab-embed .lab-prov-grid button { padding: 8px 4px; border: 1px solid var(--te-rule); border-radius: 8px; background: transparent; color: var(--te-muted); font: 600 12px/1 var(--te-mono); cursor: pointer; }
.lab-embed .lab-prov-grid button[aria-pressed="true"] { background: var(--te-teal); color: #052620; border-color: var(--te-teal); }
.lab-embed .lab-prov-grid button:hover:not([aria-pressed="true"]) { border-color: var(--te-teal); color: inherit; }
.lab-embed .lab-prov-out { margin-top: 4px; }
.lab-embed .lab-prov-out dl { display: grid; gap: 1px; margin: 0; }
.lab-embed .lab-prov-out dt { background: var(--te-surface2); padding: 9px 13px 3px; color: var(--te-faint); font-size: 12px; }
.lab-embed .lab-prov-out dd { background: var(--te-surface); padding: 3px 13px 10px; margin: 0; font-size: 13.5px; }

/* ---- interactive slot scatter (animated bubbles + hover tooltip) ---- */
.lab-embed .lab-scatter-host { position: relative; }
.lab-embed .lab-chart-top { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.lab-embed .lab-chart-hint { margin-left: auto; font-size: 11px; color: var(--te-faint); }
.lab-embed .lab-chart circle.slot-pt { transform-box: fill-box; transform-origin: center; animation: labSlotPop .5s cubic-bezier(.2,.7,.2,1) backwards; transition: fill .35s, fill-opacity .35s, stroke .35s, stroke-opacity .35s, opacity .35s, transform .18s ease; cursor: pointer; }
.lab-embed .lab-chart circle.slot-pt.hot { transform: scale(1.32); }
@keyframes labSlotPop { from { transform: scale(0); opacity: 0; } to { transform: scale(1); } }
.lab-embed .lab-chart circle.slot-leader-ring { transition: stroke .35s, opacity .35s; pointer-events: none; }
.lab-embed .lab-chart text.slot-leader-lbl { transition: fill .35s, opacity .35s; pointer-events: none; font-weight: 600; }
.lab-embed .slot-tip { position: absolute; transform: translate(-50%, -118%); background: #0b1119; border: 1px solid rgba(255, 255, 255, .16); border-radius: 10px; padding: 8px 11px; pointer-events: none; opacity: 0; transition: opacity .14s; white-space: nowrap; z-index: 6; box-shadow: 0 8px 26px -10px rgba(0, 0, 0, .75); }
.lab-embed .slot-tip.on { opacity: 1; }
.lab-embed .slot-tip b { display: block; color: #fff; font-size: 12.5px; margin-bottom: 3px; }
.lab-embed .slot-tip span { display: block; color: rgba(255, 255, 255, .6); font-size: 11px; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) {
    .lab-embed .lab-chart circle.slot-pt { animation: none; transition: fill .2s, opacity .2s; }
    .lab-embed .lab-chart circle.slot-leader-ring { transition: opacity .2s; }
    .lab-embed .lab-chart circle.slot-pt.hot { transform: none; }
}
/* weekend / holiday timeline segment (#14 withdrawal) */
.lab-embed .lab-tl-seg.s3 { background: var(--te-blue); color: #041226; }
.lab-embed .lab-tl-key .s3 { background: var(--te-blue); }
/* per-site layout variants driven by data-layout (real anti-footprint variation) */
.lab-embed[data-layout="b"] .lab-inputs { order: 2; }
.lab-embed[data-layout="b"] .lab-output { order: 1; }
.lab-embed[data-layout="c"] .lab-grid { grid-template-columns: 1fr; }
.lab-embed[data-layout="d"] .lab-metrics { grid-template-columns: 1fr; }
@media (max-width: 720px) { .lab-embed[data-layout="d"] .lab-metrics { grid-template-columns: 1fr 1fr; } }

/* ===== related-links 50 designs (auto-extracted from galleries, rescoped .vN->.lab-rl-dN) ===== */
.lab-related{--teal:#2fd4bf;--amber:#f6b53f;--blue:#6aa8ff;--violet:#9b8cff;--rose:#ff6f6f;--surface:rgba(255,255,255,.035);--surface2:rgba(255,255,255,.055);--rule:rgba(255,255,255,.10);--rule2:rgba(255,255,255,.18);--muted:rgba(255,255,255,.60);--faint:rgba(255,255,255,.42);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--bg2:rgba(255,255,255,.025);display:block;width:min(1180px,calc(100% - 24px));max-width:100%;clear:both;box-sizing:border-box;margin:34px auto}
.lab-related *{box-sizing:border-box}
/* shared block chrome */
  .lab-related{--acc:var(--teal);display:block;width:100%;color:inherit;font-family:inherit}
.lab-related .ey{font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0}
.lab-related h4{margin:7px 0 0;font-size:19px;line-height:1.2;letter-spacing:-.01em}
.lab-related .cat{font:600 10px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
/* ---- V1 card grid ---- */
  .lab-rl-d1 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:16px}
.lab-rl-d1 .card{display:flex;flex-direction:column;gap:6px;padding:14px 15px;border:1px solid var(--rule);border-radius:13px;background:var(--surface2);text-decoration:none;transition:border-color .16s,transform .16s,background .16s}
.lab-rl-d1 .card:hover{border-color:var(--rule2);background:rgba(255,255,255,.085);transform:translateY(-2px)}
.lab-rl-d1 .card strong{font-size:15px}
.lab-rl-d1 .card em{font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.45}
.lab-rl-d1 .card b{margin-top:2px;font:600 12px/1 var(--mono);color:var(--teal)}
/* ---- V2 ledger rows ---- */
  .lab-rl-d2 .rows{margin-top:14px;border-top:1px solid var(--rule)}
.lab-rl-d2 .row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:16px;padding:13px 4px;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .15s;position:relative}
.lab-rl-d2 .row:hover{background:rgba(255,255,255,.03)}
.lab-rl-d2 .row .cat{align-self:center}
.lab-rl-d2 .row strong{font-size:15.5px;font-weight:600}
.lab-rl-d2 .row em{font-style:normal;color:var(--muted);font-size:13px;display:block;margin-top:2px}
.lab-rl-d2 .row .go{color:var(--faint);font:600 13px/1 var(--mono);transition:color .15s,transform .15s}
.lab-rl-d2 .row:hover .go{color:var(--teal);transform:translateX(3px)}
@media(max-width:560px){.lab-rl-d2 .row{grid-template-columns:1fr auto}.lab-rl-d2 .row .cat{grid-column:1;order:-1}}
/* ---- V3 chips ---- */
  .lab-rl-d3 .chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.lab-rl-d3 .chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--rule);border-radius:22px;background:var(--surface2);text-decoration:none;font-size:14px;font-weight:550;transition:border-color .15s,background .15s,color .15s}
.lab-rl-d3 .chip svg{width:13px;height:13px;opacity:.6;transition:opacity .15s}
.lab-rl-d3 .chip:hover{border-color:rgba(47,212,191,.5);background:rgba(47,212,191,.1);color:#bff4ec}
.lab-rl-d3 .chip:hover svg{opacity:1}
/* ---- V4 left-rail accent ---- */
  .lab-rl-d4 .list{display:grid;gap:10px;margin-top:16px}
.lab-rl-d4 .it{display:flex;gap:14px;align-items:flex-start;padding:12px 15px 12px 14px;border:1px solid var(--rule);border-left:3px solid var(--acc);border-radius:0 11px 11px 0;background:var(--surface);text-decoration:none;transition:background .15s,transform .15s}
.lab-rl-d4 .it:hover{background:rgba(255,255,255,.05);transform:translateX(3px)}
.lab-rl-d4 .it .tx strong{font-size:15.5px}
.lab-rl-d4 .it .tx em{font-style:normal;display:block;color:var(--muted);font-size:13px;margin-top:2px}
.lab-rl-d4 .it .arw{margin-left:auto;color:var(--acc);font:600 15px/1 var(--mono);align-self:center}
/* ---- V5 editorial 2-col ---- */
  .lab-rl-d5 .cols{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;margin-top:20px}
@media(max-width:600px){.lab-rl-d5 .cols{grid-template-columns:1fr;gap:20px}}
.lab-rl-d5 .ed{text-decoration:none;display:block;border-bottom:1px solid transparent;transition:border-color .18s}
.lab-rl-d5 .ed .cat{color:var(--acc)}
.lab-rl-d5 .ed h5{margin:8px 0 5px;font-size:20px;line-height:1.15;letter-spacing:-.01em;font-weight:600;transition:color .18s}
.lab-rl-d5 .ed p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.lab-rl-d5 .ed:hover h5{color:var(--teal)}
.lab-rl-d5 .ed:hover{border-color:var(--rule)}
/* ---- V6 icon tiles ---- */
  .lab-rl-d6 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:16px}
.lab-rl-d6 .tile{display:flex;gap:13px;align-items:flex-start;padding:15px;border:1px solid var(--rule);border-radius:14px;background:var(--surface2);text-decoration:none;transition:border-color .16s,transform .16s}
.lab-rl-d6 .tile:hover{border-color:var(--rule2);transform:translateY(-2px)}
.lab-rl-d6 .ic{flex:0 0 38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.lab-rl-d6 .ic svg{width:19px;height:19px;color:var(--acc)}
.lab-rl-d6 .tile strong{font-size:15px;display:block}
.lab-rl-d6 .tile em{font-style:normal;color:var(--muted);font-size:12.5px;line-height:1.4;display:block;margin-top:3px}
/* ---- V7 minimal underline ---- */
  .lab-rl-d7 .stack{margin-top:14px;display:grid;gap:2px}
.lab-rl-d7 .ln{display:flex;align-items:baseline;gap:14px;padding:11px 2px;text-decoration:none;border-bottom:1px solid var(--rule)}
.lab-rl-d7 .ln:last-child{border-bottom:0}
.lab-rl-d7 .ln .t{font-size:16px;position:relative}
.lab-rl-d7 .ln .t::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--teal);transition:right .22s ease}
.lab-rl-d7 .ln:hover .t::after{right:0}
.lab-rl-d7 .ln .d{color:var(--faint);font-size:13px;margin-left:auto;text-align:right}
@media(max-width:560px){.lab-rl-d7 .ln{flex-direction:column;gap:3px}.lab-rl-d7 .ln .d{margin-left:0;text-align:left}}
/* ---- V8 split feature ---- */
  .lab-rl-d8 .split{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-top:16px}
@media(max-width:640px){.lab-rl-d8 .split{grid-template-columns:1fr}}
.lab-rl-d8 .feat{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--rule);border-radius:16px;text-decoration:none;
    background:linear-gradient(150deg,rgba(47,212,191,.12),rgba(47,212,191,.02));transition:border-color .16s}
.lab-rl-d8 .feat:hover{border-color:rgba(47,212,191,.5)}
.lab-rl-d8 .feat h5{margin:9px 0 6px;font-size:23px;line-height:1.12;letter-spacing:-.015em}
.lab-rl-d8 .feat p{margin:0;color:var(--muted);font-size:14px}
.lab-rl-d8 .feat .go{font:600 13px/1 var(--mono);color:var(--teal)}
.lab-rl-d8 .mini{display:grid;gap:8px}
.lab-rl-d8 .m{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--rule);border-radius:11px;background:var(--surface);text-decoration:none;transition:background .15s}
.lab-rl-d8 .m:hover{background:rgba(255,255,255,.05)}
.lab-rl-d8 .m strong{font-size:14px;font-weight:600}
.lab-rl-d8 .m .cat{margin-left:auto}
/* ---- V9 boxed panel w/ header ---- */
  .lab-rl-d9 .panel{margin-top:16px;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:var(--surface)}
.lab-rl-d9 .phead{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--rule);background:rgba(255,255,255,.02)}
.lab-rl-d9 .phead .ttl{font-size:14px;font-weight:650}
.lab-rl-d9 .phead .badge{margin-left:auto;font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(47,212,191,.3);border-radius:20px;padding:5px 9px}
.lab-rl-d9 .pbody{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule)}
@media(max-width:560px){.lab-rl-d9 .pbody{grid-template-columns:1fr}}
.lab-rl-d9 .pi{display:flex;flex-direction:column;gap:4px;padding:14px 18px;background:var(--bg2);text-decoration:none;transition:background .15s}
.lab-rl-d9 .pi:hover{background:rgba(255,255,255,.03)}
.lab-rl-d9 .pi strong{font-size:15px}
.lab-rl-d9 .pi em{font-style:normal;color:var(--muted);font-size:12.5px}
/* ---- V10 keep-reading strip ---- */
  .lab-rl-d10 .strip{margin-top:15px;padding:16px 18px;border:1px solid var(--rule);border-radius:13px;background:var(--surface);display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.lab-rl-d10 .strip .lead{font:600 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-right:4px}
.lab-rl-d10 .strip a{text-decoration:none;font-size:14.5px;font-weight:550;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}
.lab-rl-d10 .strip a:hover{color:var(--teal);border-color:rgba(47,212,191,.4)}
.lab-rl-d10 .strip .dot{color:var(--faint);user-select:none}
.lab-related h4{margin:7px 0 0;font-size:18px;line-height:1.2;letter-spacing:-.01em}
.lab-related em{font-style:normal}
/* 11 hscroll carousel */
  .lab-rl-d11 .track{display:flex;gap:12px;margin-top:15px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.lab-rl-d11 .c{flex:0 0 232px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid var(--rule);border-radius:13px;background:var(--surface2);text-decoration:none;transition:border-color .15s}
.lab-rl-d11 .c:hover{border-color:rgba(47,212,191,.5)}
.lab-rl-d11 .c strong{font-size:15px}
.lab-rl-d11 .c em{color:var(--muted);font-size:12.5px;line-height:1.4}
.lab-rl-d11 .c b{margin-top:auto;font:600 12px/1 var(--mono);color:var(--teal)}
/* 12 hairline grid */
  .lab-rl-d12 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:15px;border:1px solid var(--rule);border-radius:12px;overflow:hidden;gap:1px;background:var(--rule)}
.lab-rl-d12 .cell{background:var(--bg2);padding:15px 16px;text-decoration:none;transition:background .15s;display:flex;flex-direction:column;gap:5px}
.lab-rl-d12 .cell:hover{background:rgba(255,255,255,.04)}
.lab-rl-d12 .cell strong{font-size:15px}
.lab-rl-d12 .cell em{color:var(--muted);font-size:12.5px}
/* 13 ranked */
  .lab-rl-d13 .list{margin-top:15px;display:grid;gap:2px}
.lab-rl-d13 .r{display:flex;gap:16px;align-items:baseline;padding:12px 4px;border-bottom:1px solid var(--rule);text-decoration:none}
.lab-rl-d13 .r:last-child{border-bottom:0}
.lab-rl-d13 .n{font:700 14px/1 var(--mono);color:var(--acc);font-variant-numeric:tabular-nums;min-width:22px}
.lab-rl-d13 .r strong{font-size:15.5px}
.lab-rl-d13 .r em{color:var(--muted);font-size:13px;margin-left:auto;text-align:right}
.lab-rl-d13 .r:hover strong{color:var(--teal)}
@media(max-width:560px){.lab-rl-d13 .r em{display:none}}
/* 14 glass */
  .lab-rl-d14 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px;margin-top:15px}
.lab-rl-d14 .g{padding:16px;border-radius:14px;text-decoration:none;background:rgba(255,255,255,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 30px rgba(0,0,0,.25);transition:transform .16s,border-color .16s;display:flex;flex-direction:column;gap:6px}
.lab-rl-d14 .g:hover{transform:translateY(-3px);border-color:rgba(47,212,191,.45)}
.lab-rl-d14 .g strong{font-size:15px}
.lab-rl-d14 .g em{color:var(--muted);font-size:12.5px}
/* 15 neon */
  .lab-rl-d15 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:13px;margin-top:15px}
.lab-rl-d15 .n{padding:15px;border-radius:12px;text-decoration:none;background:#0a1016;border:1px solid var(--acc);box-shadow:0 0 16px -6px var(--acc),inset 0 0 20px -14px var(--acc);transition:box-shadow .18s,transform .16s;display:flex;flex-direction:column;gap:5px}
.lab-rl-d15 .n:hover{box-shadow:0 0 22px -4px var(--acc),inset 0 0 26px -10px var(--acc);transform:translateY(-2px)}
.lab-rl-d15 .n strong{font-size:15px;color:#fff}
.lab-rl-d15 .n em{color:var(--muted);font-size:12px}
.lab-rl-d15 .cat{color:var(--acc)}
/* 16 zebra */
  .lab-rl-d16 .rows{margin-top:15px;border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.lab-rl-d16 .row{display:flex;align-items:center;gap:14px;padding:13px 16px;text-decoration:none;transition:background .12s}
.lab-rl-d16 .row:nth-child(odd){background:rgba(255,255,255,.028)}
.lab-rl-d16 .row:hover{background:rgba(47,212,191,.07)}
.lab-rl-d16 .row strong{font-size:15px}
.lab-rl-d16 .row em{color:var(--muted);font-size:13px;margin-left:14px}
.lab-rl-d16 .row .go{margin-left:auto;color:var(--faint);font:600 13px/1 var(--mono)}
@media(max-width:560px){.lab-rl-d16 .row em{display:none}}
/* 17 sidebar */
  .lab-rl-d17 .side{max-width:330px;border:1px solid var(--rule);border-radius:14px;padding:16px 18px;margin-top:8px;background:var(--surface)}
.lab-rl-d17 .side .ey{margin-bottom:12px}
.lab-rl-d17 .s{display:block;padding:11px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.lab-rl-d17 .s:last-child{border-bottom:0}
.lab-rl-d17 .s strong{font-size:15px;display:block}
.lab-rl-d17 .s em{color:var(--muted);font-size:12.5px}
.lab-rl-d17 .s:hover strong{color:var(--teal)}
/* 18 bigtype */
  .lab-rl-d18 .stack{margin-top:16px;display:grid;gap:3px}
.lab-rl-d18 .b{display:flex;align-items:baseline;gap:16px;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--rule)}
.lab-rl-d18 .b:last-child{border-bottom:0}
.lab-rl-d18 .b .t{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.1;transition:color .16s}
.lab-rl-d18 .b:hover .t{color:var(--teal)}
.lab-rl-d18 .b .cat{margin-left:auto;align-self:center}
@media(max-width:560px){.lab-rl-d18 .b .t{font-size:21px}}
/* 19 cloud */
  .lab-rl-d19 .cloud{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-top:15px}
.lab-rl-d19 .t{text-decoration:none;border:1px solid var(--rule);border-radius:20px;padding:7px 14px;transition:border-color .15s,background .15s}
.lab-rl-d19 .t:hover{border-color:rgba(47,212,191,.5);background:rgba(47,212,191,.08)}
.lab-rl-d19 .s1{font-size:19px;font-weight:650}
.lab-rl-d19 .s2{font-size:16px;font-weight:600}
.lab-rl-d19 .s3{font-size:13.5px;color:var(--muted)}
/* 20 accordion */
  .lab-rl-d20 .list{margin-top:15px;border-top:1px solid var(--rule)}
.lab-rl-d20 .a{display:block;padding:13px 4px;border-bottom:1px solid var(--rule);text-decoration:none}
.lab-rl-d20 .a .hd{display:flex;align-items:center;gap:12px}
.lab-rl-d20 .a strong{font-size:15.5px}
.lab-rl-d20 .a .cat{margin-left:auto}
.lab-rl-d20 .a em{color:var(--muted);font-size:13px;display:block;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .2s,margin .25s}
.lab-rl-d20 .a:hover em,.lab-rl-d20 .a:focus-visible em{max-height:44px;opacity:1;margin-top:6px}
/* 21 iconrow */
  .lab-rl-d21 .list{margin-top:15px;display:grid;gap:3px}
.lab-rl-d21 .i{display:flex;align-items:center;gap:12px;padding:11px 6px;border-radius:9px;text-decoration:none;transition:background .13s}
.lab-rl-d21 .i:hover{background:rgba(255,255,255,.04)}
.lab-rl-d21 .i svg{width:17px;height:17px;color:var(--acc);flex:0 0 auto}
.lab-rl-d21 .i strong{font-size:15px;font-weight:550}
.lab-rl-d21 .i .go{margin-left:auto;color:var(--faint);font:600 13px/1 var(--mono)}
.lab-rl-d21 .i:hover .go{color:var(--acc)}
/* 22 grouped columns */
  .lab-rl-d22 .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px}
@media(max-width:640px){.lab-rl-d22 .cols{grid-template-columns:1fr;gap:16px}}
.lab-rl-d22 .col h5{margin:0 0 8px;font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);padding-bottom:8px;border-bottom:1px solid var(--rule)}
.lab-rl-d22 .col a{display:block;padding:7px 0;text-decoration:none;font-size:14px}
.lab-rl-d22 .col a:hover{color:var(--teal)}
/* 23 ticket */
  .lab-rl-d23 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px;margin-top:15px}
.lab-rl-d23 .tk{position:relative;display:flex;align-items:center;gap:0;text-decoration:none;background:var(--surface2);border:1px dashed var(--rule2);border-radius:11px;overflow:hidden;transition:border-color .15s}
.lab-rl-d23 .tk:hover{border-color:var(--acc)}
.lab-rl-d23 .stub{flex:0 0 8px;align-self:stretch;background:var(--acc);opacity:.85}
.lab-rl-d23 .tk .bd{padding:13px 15px}
.lab-rl-d23 .tk strong{font-size:15px;display:block}
.lab-rl-d23 .tk em{color:var(--muted);font-size:12px}
/* 24 topbar */
  .lab-rl-d24 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:15px}
.lab-rl-d24 .t{border:1px solid var(--rule);border-top:3px solid var(--acc);border-radius:4px 4px 12px 12px;padding:14px 15px;text-decoration:none;background:var(--surface);transition:transform .15s;display:flex;flex-direction:column;gap:5px}
.lab-rl-d24 .t:hover{transform:translateY(-2px)}
.lab-rl-d24 .t strong{font-size:15px}
.lab-rl-d24 .t em{color:var(--muted);font-size:12.5px}
/* 25 badge circle */
  .lab-rl-d25 .list{margin-top:15px;display:grid;gap:8px}
.lab-rl-d25 .r{display:flex;align-items:center;gap:14px;padding:11px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);text-decoration:none;transition:background .14s}
.lab-rl-d25 .r:hover{background:rgba(255,255,255,.05)}
.lab-rl-d25 .bg{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;font:700 14px/1 var(--mono);color:var(--acc);background:color-mix(in srgb,var(--acc) 15%,transparent);border:1px solid color-mix(in srgb,var(--acc) 32%,transparent)}
.lab-rl-d25 .r strong{font-size:15px}
.lab-rl-d25 .r em{color:var(--muted);font-size:12.5px;display:block}
/* 26 dot leader */
  .lab-rl-d26 .toc{margin-top:15px;display:grid;gap:4px}
.lab-rl-d26 .l{display:flex;align-items:baseline;text-decoration:none;padding:8px 0;gap:8px}
.lab-rl-d26 .l .t{font-size:15.5px;white-space:nowrap}
.lab-rl-d26 .l:hover .t{color:var(--teal)}
.lab-rl-d26 .l .dots{flex:1;border-bottom:1px dotted var(--rule2);transform:translateY(-4px)}
.lab-rl-d26 .l .cat{white-space:nowrap}
/* 27 stat tile */
  .lab-rl-d27 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:11px;margin-top:15px}
.lab-rl-d27 .st{border:1px solid var(--rule);border-radius:12px;padding:14px 15px;background:var(--surface2);text-decoration:none;transition:border-color .15s}
.lab-rl-d27 .st:hover{border-color:rgba(47,212,191,.45)}
.lab-rl-d27 .st .cat{color:var(--acc);display:block;margin-bottom:8px}
.lab-rl-d27 .st strong{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
/* 28 two feature */
  .lab-rl-d28 .two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}
@media(max-width:600px){.lab-rl-d28 .two{grid-template-columns:1fr}}
.lab-rl-d28 .f{padding:20px;border-radius:15px;text-decoration:none;border:1px solid var(--rule);background:linear-gradient(155deg,color-mix(in srgb,var(--acc) 14%,transparent),transparent 70%);transition:border-color .16s}
.lab-rl-d28 .f:hover{border-color:var(--acc)}
.lab-rl-d28 .f .cat{color:var(--acc)}
.lab-rl-d28 .f h5{margin:9px 0 6px;font-size:21px;letter-spacing:-.01em;line-height:1.15}
.lab-rl-d28 .f p{margin:0;color:var(--muted);font-size:13.5px}
.lab-rl-d28 .f .go{display:inline-block;margin-top:12px;font:600 12px/1 var(--mono);color:var(--acc)}
/* 29 slim bar */
  .lab-rl-d29 .bar{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;padding:12px 16px;border:1px solid var(--rule);border-radius:11px;background:var(--surface)}
.lab-rl-d29 .bar .ey{margin-right:6px}
.lab-rl-d29 .bar a{text-decoration:none;font-size:13.5px;font-weight:550;padding:6px 11px;border-radius:8px;background:var(--surface2);transition:background .14s}
.lab-rl-d29 .bar a:hover{background:rgba(47,212,191,.12);color:#bff4ec}
/* 30 pullquote */
  .lab-rl-d30 .list{margin-top:16px;display:grid;gap:14px}
.lab-rl-d30 .q{padding:4px 0 4px 16px;border-left:2px solid var(--acc);text-decoration:none;display:block}
.lab-rl-d30 .q strong{font-size:18px;font-weight:600;line-height:1.2;letter-spacing:-.01em;transition:color .15s}
.lab-rl-d30 .q:hover strong{color:var(--teal)}
.lab-rl-d30 .q em{color:var(--muted);font-size:13.5px;display:block;margin-top:3px}
/* 31 timeline */
  .lab-rl-d31 .tl{margin-top:16px;position:relative;padding-left:22px}
.lab-rl-d31 .tl::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--rule2)}
.lab-rl-d31 .n{display:block;position:relative;padding:9px 0;text-decoration:none}
.lab-rl-d31 .n::before{content:"";position:absolute;left:-22px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--bg2);border:2px solid var(--acc);transition:background .15s}
.lab-rl-d31 .n:hover::before{background:var(--acc)}
.lab-rl-d31 .n strong{font-size:15.5px}
.lab-rl-d31 .n em{color:var(--muted);font-size:13px;display:block}
/* 32 hover reveal */
  .lab-rl-d32 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:11px;margin-top:15px}
.lab-rl-d32 .h{border:1px solid var(--rule);border-radius:12px;padding:16px 15px;text-decoration:none;background:var(--surface);overflow:hidden;transition:border-color .16s}
.lab-rl-d32 .h:hover{border-color:rgba(47,212,191,.45)}
.lab-rl-d32 .h .cat{color:var(--acc)}
.lab-rl-d32 .h strong{font-size:15.5px;display:block;margin-top:6px}
.lab-rl-d32 .h em{color:var(--muted);font-size:12.5px;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s,opacity .2s,margin .2s;display:block}
.lab-rl-d32 .h:hover em{max-height:40px;opacity:1;margin-top:5px}
/* 33 mag 3col rules */
  .lab-rl-d33 .cols{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px}
@media(max-width:640px){.lab-rl-d33 .cols{grid-template-columns:1fr}}
.lab-rl-d33 .c{padding:0 18px;border-right:1px solid var(--rule)}
.lab-rl-d33 .c:first-child{padding-left:0}
.lab-rl-d33 .c:last-child{border-right:0;padding-right:0}
@media(max-width:640px){.lab-rl-d33 .c{border-right:0;border-bottom:1px solid var(--rule);padding:14px 0}.lab-rl-d33 .c:last-child{border-bottom:0}}
.lab-rl-d33 .c a{display:block;text-decoration:none;padding:2px 0}
.lab-rl-d33 .c .cat{color:var(--acc)}
.lab-rl-d33 .c strong{font-size:16px;display:block;margin:3px 0 4px;line-height:1.2}
.lab-rl-d33 .c em{color:var(--muted);font-size:12.5px}
.lab-rl-d33 .c a:hover strong{color:var(--teal)}
/* 34 badge arrow */
  .lab-rl-d34 .list{margin-top:15px;display:grid;gap:9px}
.lab-rl-d34 .r{display:flex;align-items:center;gap:13px;padding:12px 15px;border:1px solid var(--rule);border-radius:11px;text-decoration:none;background:var(--surface);transition:transform .14s,border-color .14s}
.lab-rl-d34 .r:hover{transform:translateX(3px);border-color:var(--rule2)}
.lab-rl-d34 .bd{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#04120f;background:var(--acc);border-radius:5px;padding:5px 8px}
.lab-rl-d34 .r strong{font-size:15px}
.lab-rl-d34 .r .aw{margin-left:auto;color:var(--acc);font-size:18px}
/* 35 grad feature cards */
  .lab-rl-d35 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:15px}
.lab-rl-d35 .g{border:1px solid color-mix(in srgb,var(--acc) 26%,var(--rule));border-radius:14px;padding:16px;text-decoration:none;background:linear-gradient(150deg,color-mix(in srgb,var(--acc) 13%,transparent),var(--surface) 75%);transition:transform .16s}
.lab-rl-d35 .g:hover{transform:translateY(-2px)}
.lab-rl-d35 .g .cat{color:var(--acc)}
.lab-rl-d35 .g strong{font-size:15.5px;display:block;margin:6px 0 4px}
.lab-rl-d35 .g em{color:var(--muted);font-size:12.5px}
/* 36 coins */
  .lab-rl-d36 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px;margin-top:15px}
.lab-rl-d36 .c{display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--rule);border-radius:40px;background:var(--surface);text-decoration:none;transition:background .14s}
.lab-rl-d36 .c:hover{background:rgba(255,255,255,.05)}
.lab-rl-d36 .coin{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--mono);background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--acc) 55%,#fff 10%),var(--acc));color:#04120f}
.lab-rl-d36 .c strong{font-size:14.5px}
/* 37 comma line */
  .lab-rl-d37 .line{margin-top:14px;font-size:15px;line-height:1.9}
.lab-rl-d37 .line .ey{display:inline;margin-right:6px}
.lab-rl-d37 .line a{text-decoration:none;color:var(--ink);border-bottom:1px solid rgba(47,212,191,.35);transition:color .14s}
.lab-rl-d37 .line a:hover{color:var(--teal)}
.lab-rl-d37 .line .sep{color:var(--faint)}
/* 38 eyebrow big list */
  .lab-rl-d38 .list{margin-top:16px;display:grid;gap:4px}
.lab-rl-d38 .e{display:block;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--rule)}
.lab-rl-d38 .e:last-child{border-bottom:0}
.lab-rl-d38 .e .cat{color:var(--acc)}
.lab-rl-d38 .e .t{font-size:19px;font-weight:600;letter-spacing:-.01em;display:inline-block;margin-top:4px;position:relative}
.lab-rl-d38 .e .t::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--acc);transition:width .22s}
.lab-rl-d38 .e:hover .t::after{width:100%}
/* 39 thumb slot */
  .lab-rl-d39 .split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}
@media(max-width:600px){.lab-rl-d39 .split{grid-template-columns:1fr}}
.lab-rl-d39 .feat{text-decoration:none;border:1px solid var(--rule);border-radius:15px;overflow:hidden;transition:border-color .16s}
.lab-rl-d39 .feat:hover{border-color:var(--acc)}
.lab-rl-d39 .thumb{height:96px;background:
      repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 10px,transparent 10px 20px),
      linear-gradient(135deg,color-mix(in srgb,var(--acc) 30%,transparent),transparent);
    display:grid;place-items:center}
.lab-rl-d39 .thumb span{font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.lab-rl-d39 .feat .bd{padding:14px 16px}
.lab-rl-d39 .feat strong{font-size:16px;display:block}
.lab-rl-d39 .feat em{color:var(--muted);font-size:12.5px}
.lab-rl-d39 .mini{display:grid;gap:8px}
.lab-rl-d39 .m{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--rule);border-radius:11px;text-decoration:none;background:var(--surface);transition:background .14s}
.lab-rl-d39 .m:hover{background:rgba(255,255,255,.05)}
.lab-rl-d39 .m strong{font-size:14px}
.lab-rl-d39 .m .cat{margin-left:auto}
/* 40 pill scroll */
  .lab-rl-d40 .row{display:flex;gap:9px;margin-top:15px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scroll-snap-type:x proximity}
.lab-rl-d40 .p{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid var(--rule);border-radius:22px;background:var(--surface2);text-decoration:none;font-size:14px;font-weight:550;white-space:nowrap;transition:border-color .14s,background .14s}
.lab-rl-d40 .p .dot{width:8px;height:8px;border-radius:50%;background:var(--acc)}
.lab-rl-d40 .p:hover{border-color:rgba(47,212,191,.5);background:rgba(47,212,191,.09)}
.lab-related{--acc:var(--teal);display:block;width:100%;color:inherit;font-family:inherit}
/* 41 bento */
  .lab-rl-d41 .bento{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.lab-rl-d41 a{display:flex;flex-direction:column;gap:5px;justify-content:flex-end;padding:15px;border:1px solid var(--rule);border-radius:14px;background:var(--surface2);text-decoration:none;transition:border-color .16s,transform .16s;min-height:96px}
.lab-rl-d41 a:hover{border-color:rgba(47,212,191,.5);transform:translateY(-2px)}
.lab-rl-d41 a.big{grid-column:span 2;grid-row:span 2;background:linear-gradient(150deg,rgba(47,212,191,.12),transparent 70%)}
.lab-rl-d41 a.big h5{font-size:22px;margin:8px 0 4px;letter-spacing:-.01em}
.lab-rl-d41 a.big p{margin:0;color:var(--muted);font-size:13.5px}
.lab-rl-d41 a strong{font-size:14.5px}
.lab-rl-d41 .cat{color:var(--acc)}
@media(max-width:560px){.lab-rl-d41 .bento{grid-template-columns:1fr 1fr}.lab-rl-d41 a.big{grid-column:span 2}}
/* 42 ticker */
  .lab-rl-d42 .ticker{margin-top:15px;overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.lab-rl-d42 .move{display:flex;gap:26px;width:max-content;animation:v42scroll 26s linear infinite}
.lab-rl-d42 .ticker:hover .move{animation-play-state:paused}
.lab-rl-d42 a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:15px;font-weight:550;white-space:nowrap}
.lab-rl-d42 a .dot{width:7px;height:7px;border-radius:50%;background:var(--acc)}
.lab-rl-d42 a:hover{color:var(--teal)}
@media(prefers-reduced-motion:reduce){.lab-rl-d42 .move{animation:none;flex-wrap:wrap}}
/* 43 ghost buttons */
  .lab-rl-d43 .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}
.lab-rl-d43 a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--rule2);border-radius:10px;text-decoration:none;font-size:14px;font-weight:600;background:transparent;transition:border-color .15s,background .15s,color .15s}
.lab-rl-d43 a:hover{border-color:var(--teal);background:rgba(47,212,191,.1);color:#bff4ec}
.lab-rl-d43 a .arw{color:var(--faint);transition:color .15s,transform .15s}
.lab-rl-d43 a:hover .arw{color:var(--teal);transform:translateX(2px)}
/* 44 corner cards */
  .lab-rl-d44 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px;margin-top:15px}
.lab-rl-d44 a{position:relative;display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--rule);border-radius:12px;background:var(--surface2);text-decoration:none;overflow:hidden;transition:transform .16s,border-color .16s}
.lab-rl-d44 a::before{content:"";position:absolute;top:0;right:0;border-width:0 26px 26px 0;border-style:solid;border-color:transparent var(--acc) transparent transparent;opacity:.9}
.lab-rl-d44 a:hover{transform:translateY(-2px);border-color:var(--rule2)}
.lab-rl-d44 a strong{font-size:15px}
.lab-rl-d44 a em{color:var(--muted);font-size:12.5px}
.lab-rl-d44 .cat{color:var(--acc)}
/* 45 index letters */
  .lab-rl-d45 .list{margin-top:15px;display:grid;gap:3px}
.lab-rl-d45 a{display:flex;align-items:center;gap:16px;padding:11px 6px;border-bottom:1px solid var(--rule);text-decoration:none}
.lab-rl-d45 a:last-child{border-bottom:0}
.lab-rl-d45 .ltr{flex:0 0 34px;font:700 24px/1 var(--sans);color:var(--acc);opacity:.55;text-align:center}
.lab-rl-d45 a strong{font-size:15.5px}
.lab-rl-d45 a em{color:var(--muted);font-size:12.5px;display:block}
.lab-rl-d45 a:hover strong{color:var(--teal)}
/* 46 ranked panel */
  .lab-rl-d46 .panel{margin-top:16px;border:1px solid var(--rule);border-radius:15px;overflow:hidden;background:var(--surface)}
.lab-rl-d46 .phd{padding:13px 18px;border-bottom:1px solid var(--rule);font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.lab-rl-d46 a{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .14s}
.lab-rl-d46 a:last-child{border-bottom:0}
.lab-rl-d46 a:hover{background:rgba(255,255,255,.03)}
.lab-rl-d46 .no{font:700 20px/1 var(--mono);color:var(--acc);opacity:.75;min-width:28px;font-variant-numeric:tabular-nums}
.lab-rl-d46 a strong{font-size:16px}
.lab-rl-d46 a em{color:var(--muted);font-size:12.5px;margin-left:auto;text-align:right}
@media(max-width:560px){.lab-rl-d46 a em{display:none}}
/* 47 icon-top tiles */
  .lab-rl-d47 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:15px}
.lab-rl-d47 a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:18px 14px;border:1px solid var(--rule);border-radius:14px;background:var(--surface2);text-decoration:none;transition:transform .16s,border-color .16s}
.lab-rl-d47 a:hover{transform:translateY(-3px);border-color:rgba(47,212,191,.5)}
.lab-rl-d47 .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.lab-rl-d47 .ic svg{width:21px;height:21px;color:var(--acc)}
.lab-rl-d47 a strong{font-size:14px;line-height:1.25}
/* 48 center-rule 2col */
  .lab-rl-d48 .cols{display:grid;grid-template-columns:1fr 1px 1fr;gap:0 26px;margin-top:16px}
.lab-rl-d48 .div{background:var(--rule)}
@media(max-width:560px){.lab-rl-d48 .cols{grid-template-columns:1fr}.lab-rl-d48 .div{display:none}}
.lab-rl-d48 a{display:block;padding:11px 0;text-decoration:none;border-bottom:1px solid var(--rule)}
.lab-rl-d48 .c a:last-child{border-bottom:0}
.lab-rl-d48 a strong{font-size:15px}
.lab-rl-d48 a .cat{margin-left:8px;color:var(--acc)}
.lab-rl-d48 a:hover strong{color:var(--teal)}
/* 49 tag feed */
  .lab-rl-d49 .feed{margin-top:15px;display:grid;gap:12px}
.lab-rl-d49 a{display:block;text-decoration:none;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.lab-rl-d49 a:last-child{border-bottom:0}
.lab-rl-d49 .tag{display:inline-block;font:700 9.5px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#04120f;background:var(--acc);border-radius:4px;padding:4px 7px;margin-bottom:7px}
.lab-rl-d49 a strong{font-size:16px;display:block;line-height:1.25;transition:color .15s}
.lab-rl-d49 a em{color:var(--muted);font-size:13px}
.lab-rl-d49 a:hover strong{color:var(--teal)}
/* 50 poster */
  .lab-rl-d50 .poster{margin-top:16px;border:1px solid var(--rule2);border-radius:6px;padding:22px 24px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.lab-rl-d50 .poster .top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:6px;border-bottom:2px solid var(--acc)}
.lab-rl-d50 .poster .top h4{margin:0;font-size:20px;letter-spacing:-.01em}
.lab-rl-d50 .poster .top span{font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.lab-rl-d50 a{display:flex;align-items:baseline;gap:12px;padding:11px 0;text-decoration:none;border-bottom:1px solid var(--rule)}
.lab-rl-d50 a:last-child{border-bottom:0}
.lab-rl-d50 a strong{font-size:16px;position:relative}
.lab-rl-d50 a strong::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--acc);transition:width .22s}
.lab-rl-d50 a:hover strong::after{width:100%}
.lab-rl-d50 a em{color:var(--faint);font-size:12.5px;margin-left:auto}
.lab-rl-d50 .cat{color:var(--acc)}
/* related-links: constrain to site content width (overrides the .rl width:100% base) */
.lab-related{width:min(1180px,calc(100% - 24px));max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}
