/* VERTEX ROUND 2 (2026-09-29) - Account, support & growth (account, tickets, open_ticket, api, refer, affiliate-program, dailyrewards, earn, organic-growth, child-panels, child-panel).
   Builds on vn-app.css tokens (--vn-*, --hw-*). Owned by one builder; never edit another group file.
   ---------------------------------------------------------------------
   SCOPE: every rule starts at body.nv + a wrapper that only group-B twigs print:
     .vr2-b            = shared group-B components (nameplate, readouts, status LEDs, ledger, empty state)
     .vr2-<page>       = page rules (.vr2-account .vr2-tickets .vr2-ticket .vr2-apidoc .vr2-refer .vr2-affiliate
                         .vr2-rewards .vr2-earn .vr2-organic .vr2-cpanels .vr2-cpanel)
     page-unique ids   = floaters that must stay outside the wrapper (#drpToast, .drp-cf confetti, #ogHow modal)
   Components reuse the round-1 parts as-is: .nv-card.vn-ticket + .vn-rail + .vn-ticket-b (the order ticket),
   .nv-btn (enamel = the ONE primary action), .nv-btn.ghost / .nv-keybtn (keys), .nv-input (wells),
   .lm-theme-seg / .nv-tabs (segmented switches). New parts are prefixed rb-.
   Contrast is measured on the middle stop of each gradient; glass screens are dark in both modes. */

/* ---------- 0. page stack ---------- */
body.nv .vr2-b{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;align-content:start}
body.nv .vr2-b > *{min-width:0;margin:0}
body.nv .vr2-b .rb-grid{display:grid;gap:16px;align-items:start;min-width:0}
body.nv .vr2-b .rb-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.nv .vr2-b .rb-col{display:grid;gap:16px;align-content:start;min-width:0}
body.nv .vr2-b .nv-card.vn-ticket{margin:0;min-width:0}
body.nv .vr2-b .vn-rail .vn-rail-t i{font-size:11px;color:#9AA4B3}
body.nv .vr2-b .vn-rail h2.vn-rail-t,body.nv .vr2-b .vn-rail h3.vn-rail-t{margin:0}
body.nv .vr2-b .vn-rail-m .rb-led{margin-right:2px}
body.nv .vr2-b .nv-alert{margin:0}

/* ---------- 1. status LEDs (hardware lamps) ----------
   .rb-led takes its colour from --rb-c; .is-* sets the colour on the lamp or on its chip.
   Glass chips are dark in both modes, so the lamp palette is the lit one everywhere. */
body.nv .vr2-b .rb-led{--rb-c:var(--nv-accent,#E5484D);position:relative;display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;vertical-align:middle;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95) 0 12%,color-mix(in srgb,var(--rb-c) 55%,#fff) 26%,var(--rb-c) 55%,color-mix(in srgb,var(--rb-c) 50%,#000) 100%);
  box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 0 2.5px rgba(255,255,255,.07),0 0 7px 1px color-mix(in srgb,var(--rb-c) 75%,transparent),0 0 16px 2px color-mix(in srgb,var(--rb-c) 30%,transparent)}
body.nv .vr2-b .is-ok,body.nv .vr2-b .is-ok .rb-led,body.nv .vr2-b .rb-led.is-ok{--rb-c:#46D98A}
body.nv .vr2-b .is-run,body.nv .vr2-b .is-run .rb-led,body.nv .vr2-b .rb-led.is-run{--rb-c:#F2B544}
body.nv .vr2-b .is-pend,body.nv .vr2-b .is-pend .rb-led,body.nv .vr2-b .rb-led.is-pend{--rb-c:#6FB2FF}
body.nv .vr2-b .is-part,body.nv .vr2-b .is-part .rb-led,body.nv .vr2-b .rb-led.is-part{--rb-c:#B69CFF}
body.nv .vr2-b .is-bad,body.nv .vr2-b .is-bad .rb-led,body.nv .vr2-b .rb-led.is-bad{--rb-c:#FF6B70}
body.nv .vr2-b .is-off .rb-led,body.nv .vr2-b .rb-led.is-off{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35) 0 12%,#4A515C 45%,#23272E 100%);
  box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 0 0 2.5px rgba(255,255,255,.06)}
/* chip = engraved label behind glass with its lamp */
body.nv .vr2-b .rb-st{display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 10px 0 9px;border-radius:6px;white-space:nowrap;
  font:600 10.5px/1 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--hw-scr-tx);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-b .rb-st.is-off{color:var(--hw-scr-dim)}

/* ---------- 2. nameplate (slim engraved plate: tag + title + purpose + actions) ---------- */
body.nv .vr2-b .rb-plate{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px 22px;flex-wrap:wrap;
  padding:16px 20px 18px;border-radius:var(--nv-r);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel);
  background:radial-gradient(120% 170% at 0% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 9%,transparent),transparent 55%),var(--hw-screws),var(--hw-metal)}
body.nv .vr2-b .rb-plate-id{min-width:0;flex:1 1 380px;display:flex;flex-direction:column;gap:5px}
body.nv .vr2-b .rb-tag{display:inline-flex;align-items:center;gap:8px;font:600 10.5px/1.2 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-tag b{padding:3px 6px;border-radius:4px;letter-spacing:.04em;font-weight:600;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-up)}
body.nv .vr2-b .rb-title{margin:2px 0 0;font:600 clamp(1.2rem,.98rem + .62vw,1.5rem)/1.2 var(--vn-font-d);letter-spacing:-.02em;color:var(--vn-ink);
  text-shadow:0 -1px 0 rgba(0,0,0,.55);overflow-wrap:anywhere}
html:not(.nv-dark) body.nv .vr2-b .rb-title{text-shadow:0 1px 0 rgba(255,255,255,.85)}
body.nv .vr2-b .rb-sub{margin:0;max-width:680px;font-size:13.5px;line-height:1.5;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-plate-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:0 1 auto;min-width:0}
body.nv .vr2-b .rb-crumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;font:600 10.5px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-crumb a{color:var(--vn-ink-2)}
body.nv .vr2-b .rb-crumb i{font-size:8px;opacity:.7}

/* ---------- 3. glass readouts ---------- */
body.nv .vr2-b .rb-read{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:0;padding:10px 14px;border-radius:8px;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-b .rb-read .k{display:flex;align-items:center;gap:7px;font:600 10px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hw-scr-dim)}
body.nv .vr2-b .rb-read .k i{font-size:10px}
body.nv .vr2-b .rb-read .v{font:600 17px/1.2 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--hw-scr-tx);text-shadow:0 0 12px rgba(230,237,245,.16);overflow-wrap:anywhere}
body.nv .vr2-b .rb-read .v.up{color:var(--hw-scr-up);text-shadow:0 0 12px rgba(91,227,154,.3)}
body.nv .vr2-b .rb-read .v.acc{color:var(--hw-scr-acc);text-shadow:0 0 12px color-mix(in srgb,var(--nv-accent,#E5484D) 45%,transparent)}
body.nv .vr2-b .rb-read .s{font:500 10.5px/1.2 var(--vn-mono);color:var(--hw-scr-dim)}
body.nv .vr2-b .rb-read-hero{min-width:170px;padding:11px 16px}
body.nv .vr2-b .rb-read-hero .v{font-size:24px}
body.nv .vr2-b .rb-read-big .v{font-size:clamp(26px,2.2vw,32px);letter-spacing:-.02em}
body.nv .vr2-b .rb-reads{display:grid;gap:8px;padding:12px;min-width:0}
body.nv .vr2-b .rb-reads-2{grid-template-columns:repeat(2,minmax(0,1fr))}
body.nv .vr2-b .rb-reads-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body.nv .vr2-b .rb-reads-inline{gap:8px}
body.nv .vr2-b .rb-reads-inline .rb-read{min-width:112px;padding:9px 14px}
/* an input shown as a glass screen (API key, referral link) */
body.nv .vr2-b .rb-scrin,body.nv .vr2-b .rb-scrin:focus,body.nv .vr2-b input.nv-input.rb-scrin,body.nv .vr2-b input.nv-input.rb-scrin:focus{
  height:48px;min-height:48px;padding:0 14px;border-radius:8px;border:1px solid rgba(0,0,0,.6);outline:none;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-up);text-shadow:0 0 10px rgba(91,227,154,.28);
  font:500 13.5px/1 var(--vn-mono);letter-spacing:.02em;min-width:0;width:100%}
body.nv .vr2-b .rb-scrin:focus-visible{box-shadow:var(--hw-screen-sh),0 0 0 3px var(--vn-acc-soft)}
body.nv .vr2-b .rb-scrin::placeholder{color:var(--hw-scr-dim);text-shadow:none;opacity:1}
body.nv .vr2-b .rb-scrin::selection{background:rgba(91,227,154,.28)}

/* ---------- 4. keys + notes ---------- */
body.nv .vr2-b .nv-btn{min-height:44px}
body.nv .vr2-b .nv-btn.sm{min-height:36px}
body.nv .vr2-b a.nv-btn{text-decoration:none}
body.nv .vr2-b .nv-keybtn{flex:none;display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border-radius:8px;font-size:14px;color:var(--vn-ink-2);cursor:pointer;
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge);transition:filter .15s ease}
@media(hover:hover){ body.nv .vr2-b .nv-keybtn:hover{color:var(--vn-ink);filter:brightness(1.08)} }
body.nv .vr2-b .nv-keybtn:active{box-shadow:var(--hw-key-press)}
body.nv .vr2-b .rb-keys{display:flex;gap:8px;flex-wrap:wrap}
body.nv .vr2-b .rb-warnkey i{color:var(--vn-warn)}
body.nv .vr2-b .rb-note{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-note-s{display:flex;align-items:center;gap:7px;margin:12px 0 0;font-size:12px;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-note-s i{color:var(--vn-warn);font-size:11px}
body.nv .vr2-b .rb-opt{font-weight:400;font-size:12px;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-sublabel{margin:20px 0 10px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-inrow{display:flex;gap:8px;min-width:0}
body.nv .vr2-b .rb-inrow .nv-select{flex:1 1 auto;min-width:0;width:auto}
body.nv .vr2-b .rb-inrow .nv-btn{flex:none;height:46px}
body.nv .vr2-b .rb-2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}

/* ---------- 5. ledger (short lists; row CSS kept cheap: no per-row shadows) ---------- */
body.nv .vr2-b .rb-ledger{--rb-cols:minmax(0,1fr);min-width:0}
body.nv .vr2-b .rb-lhead,body.nv .vr2-b .rb-lrow{display:grid;grid-template-columns:var(--rb-cols);align-items:center;gap:12px;padding:0 16px}
body.nv .vr2-b .rb-lhead{min-height:34px;font:600 10px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:#B9C1CE;
  background:var(--hw-noise),var(--hw-rail);border-top:1px solid rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
body.nv .vr2-b .rb-lrow{min-height:54px;padding-top:9px;padding-bottom:9px;font-size:13.5px;color:var(--vn-ink-2);border-bottom:1px solid rgba(0,0,0,.42)}
html:not(.nv-dark) body.nv .vr2-b .rb-lrow{border-bottom-color:rgba(20,28,40,.13)}
body.nv .vr2-b .rb-lrow:last-child{border-bottom:0}
@media(hover:hover){ body.nv .vr2-b .rb-lrow:hover{background:rgba(255,255,255,.025)} html:not(.nv-dark) body.nv .vr2-b .rb-lrow:hover{background:rgba(20,28,40,.03)} }
body.nv .vr2-b .rb-num{font:600 13.5px/1.3 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink);white-space:nowrap}
body.nv .vr2-b .rb-up{color:var(--vn-up)}
body.nv .vr2-b .rb-dim{font:500 12.5px/1.3 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vr2-b .rb-user{display:flex;align-items:center;gap:10px;min-width:0}
body.nv .vr2-b .rb-user b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--vn-ink);font-weight:600}
body.nv .vr2-b .rb-av{flex:none;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font:700 12px/1 var(--vn-font-d);color:#fff;
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);text-shadow:0 -1px 0 rgba(0,0,0,.35)}

/* ---------- 6. empty state: engraved icon plate + one line + one action ---------- */
body.nv .vr2-b .rb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 18px 32px;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-empty-ic{width:66px;height:66px;margin-bottom:14px;border-radius:16px;display:grid;place-items:center;font-size:24px;
  background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge);color:var(--vn-ink-3);text-shadow:0 1px 0 rgba(255,255,255,.06),0 -1px 0 rgba(0,0,0,.6)}
html:not(.nv-dark) body.nv .vr2-b .rb-empty-ic{text-shadow:0 1px 0 rgba(255,255,255,.9),0 -1px 0 rgba(20,28,40,.25)}
body.nv .vr2-b .rb-empty .t{font:600 15.5px/1.3 var(--vn-font-d);color:var(--vn-ink);margin-bottom:5px}
body.nv .vr2-b .rb-empty p{margin:0 0 16px;max-width:340px;font-size:13px;line-height:1.5}

/* ---------- 7. feature modules, step pipeline, CTA band (public info pages) ---------- */
body.nv .vr2-b .rb-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
body.nv .vr2-b .rb-feat{min-width:0;padding:16px 16px 17px;border-radius:10px;background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-b .rb-feat-ic{width:40px;height:40px;margin-bottom:12px;border-radius:9px;display:grid;place-items:center;font-size:16px;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-acc)}
body.nv .vr2-b .rb-feat h3{margin:0 0 5px;font:600 15px/1.3 var(--vn-font-d);color:var(--vn-ink)}
body.nv .vr2-b .rb-feat p{margin:0;font-size:13px;line-height:1.55;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-steps{list-style:none;margin:0;padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;counter-reset:none}
body.nv .vr2-b .rb-steps li{position:relative;min-width:0;padding:14px 14px 15px;border-radius:10px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-b .rb-steps .n{display:inline-block;margin-bottom:12px;padding:5px 8px;border-radius:6px;font:600 12px/1 var(--vn-mono);letter-spacing:.06em;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-acc)}
body.nv .vr2-b .rb-steps li:not(:last-child)::after{content:"";position:absolute;top:26px;right:-10px;width:10px;height:2px;background:var(--nv-accent,#E5484D);
  box-shadow:0 0 6px color-mix(in srgb,var(--nv-accent,#E5484D) 70%,transparent)}
body.nv .vr2-b .rb-steps h3{margin:0 0 4px;font:600 14.5px/1.3 var(--vn-font-d);color:var(--vn-ink);display:flex;align-items:center;gap:8px}
body.nv .vr2-b .rb-steps h3 i{font-size:12px;color:var(--vn-acc-hi)}
body.nv .vr2-b .rb-steps p{margin:0;font-size:12.5px;line-height:1.5;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-band{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:22px 24px 24px;border-radius:var(--nv-r);
  background:radial-gradient(90% 160% at 100% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 22%,transparent),transparent 60%),var(--hw-screws),var(--hw-metal);
  border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)}
body.nv .vr2-b .rb-band h2{margin:8px 0 4px;font:600 clamp(1.15rem,1rem + .5vw,1.4rem)/1.2 var(--vn-font-d);color:var(--vn-ink)}
body.nv .vr2-b .rb-band p{margin:0;font-size:13.5px;color:var(--vn-ink-3)}
body.nv .vr2-b .rb-band .nv-btn{height:50px;padding:0 22px;font-size:15px}

/* =====================================================================
   ACCOUNT - settings console
   ===================================================================== */
body.nv .vr2-account .rb-id{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px 20px;margin:0;padding:18px 20px 20px;border-radius:var(--nv-r);
  background:radial-gradient(120% 170% at 0% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 14%,transparent),transparent 55%),var(--hw-screws),var(--hw-metal)}
body.nv .vr2-account .rb-id-sock{margin:0;padding:5px;border-radius:17px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-account .rb-id .av.lm-av-up{width:64px;height:64px;border-radius:12px;font:700 26px/1 var(--vn-font-d);color:#fff;overflow:visible;
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
body.nv .vr2-account .rb-id .av.lm-av-up img{border-radius:11px}
body.nv .vr2-account .lm-av-cam{bottom:-7px;right:-7px;width:28px;height:28px;border-radius:8px;font-size:11px;color:var(--vn-ink-2);
  background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel)}
body.nv .vr2-account .rb-id-main{min-width:0}
body.nv .vr2-account .rb-id-k{display:block;margin-bottom:4px;font:600 10px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-account .rb-id .nm{font:600 20px/1.2 var(--vn-font-d);letter-spacing:-.015em;color:var(--vn-ink);overflow-wrap:anywhere}
body.nv .vr2-account .rb-id .em{margin-top:2px;font:500 12.5px/1.4 var(--vn-mono);color:var(--vn-ink-3);overflow-wrap:anywhere}
body.nv .vr2-account .rb-id-rm{margin:10px 0 0}
body.nv .vr2-account .lm-av-rm{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:7px;font:600 12px/1 var(--vn-font);color:var(--vn-ink-2);
  background:var(--hw-noise),var(--hw-key);border:1px solid var(--hw-edge);box-shadow:var(--hw-key-bevel)}
body.nv .vr2-account .lm-av-rm:active{box-shadow:var(--hw-key-press)}
body.nv .vr2-account .rb-id-reads{display:grid;grid-template-columns:repeat(2,minmax(150px,auto));gap:8px}
body.nv .vr2-account .nv-2fa{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:12px 14px;border-radius:8px;font:500 13px/1.45 var(--vn-font);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-tx)}
body.nv .vr2-account .nv-2fa i{font-size:14px}
body.nv .vr2-account .nv-2fa.on .rb-led{--rb-c:#46D98A}
body.nv .vr2-account .nv-2fa.on i{color:var(--hw-scr-up)}
body.nv .vr2-account .nv-2fa.off i{color:var(--hw-scr-dim)}
body.nv .vr2-account .nv-2fa.off .rb-led{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35) 0 12%,#4A515C 45%,#23272E 100%);box-shadow:0 0 0 1.5px rgba(0,0,0,.6)}
body.nv .vr2-account .lm-theme-seg button{height:42px}
body.nv .vr2-account .rb-region{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
body.nv .vr2-account .rb-region form + form{padding-top:16px;border-top:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
html:not(.nv-dark) body.nv .vr2-account .rb-region form + form{border-top-color:rgba(20,28,40,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
body.nv .vr2-account .rb-region .nv-label i{width:14px;margin-right:4px;color:var(--vn-ink-3)}

/* =====================================================================
   TICKETS - support inbox + composer
   ===================================================================== */
body.nv .vr2-tickets .rb-inboxgrid{grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr)}
body.nv .vr2-tickets .rb-tlist{display:flex;flex-direction:column}
body.nv .vr2-tickets .rb-trow{display:grid;grid-template-columns:38px minmax(0,1fr) auto 14px;align-items:center;gap:12px;min-height:64px;padding:11px 16px;
  color:var(--vn-ink)!important;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.42);transition:background-color .15s ease}
html:not(.nv-dark) body.nv .vr2-tickets .rb-trow{border-bottom-color:rgba(20,28,40,.13)}
body.nv .vr2-tickets .rb-trow:last-child{border-bottom:0}
@media(hover:hover){ body.nv .vr2-tickets .rb-trow:hover{background:rgba(255,255,255,.03)} html:not(.nv-dark) body.nv .vr2-tickets .rb-trow:hover{background:rgba(20,28,40,.035)}
  body.nv .vr2-tickets .rb-trow:hover .rb-trow-go{color:var(--vn-acc-hi);transform:translateX(2px)} }
body.nv .vr2-tickets .rb-trow-ic{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:14px;color:var(--hw-scr-dim);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-tickets .rb-trow-main{min-width:0;display:flex;flex-direction:column;gap:3px}
body.nv .vr2-tickets .rb-trow-s{font:600 14px/1.35 var(--vn-font);color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vr2-tickets .rb-trow-m{font:500 11.5px/1.3 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vr2-tickets .rb-trow-m .vn-num{color:var(--vn-ink-2)}
body.nv .vr2-tickets .rb-trow-go{font-size:11px;color:var(--vn-ink-3);transition:transform .15s ease,color .15s ease}
body.nv .vr2-tickets .rb-trow .nv-badge.rb-st{padding:0 10px 0 9px;border-radius:6px;font:600 10.5px/1 var(--vn-mono);box-shadow:var(--hw-screen-sh)}
body.nv .vr2-tickets .rb-trow .nv-badge.rb-st::before{display:none}
body.nv .vr2-tickets .rb-compose{scroll-margin-top:84px}
body.nv .vr2-tickets .nv-textarea{min-height:150px}
body.nv .vr2-tickets .rb-drop{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border-radius:9px;cursor:pointer;font-size:13.5px;color:var(--vn-ink-3);
  background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px dashed color-mix(in srgb,var(--vn-ink-3) 55%,transparent);transition:border-color .15s ease,color .15s ease}
body.nv .vr2-tickets .rb-drop:hover{border-color:var(--vn-acc-line);color:var(--vn-ink)}
body.nv .vr2-tickets .rb-drop i{font-size:15px}
body.nv .vr2-tickets .rb-drop .fnl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vr2-tickets .rb-tip{display:flex;align-items:flex-start;gap:8px;margin-top:14px;font-size:12.5px;line-height:1.5}
body.nv .vr2-tickets .rb-tip i{margin-top:2px;color:var(--vn-warn)}

/* =====================================================================
   OPEN TICKET - the thread
   ===================================================================== */
body.nv .vr2-ticket .rb-plate-thread{flex-wrap:nowrap;align-items:center}
body.nv .vr2-ticket .rb-back{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;color:var(--vn-ink)!important;align-self:center}
body.nv .vr2-ticket .rb-plate-thread .rb-plate-id{flex:1 1 auto}
body.nv .vr2-ticket .rb-thread{overflow:hidden}
body.nv .vr2-ticket .lm-chat{max-height:62vh;margin:12px;padding:16px 14px;gap:14px;border-radius:10px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-ticket .lm-msg{max-width:min(86%,640px);gap:10px}
body.nv .vr2-ticket .lm-msg .av{width:34px;height:34px;border-radius:9px;font:700 13px/1 var(--vn-font-d)}
body.nv .vr2-ticket .lm-msg.them .av{color:var(--hw-scr-up);background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);text-shadow:0 0 8px rgba(91,227,154,.35)}
body.nv .vr2-ticket .lm-msg.me .av{color:#fff;background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
body.nv .vr2-ticket .lm-msg .bub{padding:11px 14px 12px;border-radius:10px;font-size:14px;line-height:1.6}
body.nv .vr2-ticket .lm-msg.them .bub{color:var(--vn-ink);border-top-left-radius:3px;background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-ticket .lm-msg.me .bub{color:var(--hw-scr-tx);border-top-right-radius:3px;text-shadow:none;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);
  border:1px solid rgba(0,0,0,.6);border-right:2px solid color-mix(in srgb,var(--nv-accent,#E5484D) 70%,transparent)}
body.nv .vr2-ticket .lm-msg .meta{margin-bottom:5px;font:600 10px/1.3 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;opacity:1}
body.nv .vr2-ticket .lm-msg.them .meta{color:var(--vn-ink-3)}
body.nv .vr2-ticket .lm-msg.me .meta{color:var(--hw-scr-dim)}
body.nv .vr2-ticket .lm-msg .bub img{border:1px solid rgba(0,0,0,.4);border-radius:8px!important}
body.nv .vr2-ticket .lm-msg.me .bub a{color:var(--hw-scr-acc)}
body.nv .vr2-ticket .rb-locked{margin:0 0 14px}
body.nv .vr2-ticket .rb-replybar{display:flex;align-items:center;gap:10px;min-width:0}
body.nv .vr2-ticket .rb-attach{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:9px;cursor:pointer;font:600 13px/1 var(--vn-font);color:var(--vn-ink-2);
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-ticket .rb-attach:active{box-shadow:var(--hw-key-press)}
body.nv .vr2-ticket .rb-fname{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 12px/1.3 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vr2-ticket .rb-replybar .nv-btn{flex:none}

/* =====================================================================
   API - reseller docs; code panels = the landing's API device
   ===================================================================== */
body.nv .vr2-apidoc .rb-apigrid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
body.nv .vr2-apidoc .rb-keyrow{display:flex;gap:8px;align-items:stretch;min-width:0}
body.nv .vr2-apidoc .rb-keyrow .rb-scrin{flex:1 1 auto}
body.nv .vr2-apidoc #nvApiKey{letter-spacing:.08em}
body.nv .vr2-apidoc .rb-hint{margin:2px 0 0;font-size:12.5px;line-height:1.55;color:var(--vn-ink-3)}
body.nv .vr2-apidoc .rb-regen{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
html:not(.nv-dark) body.nv .vr2-apidoc .rb-regen{border-top-color:rgba(20,28,40,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
body.nv .vr2-apidoc .rb-regen .rb-note-s{margin:0}
body.nv .vr2-apidoc .rb-mlist{display:flex;flex-direction:column}
body.nv .vr2-apidoc .rb-mrow{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.42)}
html:not(.nv-dark) body.nv .vr2-apidoc .rb-mrow{border-bottom-color:rgba(20,28,40,.13)}
body.nv .vr2-apidoc .rb-mrow:last-child{border-bottom:0}
body.nv .vr2-apidoc code.rb-act{justify-self:start;display:inline-flex;align-items:baseline;gap:6px;padding:6px 9px;border-radius:6px;font:600 12.5px/1 var(--vn-mono);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-up);text-shadow:0 0 8px rgba(91,227,154,.3)}
body.nv .vr2-apidoc code.rb-act small{font-size:10px;color:var(--hw-scr-dim);text-shadow:none}
body.nv .vr2-apidoc .rb-mdesc{min-width:0;display:flex;flex-direction:column;gap:4px}
body.nv .vr2-apidoc .rb-mdesc b{font:600 13.5px/1.3 var(--vn-font);color:var(--vn-ink)}
body.nv .vr2-apidoc .rb-mdesc code{align-self:flex-start;max-width:100%;padding:0;border:0;background:none;font:500 12px/1.45 var(--vn-mono);color:var(--vn-ink-3);overflow-wrap:anywhere;white-space:normal}
/* code device */
body.nv .vr2-apidoc .rb-codebox{overflow:hidden}
body.nv .vr2-apidoc .rb-codebox > .vn-rail{flex-wrap:nowrap}
body.nv .vr2-apidoc .rb-codebox .nv-tabs{flex:none;gap:3px;padding:3px;border-radius:7px;max-width:none;
  background:linear-gradient(180deg,#06080B,#0C0F13);box-shadow:inset 0 2px 4px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.05);border:1px solid rgba(0,0,0,.7)}
body.nv .vr2-apidoc .rb-codebox .nv-tab{height:28px;padding:0 11px;border-radius:5px;border:1px solid transparent;font:600 11.5px/1 var(--vn-mono);color:#9AA4B3;background:none;box-shadow:none}
body.nv .vr2-apidoc .rb-codebox .nv-tab:hover{color:#E6EDF5}
body.nv .vr2-apidoc .rb-codebox .nv-tab.active{color:#fff;background:linear-gradient(180deg,#343a43,#252a31);border-color:rgba(0,0,0,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.6)}
body.nv .vr2-apidoc .rb-codebox .nv-tab.active::after{bottom:3px;width:14px;margin-left:-7px}
body.nv .vr2-apidoc .lm-ex{margin:12px 12px 0}
body.nv .vr2-apidoc .lm-code{position:relative;margin:0;padding:48px 20px 18px;min-height:228px;border-radius:9px;white-space:pre;overflow-x:auto;tab-size:2;
  font:500 12.5px/1.8 var(--vn-mono);color:#D5DBE6;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6)}
body.nv .vr2-apidoc .lm-code .k{color:#8FD6FF} body.nv .vr2-apidoc .lm-code .s{color:#5BE39A}
body.nv .vr2-apidoc .lm-code .cp{position:absolute;top:9px;right:9px;margin:0;height:30px;padding:0 11px;border-radius:6px;cursor:pointer;
  font:600 11px/1 var(--vn-mono);letter-spacing:.06em;color:#D5DBE6;background:linear-gradient(180deg,#343a43,#252a31);border:1px solid rgba(0,0,0,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.6)}
body.nv .vr2-apidoc .lm-code .cp:active{box-shadow:inset 0 2px 4px rgba(0,0,0,.7)}
body.nv .vr2-apidoc .rb-res{display:grid;gap:8px;margin:12px 12px 0;padding:12px 16px;border-radius:9px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6)}
body.nv .vr2-apidoc .rb-res .vn-rail-t{font-size:10.5px!important;color:#A9B1BF!important}
body.nv .vr2-apidoc .rb-res-code code{padding:0;border:0;background:none;font:500 13px/1.6 var(--vn-mono);color:#5BE39A;text-shadow:0 0 10px rgba(91,227,154,.3)}
body.nv .vr2-apidoc .rb-codehint{display:block;margin:12px 16px 16px;line-height:1.7}
body.nv .vr2-apidoc .rb-codehint i{font-size:11px;color:var(--vn-ink-3)}

/* =====================================================================
   REFER - link screen, performance readouts, payouts, referred ledger
   ===================================================================== */
body.nv .vr2-refer .rb-refgrid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
body.nv .vr2-refer .rb-linkrow{display:flex;gap:10px;min-width:0}
body.nv .vr2-refer .rb-linkrow .rb-scrin{flex:1 1 auto;height:52px;font-size:14px}
body.nv .vr2-refer .rb-linkrow .nv-btn{flex:none;height:52px;padding:0 20px}
body.nv .vr2-refer .rb-sharek{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
body.nv .vr2-refer .rb-sharek-l{margin-right:4px;font:600 10px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-refer .rb-sharek a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 13px;border-radius:8px;font:600 13px/1 var(--vn-font);color:var(--vn-ink)!important;text-decoration:none;
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge);transition:filter .15s ease}
@media(hover:hover){ body.nv .vr2-refer .rb-sharek a:hover{filter:brightness(1.08)} }
body.nv .vr2-refer .rb-sharek a:active{box-shadow:var(--hw-key-press)}
body.nv .vr2-refer .rb-sharek i{font-size:15px}
body.nv .vr2-refer .rb-wa i{color:#25D366} body.nv .vr2-refer .rb-tg i{color:#2AABEE} body.nv .vr2-refer .rb-fb i{color:#1877F2} body.nv .vr2-refer .rb-x i{color:var(--vn-ink)}
body.nv .vr2-refer .rb-statcard .rb-reads{padding:12px}
body.nv .vr2-refer .rb-statcard .rb-read{padding:12px 14px}
body.nv .vr2-refer .rb-paygrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:center}
body.nv .vr2-refer .rb-avail{display:grid;gap:8px;min-width:0}
body.nv .vr2-refer .rb-avail .rb-reads{padding:0}
body.nv .vr2-refer .rb-read-big{padding:14px 16px}
body.nv .vr2-refer .rb-pact{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
body.nv .vr2-refer .rb-pact form{width:100%;margin:0}
body.nv .vr2-refer .rb-pact .nv-btn.block{height:52px;font-size:14.5px}
body.nv .vr2-refer .rb-pact .rb-note{margin:0}
body.nv .vr2-refer .rb-ledger-pay{--rb-cols:minmax(0,1fr) minmax(0,1fr) 130px;border-radius:9px;overflow:hidden;border:1px solid var(--hw-edge)}
body.nv .vr2-refer .rb-ledger-refs{--rb-cols:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 110px}

/* =====================================================================
   AFFILIATE PROGRAM (public) + CHILD PANEL (public)
   ===================================================================== */
body.nv .vr2-affiliate.pubx{max-width:1140px;padding:0 0 12px}
body.nv .vr2-affiliate .rb-title.pubx-title{font-size:clamp(1.3rem,1rem + 1vw,1.75rem);font-weight:600;margin:4px 0 0;line-height:1.2}
body.nv .vr2-affiliate .rb-sub.pubx-lead{font-size:14px;margin:0;max-width:720px}
body.nv .vr2-affiliate .pubx-crumb{margin:0}
body.nv .vr2-cpanel{max-width:1140px;width:100%;margin:0 auto;padding-bottom:12px}
body.nv .vr2-cpanel .rb-title{font-size:clamp(1.3rem,1rem + 1vw,1.75rem)}
body.nv .vr2-cpanel .rb-feats-6{grid-template-columns:repeat(3,minmax(0,1fr))}

/* =====================================================================
   CHILD PANELS - order console + panels ledger
   ===================================================================== */
body.nv .vr2-cpanels .rb-cpgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
body.nv .vr2-cpanels #rbCpOrder{scroll-margin-top:84px}
body.nv .vr2-cpanels .vn-rail-m.sub{padding:5px 8px;border-radius:5px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);color:var(--hw-scr-up);font-weight:600}
body.nv .vr2-cpanels .rb-ns{display:grid;gap:6px;padding:10px 12px;border-radius:8px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-cpanels .rb-ns-row{display:flex;align-items:center;gap:12px;min-width:0}
body.nv .vr2-cpanels .rb-ns-row .k{flex:none;font:600 10px/1 var(--vn-mono);letter-spacing:.12em;color:var(--hw-scr-dim)}
body.nv .vr2-cpanels .rb-ns-row b{min-width:0;font:500 13px/1.3 var(--vn-mono);color:var(--hw-scr-up);overflow-wrap:anywhere}
body.nv .vr2-cpanels .rb-ledger-cp{--rb-cols:minmax(0,1fr) 96px 118px 100px}
body.nv .vr2-cpanels .rb-dom b{display:block;font:600 13.5px/1.3 var(--vn-mono);color:var(--vn-ink);overflow-wrap:anywhere}
body.nv .vr2-cpanels .rb-dom small{display:block;margin-top:3px;font:500 11.5px/1.35 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vr2-cpanels .rb-dom .rb-cur{color:var(--vn-ink-2);font-weight:600}
body.nv .vr2-cpanels .rb-lrow .nv-badge.rb-st{padding:0 10px 0 9px;border-radius:6px;font:600 10.5px/1 var(--vn-mono)}
body.nv .vr2-cpanels .rb-lrow .nv-badge.rb-st::before{display:none}
body.nv .vr2-cpanels .rb-act{justify-self:end}
body.nv .vr2-cpanels .rb-note-s i{color:var(--vn-info)}

/* =====================================================================
   DAILY REWARDS - streak console, keycap calendar, ledgers
   ===================================================================== */
body.nv .vr2-rewards .drp{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:none;margin:0;color:var(--vn-ink);font-family:var(--vn-font)}
body.nv .vr2-rewards .drp-hero{overflow:hidden}
body.nv .vr2-rewards .drp-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;padding:16px;align-items:stretch}
body.nv .vr2-rewards .drp-hero .bar{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-width:0;padding:18px 18px 16px;border-radius:10px;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6);color:var(--hw-scr-tx)}
body.nv .vr2-rewards .drp-meter{display:flex;align-items:center;gap:16px}
body.nv .vr2-rewards .drp-fl{flex:none;width:62px;height:62px;border-radius:14px;display:grid;place-items:center;font-size:28px;color:#fff;
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 0 12px rgba(255,210,150,.5)}
body.nv .vr2-rewards .drp-n{font:600 clamp(44px,5vw,60px)/.95 var(--vn-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#FFE2B8;
  text-shadow:0 0 18px color-mix(in srgb,var(--nv-accent,#E5484D) 55%,transparent),0 0 2px rgba(255,226,184,.6)}
body.nv .vr2-rewards .drp-hero .l{margin-top:6px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hw-scr-dim)}
body.nv .vr2-rewards .drp-hero .r{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.12);text-align:left;margin:0}
body.nv .vr2-rewards .drp-hero .r b{display:inline-flex;align-items:center;gap:8px;font:600 12px/1.2 var(--vn-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--hw-scr-tx)}
body.nv .vr2-rewards .drp-hero .r b i{color:#F2C94C}
body.nv .vr2-rewards .drp-hero .r small{display:inline-flex;align-items:center;gap:7px;margin:0;font:500 12px/1.2 var(--vn-mono);color:var(--hw-scr-up)}
body.nv .vr2-rewards .drp-hero .r small:empty{display:none}
body.nv .vr2-rewards .drp-ctl{display:flex;flex-direction:column;gap:12px;min-width:0}
body.nv .vr2-rewards .drp-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
body.nv .vr2-rewards .drp-step{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 13px;border-radius:10px;
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-rewards .drp-step b{display:block;font:600 13px/1.3 var(--vn-font);letter-spacing:0;text-transform:none;color:var(--vn-ink)}
body.nv .vr2-rewards .drp-step small{display:block;margin-top:2px;font:500 11.5px/1.3 var(--vn-mono);color:var(--vn-ink-3)}
/* goal lamp: dark until the goal is met, then a lit green lens with its tick */
body.nv .vr2-rewards .drp-step .ck{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 13px/1 var(--vn-mono);color:#6E7581;
  background:radial-gradient(circle at 35% 30%,#3A4049 0,#1B1F25 70%);box-shadow:inset 0 1px 2px rgba(0,0,0,.8),0 0 0 3px rgba(0,0,0,.35),0 1px 0 3px rgba(255,255,255,.05);border:0}
body.nv .vr2-rewards .drp-step.done{background:var(--hw-noise),var(--hw-key)}
body.nv .vr2-rewards .drp-step.done .ck{color:#06331B;background:radial-gradient(circle at 35% 30%,#E9FFF2 0 10%,#7CF0B0 30%,#2FBF6E 70%,#1C8A4D 100%);
  box-shadow:0 0 0 3px rgba(0,0,0,.35),0 0 12px 2px rgba(70,217,138,.55)}
body.nv .vr2-rewards .drp-bar{height:12px;margin:0;padding:2px;border-radius:7px;overflow:hidden;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-rewards .drp-bar i{display:block;height:100%;border-radius:5px;transition:width .4s var(--vn-ease);
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 60%),var(--nv-accent,#E5484D);box-shadow:0 0 10px color-mix(in srgb,var(--nv-accent,#E5484D) 70%,transparent)}
body.nv .vr2-rewards .drp-claim{width:100%;min-height:56px;margin-top:auto;padding:0 18px;border-radius:10px;cursor:pointer;
  font:700 15px/1.2 var(--vn-font);letter-spacing:.01em;text-transform:none;color:#fff;
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 -1px 0 rgba(0,0,0,.35);transition:filter .15s ease,transform .1s ease}
@media(hover:hover){ body.nv .vr2-rewards .drp-claim:not([disabled]):hover{filter:brightness(1.08)} }
body.nv .vr2-rewards .drp-claim:not([disabled]):active{box-shadow:var(--hw-enamel-press);transform:translateY(1px)}
body.nv .vr2-rewards .drp-claim[disabled]{cursor:not-allowed;color:var(--vn-ink-2);text-shadow:none;background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border-color:var(--hw-edge);font-weight:600;font-size:14px}
body.nv .vr2-rewards .drp-claim i{margin-right:6px;color:#F2C94C}
/* calendar: keycaps */
body.nv .vr2-rewards .drp-card{margin:0;overflow:hidden}
body.nv .vr2-rewards .drp-card .in{padding:14px}
body.nv .vr2-rewards .drp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}
body.nv .vr2-rewards .drp-cell{position:relative;min-width:0;padding:12px 8px 11px;border-radius:10px;text-align:center;color:var(--vn-ink);
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-rewards .drp-cell .d{font:600 10px/1 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-rewards .drp-cell .e{margin:9px auto 7px;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-acc)}
body.nv .vr2-rewards .drp-cell .e i{font-size:15px}
body.nv .vr2-rewards .drp-cell .v{font:600 12px/1.25 var(--vn-mono);color:var(--vn-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.nv .vr2-rewards .drp-cell.claimed{background:var(--hw-well);box-shadow:var(--hw-well-sh)}
body.nv .vr2-rewards .drp-cell.claimed .e{color:var(--hw-scr-up)}
body.nv .vr2-rewards .drp-cell.claimed::after{content:"";position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 12%,#7CF0B0 30%,#2FBF6E 70%);box-shadow:0 0 0 1.5px rgba(0,0,0,.55),0 0 7px 1px rgba(70,217,138,.6)}
body.nv .vr2-rewards .drp-cell.today{color:#fff;background:var(--hw-enamel);border-color:var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel),0 0 0 3px color-mix(in srgb,var(--nv-accent,#E5484D) 25%,transparent)}
body.nv .vr2-rewards .drp-cell.today .d,body.nv .vr2-rewards .drp-cell.today .v{color:#fff}
body.nv .vr2-rewards .drp-cell.today .e{color:#FFE2B8}
body.nv .vr2-rewards .drp-cell.locked .e{opacity:.55}
body.nv .vr2-rewards .drp-cell.locked .e{color:var(--hw-scr-dim)}
/* history + leaderboard */
body.nv .vr2-rewards .drp-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
body.nv .vr2-rewards .drp-duo .in{padding:6px 0}
body.nv .vr2-rewards .drp-hi,body.nv .vr2-rewards .drp-lr{display:flex;align-items:center;gap:12px;margin:0;padding:10px 16px;border:0;background:none;border-bottom:1px solid rgba(0,0,0,.42)}
html:not(.nv-dark) body.nv .vr2-rewards .drp-hi,html:not(.nv-dark) body.nv .vr2-rewards .drp-lr{border-bottom-color:rgba(20,28,40,.13)}
body.nv .vr2-rewards .drp-hi:last-child,body.nv .vr2-rewards .drp-lr:last-child{border-bottom:0}
body.nv .vr2-rewards .drp-hi .e{flex:none;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-size:14px;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-up)}
body.nv .vr2-rewards .drp-hi .t{flex:1;min-width:0}
body.nv .vr2-rewards .drp-hi .t b{display:block;font:600 13.5px/1.3 var(--vn-font);text-transform:none;color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vr2-rewards .drp-hi .t small{font:500 11.5px/1.3 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vr2-rewards .drp-hi .dd{font:500 11.5px/1 var(--vn-mono);color:var(--vn-ink-3);white-space:nowrap}
body.nv .vr2-rewards .drp-lr .rk{flex:none;width:32px;height:28px;border-radius:6px;display:grid;place-items:center;font:600 12px/1 var(--vn-mono);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-dim)}
body.nv .vr2-rewards .drp-lr .rk.g1{color:#F2C94C;text-shadow:0 0 8px rgba(242,201,76,.5)}
body.nv .vr2-rewards .drp-lr .rk.g2{color:#D5DEE9;text-shadow:0 0 8px rgba(213,222,233,.4)}
body.nv .vr2-rewards .drp-lr .rk.g3{color:#E0A36E;text-shadow:0 0 8px rgba(224,163,110,.45);background:var(--hw-screen)}
body.nv .vr2-rewards .drp-lr .nm{flex:1;min-width:0;font:600 13.5px/1.3 var(--vn-mono);color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vr2-rewards .drp-lr .sk{font:600 13px/1 var(--vn-mono);color:var(--vn-ink);white-space:nowrap}
body.nv .vr2-rewards .drp-lr .sk i{margin-left:3px;color:var(--vn-warn)}
body.nv .vr2-rewards .drp-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 16px 24px;text-align:center;font-size:13px;font-weight:500;color:var(--vn-ink-3)}
body.nv .vr2-rewards .drp-empty-ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:20px;
  background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge);color:var(--vn-ink-3)}
/* toast + confetti live on <body>/<main>, outside the wrapper: page-unique id and class */
body.nv #drpToast{position:fixed;left:50%;bottom:28px;z-index:99999;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:13px 20px;border-radius:10px;opacity:0;pointer-events:none;
  font:600 12.5px/1.3 var(--vn-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--hw-scr-up);text-shadow:0 0 10px rgba(91,227,154,.35);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh),0 18px 40px -12px rgba(0,0,0,.7);border:1px solid rgba(0,0,0,.6);transition:opacity .18s ease}
body.nv #drpToast.show{opacity:1}
body.nv .drp-cf{position:fixed;top:-14px;width:10px;height:10px;border-radius:2px;z-index:99998;pointer-events:none}

/* =====================================================================
   EARN - task cartridges + submissions ledger
   ===================================================================== */
body.nv .vr2-earn .ern-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:none;margin:0}
body.nv .vr2-earn .rb-lockplate{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--nv-r);
  background:repeating-linear-gradient(135deg,rgba(242,181,68,.10) 0 10px,transparent 10px 20px),var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)}
body.nv .vr2-earn .rb-lockplate > div{flex:1 1 320px;min-width:0}
body.nv .vr2-earn .rb-lockplate-ic{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-size:17px;color:var(--vn-warn);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-earn .rb-lockplate .t{display:flex;align-items:center;gap:9px;margin-bottom:4px;font:600 14.5px/1.3 var(--vn-font-d);color:var(--vn-ink)}
body.nv .vr2-earn .rb-lockplate .d{font-size:13px;line-height:1.55;color:var(--vn-ink-3)}
body.nv .vr2-earn .rb-lockplate .d b{font-family:var(--vn-mono);color:var(--vn-ink)}
body.nv .vr2-earn .ern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
body.nv .vr2-earn .ern-card{display:flex;flex-direction:column;overflow:hidden;transition:none}
body.nv .vr2-earn .ern-card:hover{transform:none}
body.nv .vr2-earn .ern-hd{position:static;height:auto;overflow:visible}
body.nv .vr2-earn .ern-hd::before,body.nv .vr2-earn .ern-hd::after{display:none}
body.nv .vr2-earn .ern-reward{margin:0;padding:6px 9px;border-radius:6px;font:600 13px/1 var(--vn-mono);white-space:nowrap;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6);color:var(--hw-scr-up);text-shadow:0 0 10px rgba(91,227,154,.35)}
body.nv .vr2-earn .ern-body{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}
body.nv .vr2-earn .ern-top{display:flex;align-items:center;gap:12px;min-width:0}
body.nv .vr2-earn .ern-ic{flex:none;width:46px;height:46px;border-radius:11px;display:grid;place-items:center;font-size:19px;color:#fff;z-index:auto;
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
body.nv .vr2-earn .ern-hd--review ~ .ern-body .ern-ic{background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0) 40%),linear-gradient(180deg,#F6C453,#C98A12);border-color:#8A5C08}
body.nv .vr2-earn .ern-hd--video ~ .ern-body .ern-ic{background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0) 40%),linear-gradient(180deg,#A98BF7,#6D3FD8);border-color:#46238F}
body.nv .vr2-earn .ern-ttl{min-width:0;font:600 16px/1.3 var(--vn-font-d);color:var(--vn-ink)}
body.nv .vr2-earn .ern-ttl small{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:5px;vertical-align:middle;font:600 9.5px/1.2 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--vn-ink-3);background:var(--hw-well);box-shadow:var(--hw-well-sh)}
body.nv .vr2-earn .ern-instr{font-size:13px;line-height:1.6;color:var(--vn-ink-3);white-space:pre-line}
body.nv .vr2-earn .ern-go{align-self:flex-start;height:40px;min-height:40px;padding:0 14px;font-size:13px}
body.nv .vr2-earn .ern-proof{display:flex;flex-direction:column;gap:9px;margin-top:auto;padding:14px;border-radius:10px;border:1px solid var(--hw-edge);
  background:var(--hw-well);box-shadow:var(--hw-well-sh)}
body.nv .vr2-earn .ern-proof .lbl{display:flex;align-items:center;gap:8px;font:600 10px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-earn .ern-proof input[type=url]{height:44px;min-height:44px;width:100%;font-size:13.5px}
body.nv .vr2-earn .ern-upl{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--vn-ink-3);
  background:transparent;border:1px dashed color-mix(in srgb,var(--vn-ink-3) 55%,transparent);transition:border-color .15s ease,color .15s ease}
body.nv .vr2-earn .ern-upl:hover{border-color:var(--vn-acc-line);color:var(--vn-ink)}
body.nv .vr2-earn .ern-upl input[type=file]{display:none}
body.nv .vr2-earn .ern-fn{margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 11.5px/1 var(--vn-mono);color:var(--vn-ink)}
body.nv .vr2-earn .ern-submit{height:46px;width:100%;margin-top:2px}
body.nv .vr2-earn .ern-empty{background:var(--hw-screws),var(--hw-metal);padding:0;text-align:initial}
body.nv .vr2-earn .ern-subs{padding:0;overflow:hidden}
body.nv .vr2-earn .ern-sub{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid rgba(0,0,0,.42)}
html:not(.nv-dark) body.nv .vr2-earn .ern-sub{border-bottom-color:rgba(20,28,40,.13)}
body.nv .vr2-earn .ern-sub:last-child{border-bottom:0}
body.nv .vr2-earn .ern-thumb{flex:none;width:42px;height:42px;border-radius:9px;overflow:hidden;display:grid;place-items:center;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:var(--hw-scr-dim);font-size:13px}
body.nv .vr2-earn .ern-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0}
body.nv .vr2-earn .ern-subm{flex:1 1 auto;min-width:0}
body.nv .vr2-earn .ern-sub .sn{font:600 13.5px/1.3 var(--vn-font);color:var(--vn-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vr2-earn .ern-sub .sm{margin-top:2px;font:500 11.5px/1.3 var(--vn-mono);color:var(--vn-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nv .vr2-earn .ern-sub .sm a{color:var(--vn-ink-3)}
body.nv .vr2-earn .ern-sub .sr{flex:none;font:600 13px/1 var(--vn-mono);color:var(--vn-up);white-space:nowrap}
body.nv .vr2-earn .ern-sub .st.rb-st{flex:none;margin-left:0}

/* =====================================================================
   ORGANIC GROWTH STUDIO - the studio keeps its emerald signal colour (LEDs, scope trace,
   gauge) inside the console material; the ONE primary action is the accent enamel.
   Functional rules from the old inline block are all here (display toggles for .on/.open/.ok/.bad/.err,
   the switch input overlay, gauge rotation, canvas size, sticky rail).
   ===================================================================== */
body.nv .vr2-organic,body.nv #ogHow{
  --og-a:#10B981; --og-a2:#34D399; --og-a3:#6EE7B7; --og-grad:linear-gradient(135deg,#059669,#10b981);
  --og-soft:rgba(16,185,129,.12); --og-soft2:rgba(16,185,129,.06); --og-line:var(--hw-edge);
  --safe:#34D399; --warn:#F2B544; --danger:#FF6B70}
html:not(.nv-dark) body.nv .vr2-organic,html:not(.nv-dark) body.nv #ogHow{--og-a:#047857;--og-a2:#059669;--safe:#047857;--warn:#8A5A00;--danger:#C62A2F}
body.nv .vr2-organic .og-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:none;margin:0}
/* hero = nameplate */
body.nv .vr2-organic .og-hero{position:relative;overflow:hidden;padding:18px 20px 20px;border-radius:var(--nv-r);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel);
  background:radial-gradient(120% 170% at 0% 0%,rgba(16,185,129,.13),transparent 55%),var(--hw-screws),var(--hw-metal)}
body.nv .vr2-organic .og-hero .leaf{position:absolute;right:18px;top:-6px;font-size:118px;color:var(--og-a);opacity:.07;transform:rotate(-12deg);pointer-events:none}
body.nv .vr2-organic .og-hero h1{display:flex;align-items:center;gap:12px;margin:0;font:600 clamp(1.2rem,.98rem + .62vw,1.5rem)/1.2 var(--vn-font-d);letter-spacing:-.02em;color:var(--vn-ink);text-shadow:0 -1px 0 rgba(0,0,0,.55)}
html:not(.nv-dark) body.nv .vr2-organic .og-hero h1{text-shadow:0 1px 0 rgba(255,255,255,.85)}
body.nv .vr2-organic .og-hero h1 i{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:17px;color:#6EE7B7;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);text-shadow:0 0 10px rgba(52,211,153,.55)}
body.nv .vr2-organic .og-hero p{margin:10px 0 0;max-width:660px;font-size:13.5px;line-height:1.55;font-weight:500;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-hero .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-right:150px}
body.nv .vr2-organic .og-hero .chips span{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 11px;border-radius:6px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--hw-scr-tx);background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-organic .og-hero .chips i{color:#34D399}
body.nv .vr2-organic .og-how{position:absolute;right:20px;bottom:18px;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:9px;cursor:pointer;
  font:600 13px/1 var(--vn-font);color:var(--vn-ink);background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-how:active{box-shadow:var(--hw-key-press)}
body.nv .vr2-organic .og-how i{color:var(--og-a)}
/* layout */
body.nv .vr2-organic .og-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
body.nv .vr2-organic .og-builder{display:flex;flex-direction:column;gap:16px;min-width:0}
body.nv .vr2-organic .og-rail{position:sticky;top:calc(var(--nv-tb,60px) + 16px);display:flex;flex-direction:column;gap:16px;min-width:0}
/* panels: metal body + a machined rail made from the step label / h3 */
body.nv .vr2-organic .og-panel{border-radius:var(--nv-r);overflow:hidden}
body.nv .vr2-organic .og-step,body.nv .vr2-organic .og-rt,body.nv .vr2-organic .og-check-panel{padding:0 18px 18px}
body.nv .vr2-organic .og-steplabel,body.nv .vr2-organic .og-rt h3,body.nv .vr2-organic .og-railh{display:flex;align-items:center;gap:10px;min-height:40px;margin:0 -18px 16px;padding:0 14px;
  background:var(--hw-noise),var(--hw-rail);border-bottom:1px solid rgba(0,0,0,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 0 rgba(255,255,255,.05);
  font:600 11px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:#D9DFE8;text-shadow:0 -1px 0 rgba(0,0,0,.7)}
body.nv .vr2-organic .og-steplabel span{letter-spacing:0!important;text-transform:none!important;font:500 12px/1.3 var(--vn-font)!important;color:#9AA4B3!important;text-shadow:none}
body.nv .vr2-organic .og-steplabel b{width:22px;height:20px;border-radius:5px;display:grid;place-items:center;font:600 10.5px/1 var(--vn-mono);letter-spacing:0;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55);color:#6EE7B7;text-shadow:0 0 8px rgba(52,211,153,.5)}
body.nv .vr2-organic .og-rt h3 i,body.nv .vr2-organic .og-railh i{font-size:11px;color:#34D399}
body.nv .vr2-organic .og-rt h3{margin-bottom:0}
body.nv .vr2-organic .og-rt .rtsub{margin:12px 0 14px;font-size:12px;font-weight:500;color:var(--vn-ink-3)}
/* platform keys */
body.nv .vr2-organic .og-plats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
body.nv .vr2-organic .og-plat{flex:1;min-width:104px;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 10px;border-radius:10px;cursor:pointer;
  font:600 12.5px/1 var(--vn-font);color:var(--vn-ink);background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-plat i{font-size:21px;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-plat.on{background:var(--hw-well);box-shadow:var(--hw-well-sh),inset 0 -2px 0 var(--og-a)}
body.nv .vr2-organic .og-plat.on i{color:var(--og-a)}
body.nv .vr2-organic .og-plat.soon{opacity:.55;cursor:not-allowed}
body.nv .vr2-organic .og-plat .badge{position:absolute;top:-8px;right:8px;padding:3px 6px;border-radius:4px;font:600 9px/1 var(--vn-mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--hw-scr-dim);background:var(--hw-screen);box-shadow:var(--hw-screen-sh)}
/* link well */
body.nv .vr2-organic .og-url{display:flex;align-items:center;gap:10px;height:52px;padding:0 8px 0 16px;border-radius:10px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-url.ok{border-color:color-mix(in srgb,var(--og-a) 60%,transparent)}
body.nv .vr2-organic .og-url.bad{border-color:color-mix(in srgb,var(--danger) 60%,transparent)}
body.nv .vr2-organic .og-url > i{font-size:15px;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-url input{flex:1;min-width:0;height:100%;border:0;outline:none;background:transparent;box-shadow:none;font:500 14px/1 var(--vn-font);color:var(--vn-ink)}
body.nv .vr2-organic .og-url .pill{flex:0 0 auto;display:none;padding:6px 9px;border-radius:5px;font:600 10px/1 var(--vn-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--hw-screen);box-shadow:var(--hw-screen-sh)}
body.nv .vr2-organic .og-url.ok .pill{display:inline-block;color:#34D399}
body.nv .vr2-organic .og-url.bad .pill{display:inline-block;color:#FF6B70}
/* base reach */
body.nv .vr2-organic .og-basegrid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
body.nv .vr2-organic .og-basechip{height:38px;padding:0 13px;border-radius:8px;cursor:pointer;font:600 13px/1 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink);
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-basechip.on{background:var(--hw-well);box-shadow:var(--hw-well-sh),inset 0 -2px 0 var(--og-a);color:var(--og-a)}
body.nv .vr2-organic .og-baserow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
body.nv .vr2-organic .og-baserow input[type=range]{flex:1;min-width:180px;accent-color:var(--og-a);height:44px}
body.nv .vr2-organic .og-basecount{padding:8px 12px;border-radius:8px;white-space:nowrap;font:600 20px/1 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--hw-scr-tx);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-organic .og-basecount small{font:500 11px/1 var(--vn-mono)!important;color:var(--hw-scr-dim)!important}
body.nv .vr2-organic .og-ai{margin-top:14px;width:100%;height:48px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font:600 13.5px/1 var(--vn-font);color:var(--vn-ink);background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-ai:active{box-shadow:var(--hw-key-press);transform:translateY(1px)}
body.nv .vr2-organic .og-ai i{color:var(--og-a)}
body.nv .vr2-organic .og-ai small{font-weight:500;color:var(--vn-ink-3)}
/* engagement modules */
body.nv .vr2-organic .og-cards{display:flex;flex-direction:column;gap:10px}
body.nv .vr2-organic .og-card{overflow:hidden;border-radius:10px;background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-card.on{border-color:color-mix(in srgb,var(--og-a) 45%,var(--hw-edge))}
body.nv .vr2-organic .og-card.base{border-color:color-mix(in srgb,var(--og-a) 60%,var(--hw-edge))}
body.nv .vr2-organic .og-cardh{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;cursor:pointer}
body.nv .vr2-organic .og-cardic{flex:0 0 auto;width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:15px;color:var(--hw-scr-dim);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-organic .og-card.on .og-cardic,body.nv .vr2-organic .og-card.base .og-cardic{color:#6EE7B7;text-shadow:0 0 8px rgba(52,211,153,.5)}
body.nv .vr2-organic .og-cardt{flex:1;min-width:0}
body.nv .vr2-organic .og-cardt b{display:block;font:600 14.5px/1.3 var(--vn-font);color:var(--vn-ink)}
body.nv .vr2-organic .og-cardt small{font-size:11.5px;font-weight:500;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-cardprice{font:600 13px/1 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--og-a);white-space:nowrap}
body.nv .vr2-organic .og-baselock{padding:5px 8px;border-radius:5px;font:600 9.5px/1 var(--vn-mono);letter-spacing:.1em;text-transform:uppercase;color:#6EE7B7;background:var(--hw-screen);box-shadow:var(--hw-screen-sh)}
/* physical toggle (same part as New Order's drip-feed switch) */
body.nv .vr2-organic .og-sw{position:relative;flex:0 0 auto;width:44px;height:26px}
body.nv .vr2-organic .og-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
body.nv .vr2-organic .og-sw span{position:absolute;inset:0;border-radius:99px;opacity:1;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge);transition:background-color .15s ease}
body.nv .vr2-organic .og-sw span::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;
  background:linear-gradient(180deg,#FDFDFE 0%,#E3E6EA 55%,#CDD2D8 100%);box-shadow:inset 0 1px 0 #fff,0 1px 3px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.25);transition:transform .15s var(--vn-ease)}
body.nv .vr2-organic .og-sw input:checked + span{background:linear-gradient(180deg,#047857,#10B981);box-shadow:inset 0 2px 4px rgba(0,0,0,.45),0 0 10px -2px rgba(16,185,129,.8)}
body.nv .vr2-organic .og-sw input:checked + span::before{transform:translateX(18px)}
body.nv .vr2-organic .og-sw input:disabled + span{opacity:.45}
body.nv .vr2-organic .og-sw input:focus-visible + span{outline:2px solid var(--vn-acc-hi);outline-offset:2px}
body.nv .vr2-organic .og-cardb{display:none;flex-direction:column;gap:12px;padding:4px 14px 14px}
body.nv .vr2-organic .og-card.on .og-cardb{display:flex}
body.nv .vr2-organic .og-field label{display:block;margin-bottom:6px;font:600 10px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-select,body.nv .vr2-organic .og-num{width:100%;height:44px;padding:0 12px;border-radius:8px;outline:none;font:500 13.5px/1.2 var(--vn-font);color:var(--vn-ink);
  background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-num{font-family:var(--vn-mono);font-variant-numeric:tabular-nums}
body.nv .vr2-organic .og-select:focus,body.nv .vr2-organic .og-num:focus{border-color:color-mix(in srgb,var(--og-a) 60%,transparent);box-shadow:var(--hw-well-sh),0 0 0 3px var(--og-soft)}
body.nv .vr2-organic .og-select option{background:var(--vn-panel);color:var(--vn-ink)}
body.nv .vr2-organic .og-qtyline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
body.nv .vr2-organic .og-qtycost{padding:0 12px;height:44px;display:grid;place-items:center;border-radius:8px;white-space:nowrap;font:600 13px/1 var(--vn-mono);color:var(--hw-scr-tx);
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-organic .og-hint{margin-top:6px;font:500 11.5px/1.4 var(--vn-mono);color:var(--vn-ink-3)}
body.nv .vr2-organic .og-advbtn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 2px;border:0;background:transparent;cursor:pointer;font:600 12.5px/1 var(--vn-font);color:var(--og-a)}
body.nv .vr2-organic .og-advbtn i{transition:transform .2s var(--vn-ease)}
body.nv .vr2-organic .og-advbtn.open i{transform:rotate(180deg)}
body.nv .vr2-organic .og-adv{display:none;flex-direction:column;gap:13px;padding:14px;border-radius:10px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-adv.open{display:flex}
body.nv .vr2-organic .og-seg,body.nv .vr2-organic .og-schtabs{display:flex;flex-wrap:wrap;gap:6px}
body.nv .vr2-organic .og-seg button,body.nv .vr2-organic .og-schtabs button{min-height:34px;padding:0 11px;border-radius:7px;cursor:pointer;font:600 12px/1 var(--vn-font);color:var(--vn-ink-2);
  background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-seg button.on,body.nv .vr2-organic .og-schtabs button.on{color:var(--og-a);background:var(--hw-well);box-shadow:var(--hw-well-sh),inset 0 -2px 0 var(--og-a)}
body.nv .vr2-organic .og-schtabs{margin-bottom:12px}
body.nv .vr2-organic .og-schtabs button{min-height:30px;font-size:11px}
body.nv .vr2-organic .og-slider{display:flex;align-items:center;gap:12px}
body.nv .vr2-organic .og-slider input[type=range]{flex:1;accent-color:var(--og-a);height:36px}
body.nv .vr2-organic .og-slider b{width:52px;padding:6px 0;border-radius:6px;text-align:center;font:600 12.5px/1 var(--vn-mono);color:#6EE7B7;background:var(--hw-screen);box-shadow:var(--hw-screen-sh)}
body.nv .vr2-organic .og-check{display:flex;align-items:center;gap:11px;cursor:pointer;font-size:13px;font-weight:600;color:var(--vn-ink)}
body.nv .vr2-organic .og-check small{font-weight:500;color:var(--vn-ink-3)}
/* gauge on glass */
body.nv .vr2-organic .og-gauge{display:flex;align-items:center;gap:16px;padding:14px;border-radius:10px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6)}
body.nv .vr2-organic .og-gwrap{position:relative;flex:0 0 auto;width:104px;height:104px}
body.nv .vr2-organic .og-gwrap svg{transform:rotate(-90deg)}
body.nv .vr2-organic .og-gwrap svg circle:first-child{stroke:rgba(255,255,255,.08)}
body.nv .vr2-organic .og-gtxt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
body.nv .vr2-organic .og-gtxt b{font:600 26px/1 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--hw-scr-tx);text-shadow:0 0 12px rgba(230,237,245,.2)}
body.nv .vr2-organic .og-gtxt small{font:600 9px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hw-scr-dim)}
body.nv .vr2-organic .og-glabel{flex:1;min-width:0}
body.nv .vr2-organic .og-glabel .lv{margin-bottom:4px;font:600 15px/1.2 var(--vn-font-d);filter:brightness(1.15)}
html:not(.nv-dark) body.nv .vr2-organic .og-gauge{--safe:#34D399;--warn:#F2B544;--danger:#FF6B70}
body.nv .vr2-organic .og-glabel .ds{font-size:11.5px;line-height:1.5;color:var(--hw-scr-dim)}
body.nv .vr2-organic .og-factors{display:flex;flex-direction:column;gap:9px;margin-top:14px}
body.nv .vr2-organic .og-fac{display:flex;align-items:center;gap:9px;font:600 10.5px/1 var(--vn-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-fac .bar{flex:1;height:8px;padding:1px;border-radius:5px;overflow:hidden;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-fac .bar i{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 60%),#10B981;box-shadow:0 0 6px rgba(16,185,129,.6);transition:width .4s var(--vn-ease)}
body.nv .vr2-organic .og-fac .vv{width:34px;text-align:right;font-variant-numeric:tabular-nums;color:var(--vn-ink);letter-spacing:0}
/* scope (growth curve) */
body.nv .vr2-organic .og-curvewrap{position:relative;padding:10px;border-radius:10px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6);
  background-image:linear-gradient(rgba(52,211,153,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(52,211,153,.06) 1px,transparent 1px),var(--hw-screen);background-size:24px 24px,24px 24px,auto}
body.nv .vr2-organic .og-curvewrap canvas{display:block;width:100%;height:150px}
body.nv .vr2-organic .og-newpat{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:6px;cursor:pointer;
  font:600 10.5px/1 var(--vn-mono);letter-spacing:.06em;text-transform:uppercase;color:#D5DBE6;background:linear-gradient(180deg,#343a43,#252a31);border:1px solid rgba(0,0,0,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1px 2px rgba(0,0,0,.6)}
body.nv .vr2-organic .og-newpat i{color:#34D399}
body.nv .vr2-organic .og-curvemeta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
body.nv .vr2-organic .og-curvemeta > div{min-width:0;padding:9px 10px;border-radius:8px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv .vr2-organic .og-curvemeta .k{font:600 9.5px/1.2 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hw-scr-dim)}
body.nv .vr2-organic .og-curvemeta .v{margin-top:5px;font:600 13px/1.2 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--hw-scr-tx);overflow-wrap:anywhere}
body.nv .vr2-organic .og-curvemeta .v.grn{color:#6EE7B7}
/* schedule */
body.nv .vr2-organic .og-timeline{max-height:210px;overflow:auto;display:flex;flex-direction:column;padding:4px 12px;border-radius:10px;background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-tl{display:flex;align-items:center;gap:12px;padding:9px 2px;border-bottom:1px solid rgba(0,0,0,.35)}
html:not(.nv-dark) body.nv .vr2-organic .og-tl{border-bottom-color:rgba(20,28,40,.12)}
body.nv .vr2-organic .og-tl:last-child{border-bottom:0}
body.nv .vr2-organic .og-tl .dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 12%,#7CF0B0 30%,#10B981 70%);box-shadow:0 0 0 1.5px rgba(0,0,0,.5),0 0 6px rgba(16,185,129,.6)}
body.nv .vr2-organic .og-tl .tm{width:118px;font:600 12px/1.2 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink)}
body.nv .vr2-organic .og-tl .pk{padding:3px 6px;border-radius:4px;font:600 9px/1 var(--vn-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vn-warn);background:var(--vn-warn-soft)}
body.nv .vr2-organic .og-tl .qt{margin-left:auto;font:600 12.5px/1 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--og-a)}
/* checkout = the campaign ticket; total on glass; place = enamel */
body.nv .vr2-organic .og-check-panel .og-railh{margin-bottom:14px}
body.nv .vr2-organic .og-break{display:flex;flex-direction:column;gap:9px;margin-bottom:12px}
body.nv .vr2-organic .og-break:empty{display:none}
body.nv .vr2-organic .og-brow{display:flex;align-items:center;gap:10px;font-size:13px}
body.nv .vr2-organic .og-brow .nm{display:flex;align-items:center;gap:8px;min-width:0;font-weight:500;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-brow .nm i{width:14px;font-size:12px;color:var(--og-a)}
body.nv .vr2-organic .og-brow .am{margin-left:auto;font:600 13px/1 var(--vn-mono);font-variant-numeric:tabular-nums;color:var(--vn-ink)}
body.nv .vr2-organic .og-total{display:flex;align-items:center;gap:10px;padding:14px 14px;border-radius:9px;background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.6)}
body.nv .vr2-organic .og-total .l{font:600 10.5px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hw-scr-dim)}
body.nv .vr2-organic .og-total .v{margin-left:auto;font:600 26px/1 var(--vn-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--hw-scr-tx);text-shadow:0 0 14px rgba(230,237,245,.22)}
body.nv .vr2-organic .og-bal{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;font-weight:500;color:var(--vn-ink-3)}
body.nv .vr2-organic .og-bal b{font-family:var(--vn-mono);color:var(--vn-ink)}
body.nv .vr2-organic .og-bal.low,body.nv .vr2-organic .og-bal.low b{color:var(--vn-bad)}
body.nv .vr2-organic .og-place{margin-top:14px;width:100%;height:54px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:700 15px/1 var(--vn-font);color:#fff;background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 -1px 0 rgba(0,0,0,.35)}
@media(hover:hover){ body.nv .vr2-organic .og-place:not(:disabled):hover{filter:brightness(1.08)} }
body.nv .vr2-organic .og-place:not(:disabled):active{box-shadow:var(--hw-enamel-press);transform:translateY(1px)}
body.nv .vr2-organic .og-place:disabled{cursor:not-allowed;color:var(--vn-ink-3);text-shadow:none;background:var(--hw-noise),var(--hw-key);box-shadow:var(--hw-key-bevel);border-color:var(--hw-edge)}
body.nv .vr2-organic .og-msg{display:none;margin-top:12px;font-size:12.5px;font-weight:600;text-align:center}
body.nv .vr2-organic .og-msg.err{display:block;color:var(--vn-bad)}
body.nv .vr2-organic .og-msg.ok{display:block;color:var(--vn-up)}
/* feature off for this account */
body.nv .vr2-organic .og-locked{max-width:560px;margin:24px auto;padding:40px 24px;text-align:center;border-radius:var(--nv-r);background:var(--hw-screws),var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel)}
body.nv .vr2-organic .og-locked i{display:inline-grid;place-items:center;width:66px;height:66px;margin-bottom:16px;border-radius:16px;font-size:26px;color:var(--vn-ink-3);
  background:var(--hw-well);box-shadow:var(--hw-well-sh);border:1px solid var(--hw-edge)}
body.nv .vr2-organic .og-locked h2{margin:0 0 8px;font:600 18px/1.3 var(--vn-font-d);color:var(--vn-ink)}
body.nv .vr2-organic .og-locked p{margin:0;font-size:13.5px;color:var(--vn-ink-3)}
/* how-it-works modal (outside the wrapper: page-unique id) */
body.nv #ogHow{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(4,6,10,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
body.nv #ogHow.on{display:flex}
body.nv #ogHow .box{width:100%;max-width:560px;max-height:86vh;overflow:auto;padding:0 22px 22px;border-radius:var(--nv-r);color:var(--vn-ink);
  background:var(--hw-metal);border:1px solid var(--hw-edge);box-shadow:var(--hw-bevel),var(--vn-sh-lg)}
body.nv #ogHow h3{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 -22px 14px;padding:0 16px;font:600 11px/1 var(--vn-mono);letter-spacing:.14em;text-transform:uppercase;color:#D9DFE8;
  background:var(--hw-noise),var(--hw-rail);border-bottom:1px solid rgba(0,0,0,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
body.nv #ogHow h3 i{color:#34D399}
body.nv #ogHow .box > p{margin:0 0 12px;font-size:13px;color:var(--vn-ink-3)}
body.nv #ogHow .og-hstep{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.35)}
html:not(.nv-dark) body.nv #ogHow .og-hstep{border-bottom-color:rgba(20,28,40,.12)}
body.nv #ogHow .og-hstep:last-of-type{border-bottom:0}
body.nv #ogHow .og-hstep .n{flex:0 0 auto;width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font:600 12px/1 var(--vn-mono);color:#6EE7B7;
  background:var(--hw-screen);box-shadow:var(--hw-screen-sh);border:1px solid rgba(0,0,0,.55)}
body.nv #ogHow .og-hstep b{display:block;margin-bottom:3px;font-size:14px;color:var(--vn-ink)}
body.nv #ogHow .og-hstep span{font-size:12.5px;line-height:1.55;color:var(--vn-ink-3)}
body.nv #ogHow .close{width:100%;height:48px;margin-top:16px;border-radius:10px;cursor:pointer;font:600 14px/1 var(--vn-font);color:#fff;
  background:var(--hw-enamel);border:1px solid var(--hw-enamel-edge);box-shadow:var(--hw-enamel-bevel);text-shadow:0 -1px 0 rgba(0,0,0,.35)}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:1180px){
  body.nv .vr2-account .rb-id{grid-template-columns:auto minmax(0,1fr)}
  body.nv .vr2-account .rb-id-reads{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nv .vr2-rewards .drp-body{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1100px){
  body.nv .vr2-b .rb-cols,body.nv .vr2-tickets .rb-inboxgrid,body.nv .vr2-apidoc .rb-apigrid,body.nv .vr2-refer .rb-refgrid,body.nv .vr2-cpanels .rb-cpgrid{grid-template-columns:minmax(0,1fr)}
  body.nv .vr2-refer .rb-ledger-refs{--rb-cols:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 104px}
}
@media(max-width:940px){
  body.nv .vr2-organic .og-layout{grid-template-columns:minmax(0,1fr)}
  body.nv .vr2-organic .og-rail{position:static}
  body.nv .vr2-b .rb-feats,body.nv .vr2-cpanel .rb-feats-6{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nv .vr2-b .rb-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nv .vr2-b .rb-steps li:nth-child(2)::after{display:none}
  body.nv .vr2-refer .rb-paygrid{grid-template-columns:minmax(0,1fr)}
  body.nv .vr2-rewards .drp-duo{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
  body.nv .vr2-b{gap:12px}
  body.nv .vr2-b .rb-grid,body.nv .vr2-b .rb-col{gap:12px}
  body.nv .vr2-b .rb-plate{padding:14px 14px 16px;gap:12px}
  body.nv .vr2-b .rb-plate-id{flex-basis:100%}
  body.nv .vr2-b .rb-plate-act{width:100%}
  body.nv .vr2-b .rb-plate-act > .nv-btn{flex:1 1 0;justify-content:center}
  body.nv .vr2-b .rb-plate-act > .rb-read{flex:1 1 0}
  body.nv .vr2-b .rb-sub{font-size:13px}
  body.nv .vr2-b .nv-btn.sm{min-height:44px;height:44px}
  body.nv .vr2-b .rb-reads-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.nv .vr2-b .rb-read{padding:9px 10px}
  body.nv .vr2-b .rb-read .v{font-size:15px}
  body.nv .vr2-b .rb-read-hero .v{font-size:20px}
  body.nv .vr2-b .rb-feats,body.nv .vr2-cpanel .rb-feats-6,body.nv .vr2-b .rb-steps{grid-template-columns:minmax(0,1fr);padding:12px}
  body.nv .vr2-b .rb-steps li::after{display:none}
  body.nv .vr2-b .rb-band{padding:18px 16px}
  body.nv .vr2-b .rb-band .nv-btn{width:100%;justify-content:center}
  body.nv .vr2-b .rb-2col{grid-template-columns:minmax(0,1fr)}
  /* ledger rows -> stacked cards: label/value pairs; nothing that matters is truncated */
  body.nv .vr2-b .rb-lhead{display:none}
  body.nv .vr2-b .rb-lrow{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 14px;min-height:0}
  body.nv .vr2-b .rb-lrow > span[data-l]:not([data-l=""])::before{content:attr(data-l);display:block;margin-bottom:3px;font:600 9.5px/1 var(--vn-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vn-ink-3)}
  body.nv .vr2-refer .rb-ledger-refs .rb-lrow .rb-user{grid-column:1/-1}
  body.nv .vr2-refer .rb-ledger-refs .rb-lrow .rb-user::before{display:none!important}
  body.nv .vr2-cpanels .rb-ledger-cp .rb-dom{grid-column:1/-1}
  body.nv .vr2-cpanels .rb-act{grid-column:1/-1;justify-self:stretch}
  body.nv .vr2-cpanels .rb-act .nv-btn{width:100%;justify-content:center}
  /* account */
  body.nv .vr2-account .rb-id{padding:14px 14px 16px;gap:12px 14px}
  body.nv .vr2-account .rb-id .av.lm-av-up{width:54px;height:54px;font-size:22px}
  body.nv .vr2-account .rb-id .nm{font-size:17px}
  body.nv .vr2-account .lm-theme-seg button{height:44px;font-size:12.5px}
  body.nv .vr2-account .rb-inrow{flex-wrap:wrap}
  body.nv .vr2-account .rb-inrow .nv-select{flex-basis:100%}
  body.nv .vr2-account .rb-inrow .nv-btn{flex:1 1 100%;justify-content:center}
  body.nv .vr2-account .rb-keys .nv-btn{flex:1 1 0;justify-content:center}
  /* tickets */
  body.nv .vr2-tickets .rb-trow{grid-template-columns:38px minmax(0,1fr) 12px;grid-template-areas:"ic main go" "ic st go";gap:6px 12px;padding:12px 14px}
  body.nv .vr2-tickets .rb-trow-ic{grid-area:ic;align-self:start}
  body.nv .vr2-tickets .rb-trow-main{grid-area:main}
  body.nv .vr2-tickets .rb-trow .rb-st{grid-area:st;justify-self:start}
  body.nv .vr2-tickets .rb-trow-go{grid-area:go}
  body.nv .vr2-tickets .rb-trow-s{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  /* thread */
  body.nv .vr2-ticket .rb-plate-thread{flex-wrap:wrap}
  body.nv .vr2-ticket .rb-plate-thread .rb-plate-id{flex:1 1 calc(100% - 60px)}
  body.nv .vr2-ticket .lm-chat{margin:10px;padding:12px 10px;max-height:58vh}
  body.nv .vr2-ticket .lm-msg{max-width:94%}
  body.nv .vr2-ticket .lm-msg .av{width:30px;height:30px}
  body.nv .vr2-ticket .rb-replybar{flex-wrap:wrap}
  body.nv .vr2-ticket .rb-fname{order:3;flex-basis:100%}
  body.nv .vr2-ticket .rb-replybar .nv-btn{flex:1 1 auto;justify-content:center}
  /* api */
  body.nv .vr2-apidoc .rb-mrow{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px}
  body.nv .vr2-apidoc .rb-codebox > .vn-rail{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  body.nv .vr2-apidoc .lm-code{font-size:11.5px;padding:46px 14px 14px;min-height:0}
  body.nv .vr2-apidoc .rb-codebox .nv-tab{height:32px}
  body.nv .vr2-apidoc .rb-plate-act .rb-read{min-width:0}
  /* refer */
  body.nv .vr2-refer .rb-linkrow{flex-wrap:wrap}
  body.nv .vr2-refer .rb-linkrow .rb-scrin{flex-basis:100%;font-size:12.5px}
  body.nv .vr2-refer .rb-linkrow .nv-btn{flex:1 1 100%;justify-content:center}
  body.nv .vr2-refer .rb-sharek a{flex:1 1 calc(50% - 8px);justify-content:center;height:44px}
  body.nv .vr2-refer .rb-sharek-l{flex-basis:100%;margin-bottom:2px}
  body.nv .vr2-refer .rb-ledger-pay{--rb-cols:minmax(0,1fr) auto}
  /* rewards */
  body.nv .vr2-rewards .drp-body{padding:12px;gap:12px}
  body.nv .vr2-rewards .drp-steps{grid-template-columns:minmax(0,1fr)}
  body.nv .vr2-rewards .drp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  body.nv .vr2-rewards .drp-card .in{padding:12px}
  body.nv .vr2-rewards .drp-duo .in{padding:4px 0}
  body.nv .vr2-rewards .drp-hi,body.nv .vr2-rewards .drp-lr{padding:10px 14px}
  body.nv #drpToast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  /* earn */
  body.nv .vr2-earn .ern-grid{grid-template-columns:minmax(0,1fr)}
  body.nv .vr2-earn .ern-body{padding:14px}
  body.nv .vr2-earn .ern-go{align-self:stretch;justify-content:center;height:44px}
  body.nv .vr2-earn .ern-sub{flex-wrap:wrap;padding:12px 14px}
  body.nv .vr2-earn .ern-subm{flex-basis:calc(100% - 54px)}
  body.nv .vr2-earn .ern-sub .sr{margin-left:54px}
  body.nv .vr2-earn .rb-lockplate .nv-btn{flex:1 1 100%;justify-content:center}
  /* organic */
  body.nv .vr2-organic .og-hero{padding:14px 14px 16px}
  body.nv .vr2-organic .og-hero .chips{padding-right:0}
  body.nv .vr2-organic .og-how{position:static;margin-top:12px;width:100%;justify-content:center;height:44px}
  body.nv .vr2-organic .og-step,body.nv .vr2-organic .og-rt,body.nv .vr2-organic .og-check-panel{padding:0 14px 14px}
  body.nv .vr2-organic .og-steplabel,body.nv .vr2-organic .og-rt h3,body.nv .vr2-organic .og-railh{margin-left:-14px;margin-right:-14px}
  body.nv .vr2-organic .og-steplabel{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  body.nv .vr2-organic .og-plat{min-width:0;padding:12px 6px}
  body.nv .vr2-organic .og-basechip{height:40px}
  body.nv .vr2-organic .og-gauge{gap:12px;padding:12px}
  body.nv .vr2-organic .og-gwrap{width:92px;height:92px}
  body.nv .vr2-organic .og-gwrap svg{width:92px;height:92px}
  body.nv .vr2-organic .og-tl .tm{width:auto}
  body.nv #ogHow .box{padding:0 16px 16px}
  body.nv #ogHow h3{margin:0 -16px 12px}
}
@media(max-width:420px){
  body.nv .vr2-b .rb-reads-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nv .vr2-b .rb-reads-3 > :last-child{grid-column:1/-1}
  body.nv .vr2-refer .rb-reads-2 .rb-read .v{font-size:14px}
  body.nv .vr2-rewards .drp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- critique pass 1 ---------- */
/* rail labels printed as h2/h3 keep the rail's tracking (.nv h2 letter-spacing out-ranked .vn-rail-t) */
body.nv .vr2-b .vn-rail .vn-rail-t{letter-spacing:.14em}
/* account: the profile is a railed module; the identity strip sits inside it */
body.nv .vr2-account .rb-idcard{overflow:hidden}
body.nv .vr2-account .rb-idcard .rb-id{border:0;border-radius:0 0 var(--nv-r) var(--nv-r);box-shadow:none;
  background:radial-gradient(90% 160% at 0% 0%,color-mix(in srgb,var(--nv-accent,#E5484D) 12%,transparent),transparent 60%)}
body.nv .vr2-account .rb-idcard .rb-id::after{display:none}
/* refer: link + performance modules share a height; share keys sit on the floor of the link module */
body.nv .vr2-refer .rb-refgrid{align-items:stretch}
body.nv .vr2-refer .rb-linkcard{display:flex;flex-direction:column}
body.nv .vr2-refer .rb-linkcard > .vn-ticket-b{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
body.nv .vr2-refer .rb-linkcard .rb-sharek{margin-top:0}
/* earn: one or two tasks never float in a third of the row */
body.nv .vr2-earn .ern-card{max-width:760px}
body.nv .vr2-earn .ern-ttl small{display:none}
/* rewards: the leaderboard scrolls inside its module on desktop so it never out-grows the history */
@media(min-width:941px){ body.nv .vr2-rewards #drpLead{max-height:430px;overflow:auto;overscroll-behavior:contain} }
body.nv .vr2-rewards .drp-step .ck i{font-size:13px}
@media(max-width:700px){
  body.nv .vr2-b .rb-plate-act > .rb-read-hero{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
  body.nv .vr2-b .rb-plate-act > .rb-read-hero .k{flex-basis:100%}
}

/* ---------- reduced motion: every transition / animation above ---------- */
@media(prefers-reduced-motion:reduce){
  body.nv .vr2-b .nv-keybtn,body.nv .vr2-tickets .rb-trow,body.nv .vr2-tickets .rb-trow-go,body.nv .vr2-tickets .rb-drop,body.nv .vr2-refer .rb-sharek a,
  body.nv .vr2-rewards .drp-bar i,body.nv .vr2-rewards .drp-claim,body.nv #drpToast,body.nv .vr2-earn .ern-upl,
  body.nv .vr2-organic .og-sw span,body.nv .vr2-organic .og-sw span::before,body.nv .vr2-organic .og-advbtn i,body.nv .vr2-organic .og-fac .bar i{transition:none}
  body.nv .vr2-tickets .rb-trow:hover .rb-trow-go{transform:none}
  body.nv .vr2-rewards .drp-claim:not([disabled]):active,body.nv .vr2-organic .og-place:not(:disabled):active,body.nv .vr2-organic .og-ai:active{transform:none}
}
