/* pmcountdown.com/n (2026-10-18, v5): NZ's live portfolio. The hero follows the theme (light on light, dark on dark: Jay, "i dont
   want the hero to be dark during light theme"), so everything here uses the page tokens (--ink, --line, --gain, --paper).
   Hero split in two (headline left, live card right); then the open-trades strip; then money trail and activity on the left and
   trades on the right. */
.nzc-h1 span,.nzc-h1 em{display:block}

/* hero: copy left, card right; one column under 960px */
.nzh{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);grid-template-areas:"head card" "body card";column-gap:40px;align-items:center}
.nzh-head{grid-area:head;align-self:end}
.nzh-body{grid-area:body;align-self:start}
.nzh-card{grid-area:card}
/* phone and tablet: the money comes right after the headline, the explainer after it */
@media (max-width:960px){.nzh{grid-template-columns:1fr;grid-template-areas:"head" "card" "body";row-gap:20px}}
.nzh-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.nzh-link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line-3);border-radius:999px;font:700 14.5px var(--sans);color:var(--ink);text-decoration:none;background:var(--paper)}
.nzh-link:hover{border-color:var(--brand);color:var(--brand-ink)}
.nzh-card{position:relative;background:var(--paper);border:1px solid var(--line-2);border-radius:20px;padding:22px;box-shadow:var(--shadow);overflow:hidden}
.nzh-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand),var(--gain))}
.nzh-k{display:flex;align-items:center;gap:8px;font:700 14px/1.3 var(--sans);color:var(--ink-2)}
.nzh-live{width:8px;height:8px;border-radius:50%;background:var(--gain);box-shadow:0 0 0 3px var(--gain-soft)}
@media (prefers-reduced-motion:no-preference){.nzh-live{animation:nzh-pulse 2.4s ease-in-out infinite}}
@keyframes nzh-pulse{50%{box-shadow:0 0 0 6px transparent}}
.nzh-v{margin-top:8px;font:800 clamp(40px,6vw,56px)/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;min-height:1em}
.nzh-day{margin-top:8px;font:700 15px/1.45 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.nzh-day + .nzh-day{margin-top:2px}
.nzh-dim{font-weight:500;color:var(--ink-3)}
.nzh-parts{margin-top:2px;font:600 12.5px/1.45 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums}
.nzh-parts span{display:block}
/* today's profit, trade by trade */
.nzh-chart{margin:16px 0 0}
.nzh-plot{position:relative;margin-top:8px}
.nzh-plot svg{display:block;width:100%;height:84px;overflow:visible}
.nzh-zero{stroke:var(--line-2);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.nzh-line{fill:none;stroke-width:2.25;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.nzh-line.is-pos{stroke:var(--gain)}.nzh-line.is-neg{stroke:var(--loss-ink)}
.nzh-area.is-pos{fill:var(--gain-soft)}.nzh-area.is-neg{fill:rgba(180,35,51,.10)}
.nzh-dot{stroke:var(--paper);stroke-width:2;vector-effect:non-scaling-stroke}
.nzh-dot.is-pos{fill:var(--gain)}.nzh-dot.is-neg{fill:var(--loss-ink)}
.nzh-ax{display:flex;justify-content:space-between;margin-top:4px;font:600 11.5px/1.3 var(--sans);color:var(--ink-3)}
.nzh-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.nzh-split > div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.nzh-k2{font:600 12.5px/1.3 var(--sans);color:var(--ink-3)}
.nzh-k3{margin-top:2px;font:600 12px/1.3 var(--sans);color:var(--ink-3);white-space:nowrap}
.nzh-v2{margin-top:4px;font:800 18px/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
/* today by agent */
.nzh-agents{margin-top:16px}
.nzh-agl{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.nzh-ag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font:700 13px/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.nzh-ag img{width:24px;height:24px;border-radius:50%;background:var(--paper)}
.nzh-ag small{font-weight:600;color:var(--ink-3)}
/* 2026-10-20: the chips under the chart open each agent's desk */
a.nzh-ag{text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s}
a.nzh-ag:hover{border-color:var(--ink-3);background:var(--paper)}
a.nzh-ag:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
a.nzh-ag:active{transform:translateY(1px)}
@media (prefers-reduced-motion:reduce){a.nzh-ag{transition:none}a.nzh-ag:active{transform:none}}
.nzh-at{margin-top:14px;font-size:13px;color:var(--ink-3)}
.nzh-at.is-stale{color:var(--loss-ink)}
.nzh-card .is-pos,.nzm .is-pos{color:var(--gain)}
.nzh-card .is-neg,.nzm .is-neg{color:var(--loss-ink)}
@media (max-width:420px){.nzh-split{grid-template-columns:1fr 1fr}.nzh-split > div:last-child{grid-column:1 / -1}}

/* ---------- money trail (left column, top) ---------- */
.nzl{display:grid;gap:24px;min-width:0}
.nzm{background:var(--paper);border:1px solid var(--line-2);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.nzm-body{padding:14px 18px 18px}
.nzm-tot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
/* 2026-10-22: the money trail as a receipt (deposited, Kalshi's fees, after fees, bonus, out, now, gain), one row per line, totals ruled */
.nzm-led{margin:0;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px 14px}
.nzm-led > div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.nzm-led > div:first-child{border-top:0}
.nzm-led > div[hidden]{display:none}
.nzm-led dt{font:600 13.5px/1.35 var(--sans);color:var(--ink-2);min-width:0}
.nzm-led dd{margin:0}
.nzm-led .nzm-v{margin-top:0;font-size:16px}
.nzm-led .nzm-led-sum{border-top:2px solid var(--line-2)}
.nzm-led .nzm-led-sum dt{font-weight:800;color:var(--ink)}
.nzm-led .nzm-v.is-neg{color:var(--loss-ink)}
.nzm-led .nzm-v.is-pos{color:var(--gain)}
.nzm-tot > div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.nzm-v{margin-top:4px;font:800 18px/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.nzm-sub{margin-top:18px}
.nzm-note{margin-top:10px;font-size:13px;line-height:1.5;color:var(--ink-2)}
.nzm-note a{color:var(--brand-ink);font-weight:700}
.nzh-exl{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.nzh-exr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.nzh-exr.is-agents{border-color:var(--gain)}
.nzh-exn{font:700 14px/1.35 var(--sans);color:var(--ink);min-width:0}
.nzh-exn small{display:block;font:500 12.5px/1.4 var(--sans);color:var(--ink-3)}
.nzh-exv{font:800 15px/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.nzh-tag{display:inline-block;margin-left:8px;padding:0 7px;border-radius:999px;font:700 11px/1.7 var(--sans);vertical-align:1px;background:var(--gain-soft);color:var(--gain)}
/* the trail: a vertical line through each money move, newest on top, the agents' start at the bottom */
.nzm-list{list-style:none;margin:10px 0 0;padding:0 0 0 18px;border-left:2px solid var(--line-2)}
.nzm-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 0 10px 4px}
.nzm-item::before{content:"";position:absolute;left:-25px;top:13px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--line-3)}
.nzm-item.is-deposit::before{border-color:var(--gain);background:var(--gain)}
.nzm-item.is-withdrawal::before{border-color:var(--loss-ink)}
.nzm-item.is-transfer::before{border-color:var(--brand)}
.nzm-item.is-start::before{border-color:var(--brand);background:var(--brand)}
.nzm-t{font:700 14.5px/1.35 var(--sans);color:var(--ink)}
.nzm-s{grid-column:1;font-size:13px;line-height:1.4;color:var(--ink-3)}
.nzm-a{grid-row:1 / span 2;grid-column:2;align-self:center;font:800 15px/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
@media (max-width:560px){.nzm-body{padding:12px}.nzm-tot{grid-template-columns:1fr 1fr}.nzm-tot > div:last-child{grid-column:1 / -1}}

/* trades panel */
/* v4 (2026-10-18): activity on the left, trades on the right; one column under 1024px with trades first */
.nzg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.nzg > .nzl{order:0}.nzg > .nzt{order:1}
@media (max-width:1024px){.nzg{grid-template-columns:1fr}.nzg > .nzt{order:0}.nzg > .nzl{order:1}}
/* jumps from the strip or the feed land below the header and the strip */
.nzt,.nza,.nzm{scroll-margin-top:calc(var(--nzs-top,64px) + 84px)}
/* on a tall desktop screen the trades panel follows you down the feed */
@media (min-width:1025px) and (min-height:860px){.nzg > .nzt{position:sticky;top:calc(var(--nzs-top,64px) + 92px)}}
.nzt{background:var(--paper);border:1px solid var(--line-2);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.nzt-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 18px 0;border-bottom:1px solid var(--line-2)}
.nzt-h{font:800 20px/1.2 var(--sans);color:var(--ink);padding-bottom:14px}
.nzt-tabs{display:flex;gap:4px}
.nzt-tabs button{min-height:44px;padding:0 14px;border:0;background:none;font:700 15px var(--sans);color:var(--ink-3);border-bottom:3px solid transparent;cursor:pointer}
.nzt-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--brand)}
.nzt-tabs button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.nzt-tabs span{font-weight:600;color:var(--ink-3)}
.nzt-sum{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 18px;font:600 13.5px/1.4 var(--sans);color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.nzt-sum b{color:var(--ink)}
/* the list scrolls inside the panel, never the page; day headers stick */
.nzt-scroll{max-height:min(84vh,900px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.nzt-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.nzt-list{list-style:none;margin:0;padding:0}
.nzt-day{position:sticky;top:0;z-index:2;padding:8px 18px;font:700 12.5px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line)}
.nzt-item{border-bottom:1px solid var(--line)}
.nzt-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 16px;gap:2px 12px;align-items:center;width:100%;padding:12px 18px;border:0;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}
.nzt-row:hover{background:var(--surface-2)}
.nzt-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.nzt-logo{position:relative;grid-row:1 / span 2;width:40px;height:40px}
.nzt-logo > img{width:40px;height:40px;border-radius:50%;display:block;background:#fff;box-shadow:0 0 0 1px var(--line)}
.nzt-logo[data-coin="gold"] > img{object-fit:contain;padding:4px;box-sizing:border-box}   /* the animated bar (3:2) inside the white disc */
.nzt-logo[data-coin="xrp"] > img{background:#23292f}   /* the XRP mark is white on clear (Jay: "show xrp logo") */   /* white disc: the ETH and XRP marks are dark on clear */
.nzt-face{position:absolute;right:-5px;bottom:-4px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:2px solid var(--paper);overflow:hidden}
.nzt-face img{width:100%;height:100%;object-fit:cover;display:block}
.nzt-t{font:700 15.5px/1.3 var(--sans);color:var(--ink);min-width:0}
.nzt-s{font-size:13px;line-height:1.4;color:var(--ink-3);min-width:0}
.nzt-s span{white-space:nowrap}
.nzt-r{text-align:right;font:800 15.5px/1.3 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.nzt-r2{text-align:right;font-size:13px;line-height:1.4;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.nzt-chev{grid-column:4;grid-row:1 / span 2;width:16px;height:16px;color:var(--ink-3);transition:transform .15s ease}
.nzt-row[aria-expanded="true"] .nzt-chev{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.nzt-chev{transition:none}}
.nzt-pill{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;font:700 12px/1.6 var(--sans);vertical-align:1px;border:1px solid var(--line-3);color:var(--ink)}
.nzt-pill.is-up{background:var(--brand-soft);border-color:transparent;color:var(--brand-ink)}
.nzt-pill.is-down{background:var(--surface-2);border-color:var(--line-3);color:var(--ink)}
/* the opened row */
.nzt-more{padding:2px 18px 16px 74px}
.nzt-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}
.nzt-dl div{min-width:0}
.nzt-dl dt{font:600 12px/1.3 var(--sans);color:var(--ink-3)}
.nzt-dl dd{margin:2px 0 0;font:700 14px/1.4 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.nzt-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nzt-act{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line-3);border-radius:999px;font:700 14px var(--sans);color:var(--ink);text-decoration:none;background:var(--paper)}
.nzt-act:hover{border-color:var(--brand);color:var(--brand-ink)}
.nzt-act img{width:20px;height:20px;border-radius:50%}
.nzt-act--main{background:var(--brand);border-color:var(--brand);color:#fff}
.nzt-act--main:hover{background:var(--brand-d);color:#fff}
.nzt-empty{padding:22px 18px;font-size:14.5px;color:var(--ink-3)}
.nzt-foot{padding:10px 18px 14px;font-size:13px;color:var(--ink-3);border-top:1px solid var(--line-2)}
.nzt .is-pos{color:var(--gain)}
.nzt .is-neg{color:var(--loss-ink)}
@media (max-width:560px){
  .nzt-head{padding:12px 12px 0}.nzt-h{font-size:18px}.nzt-tabs button{padding:0 10px}
  .nzt-row{padding:12px 12px;grid-template-columns:40px minmax(0,1fr) auto 14px;gap:2px 10px}
  .nzt-logo,.nzt-logo > img{width:36px;height:36px}
  .nzt-uod{display:none}
  .nzt-more{padding:2px 12px 14px}
  .nzt-sum{padding:10px 12px}
  .nzt-scroll{max-height:80vh}
}

/* ---------- the open-trades strip: sticks under the site header, centred, chips pop in with a blue ring ---------- */
.nzs{position:sticky;top:var(--nzs-top,64px);z-index:20;padding:10px 0;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nzs-bar{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0}
.nzs-k{flex:none;display:flex;align-items:center;gap:8px;font:800 13px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.nzs-k b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;letter-spacing:0}
.nzs-k b:empty{display:none}
.nzs .nzh-live{background:var(--gain);box-shadow:0 0 0 3px var(--gain-soft)}
.nzs-list{list-style:none;margin:0;padding:4px 2px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;min-width:0}
.nzs-list::-webkit-scrollbar{display:none}
.nzs-chip{flex:none;scroll-snap-align:start}
.nzs-btn{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 14px 6px 6px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow)}
.nzs-btn:hover{border-color:var(--brand)}
.nzs-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.nzs-ic{position:relative;width:48px;height:48px;flex:none;display:grid;place-items:center}
.nzs-ic .nzt-logo{grid-row:auto;width:32px;height:32px}
.nzs-ic .nzt-logo > img{width:32px;height:32px}
.nzs-ic .nzt-face{width:18px;height:18px;right:-6px;bottom:-5px}
.nzs-ring{position:absolute;inset:0;width:48px;height:48px}
.nzs-track{fill:none;stroke:var(--line);stroke-width:3}
.nzs-arc{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:butt;transition:stroke-dasharray 1s linear}
.nzs-tx{display:grid;gap:1px;text-align:left}
.nzs-t{font:800 14.5px/1.2 var(--sans);white-space:nowrap}
.nzs-t .nzt-pill{margin:0 0 0 2px;font-size:11px;padding:0 7px}
.nzs-s{font:600 12px/1.3 var(--sans);color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.nzs-p{font:800 14.5px/1 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:2px}
.nzs .is-pos{color:var(--gain)}
.nzs .is-neg{color:var(--loss-ink)}
.nzs-empty{display:flex;align-items:center;min-height:52px;padding:0 6px;font:600 14px/1.4 var(--sans);color:var(--ink-3);white-space:nowrap}
.nzs-next{font-variant-numeric:tabular-nums;margin-left:4px}
/* a new trade: pops in, then the blue ring pulses three times */
@media (prefers-reduced-motion:no-preference){
  .nzs-chip.is-new{animation:nzs-pop .55s cubic-bezier(.2,1.4,.4,1) both}
  .nzs-chip.is-new .nzs-btn{border-color:var(--brand);animation:nzs-glow 1.4s ease-out .4s 3}
  .nzs-chip.is-new .nzs-arc{stroke-width:4}
}
@keyframes nzs-pop{0%{opacity:0;transform:translateY(8px) scale(.6)}60%{opacity:1;transform:translateY(0) scale(1.08)}100%{transform:scale(1)}}
@keyframes nzs-glow{0%{box-shadow:0 0 0 0 rgba(36,89,240,.55),var(--shadow)}100%{box-shadow:0 0 0 14px rgba(36,89,240,0),var(--shadow)}}
/* a trade row reached from the strip or the feed flashes once */
@media (prefers-reduced-motion:no-preference){.nzt-item.is-flash{animation:nzt-flash 1.6s ease-out}}
@keyframes nzt-flash{0%{background:var(--brand-soft)}100%{background:transparent}}

/* ---------- activity feed ---------- */
.nza{background:var(--paper);border:1px solid var(--line-2);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.nza-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line-2)}
.nza-head .nzt-h{padding:0}
.nza-f{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.nza-f button{min-height:36px;padding:0 12px;border:0;border-radius:999px;background:none;font:700 13.5px var(--sans);color:var(--ink-2);cursor:pointer}
.nza-f button[aria-pressed="true"]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.nza-f button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.nza-scroll{max-height:min(84vh,900px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.nza-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.nza-list{list-style:none;margin:0;padding:0}
.nza-day{position:sticky;top:0;z-index:2;padding:8px 18px;font:700 12.5px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line)}
.nza-item{border-bottom:1px solid var(--line)}
.nza-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 18px;border:0;background:none;text-align:left;color:inherit;font:inherit}
button.nza-row{cursor:pointer}
button.nza-row:hover{background:var(--surface-2)}
button.nza-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.nza-ic{width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.nza-ic svg{width:18px;height:18px}
.nza-ic .nzt-logo,.nza-ic .nzt-logo > img{width:32px;height:32px}
.nza-ic .nzt-face{width:18px;height:18px;right:-5px;bottom:-4px}
.nza-deposit .nza-ic{background:var(--gain-soft);color:var(--gain)}
.nza-withdrawal .nza-ic{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-2)}
.nza-transfer .nza-ic{background:var(--brand-soft);color:var(--brand-ink)}
.nza-b{min-width:0}
.nza-t{font:700 14.5px/1.35 var(--sans);color:var(--ink)}
.nza-s{font-size:13px;line-height:1.4;color:var(--ink-3)}
.nza-r{display:grid;justify-items:end;gap:2px}
.nza-amt{font:800 14.5px/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.nza-time{font-size:12.5px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
/* 2026-10-19: the contract count chip. Amber (--warn-soft/--warn-ink, unused elsewhere on this page) so it never reads as Up (blue),
   Down (grey) or money (green/red); both tokens are redefined for dark */
.nzt-r2 .nzt-qty{font-size:12px;margin-right:1px}
.nzt-qty{display:inline-block;min-width:1.9em;padding:0 6px;border-radius:6px;background:var(--warn-soft);box-shadow:inset 0 0 0 1px var(--warn);color:var(--warn-ink);font:800 .92em/1.5 var(--sans);font-variant-numeric:tabular-nums;text-align:center;vertical-align:1px}
.nza-tag{display:inline-block;margin-left:8px;padding:0 7px;border-radius:999px;font:700 11px/1.7 var(--sans);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2);vertical-align:1px}
.nza .is-pos{color:var(--gain)}
.nza .is-neg{color:var(--loss-ink)}
@media (max-width:560px){
  .nzs{padding:8px 0}.nzs-bar{justify-content:flex-start;gap:10px}.nzs-k{font-size:12px}
  .nzs-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .nzs-list{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:24px}
  .nza-head{padding:12px 12px 10px;flex-wrap:wrap}.nza-row{padding:10px 12px}
}

/* ---------- closed trades: dates, sort, agent (2026-10-18) ---------- */
.nzt-tools{padding:12px 18px;border-bottom:1px solid var(--line);display:grid;gap:10px}
.nzt-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.nzt-when{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 12px;border:1px solid var(--line-3);border-radius:999px;background:var(--paper);font:700 14px var(--sans);color:var(--ink);cursor:pointer}
.nzt-when::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}
.nzt-when[aria-expanded="true"]{border-color:var(--brand);color:var(--brand-ink)}
.nzt-when:focus-visible,.nzt-sort select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.nzt-sort{display:inline-flex;align-items:center;gap:8px;font:700 13px var(--sans);color:var(--ink-3)}
.nzt-sort select{min-height:40px;padding:0 10px;border:1px solid var(--line-3);border-radius:10px;background:var(--paper);color:var(--ink);font:700 14px var(--sans)}
.nzt-ags{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.nzt-ags::-webkit-scrollbar{display:none}
.nzt-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font:700 13px var(--sans);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.nzt-chip img{width:20px;height:20px;border-radius:50%;margin-left:-6px}
.nzt-chip span{font-weight:600;color:var(--ink-3)}
.nzt-chip[aria-pressed="true"]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}
.nzt-chip:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
/* the calendar: past days show their net, days ahead are greyed until the agents trade them */
.nzt-cal{padding:12px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface-2)}
.nzc-quick{display:flex;flex-wrap:wrap;gap:6px}
.nzc-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px}
.nzc-month{font:800 15px var(--sans);color:var(--ink)}
.nzc-nav{width:36px;height:36px;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);font:700 18px/1 var(--sans);color:var(--ink);cursor:pointer}
.nzc-nav:disabled{opacity:.35;cursor:default}
.nzc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.nzc-wd{text-align:center;font:700 11.5px/2 var(--sans);color:var(--ink-3)}
.nzc-day{display:grid;align-content:center;justify-items:center;gap:1px;min-height:50px;padding:4px 2px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.nzc-day:hover:not(:disabled){border-color:var(--brand)}
.nzc-day:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.nzc-n{font:700 13.5px/1.2 var(--sans)}
.nzc-v{font:700 10.5px/1.2 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.nzc-day.is-pos{background:var(--gain-soft)}.nzc-day.is-pos .nzc-v{color:var(--gain)}
.nzc-day.is-neg{background:rgba(180,35,51,.08)}.nzc-day.is-neg .nzc-v{color:var(--loss-ink)}
.nzc-day.is-today .nzc-n{text-decoration:underline;text-underline-offset:3px}
.nzc-day.is-future,.nzc-day.is-before{background:transparent;border-style:dashed;color:var(--ink-3);cursor:default}
.nzc-day.is-before{opacity:.45}
.nzc-day.is-sel{border:2px solid var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.nzc-day.is-range{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.nzc-hint{margin-top:8px;font-size:12.5px;color:var(--ink-3)}
@media (max-width:560px){.nzt-tools{padding:10px 12px}.nzc-day{min-height:44px}.nzc-v{font-size:9.5px}}
/* phone: the closed row's % and result take their own line under the window, so long lines never overlap */
@media (max-width:560px){.nzt-row .nzt-r2{grid-column:2 / 4;text-align:left;white-space:normal}}

/* the money trail now lives inside the Activity card as its third tab (2026-10-18) */
.nza .nzm-body{padding:14px 18px 18px}
.nza .is-pos{color:var(--gain)}.nza .is-neg{color:var(--loss-ink)}
@media (max-width:560px){.nza .nzm-body{padding:12px}}

/* Correct / Missed and Extreme / Longshot, the agents' pages' tags (assets/pages/lolo.css .lt-res, .lt-xt) */
.nzt-tags{display:inline-flex;gap:5px;margin-left:8px;vertical-align:2px}
.nzt-res{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;font:800 10.5px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase}
.nzt-res--correct{background:var(--gain-soft);color:var(--gain)}
.nzt-res--missed{background:rgba(180,35,51,.09);color:var(--loss-ink)}
.nzt-xt{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:5px;font:800 10px/1 var(--sans);font-style:normal;letter-spacing:.07em;text-transform:uppercase;cursor:help}
.nzt-xt--extreme{background:rgba(192,38,211,.1);color:#a21caf;box-shadow:inset 0 0 0 1px currentColor}
.nzt-xt--longshot{background:rgba(8,145,178,.1);color:#0e7490;box-shadow:inset 0 0 0 1px currentColor}
:root[data-theme="dark"] .nzt-xt--extreme{background:rgba(232,121,249,.14);color:#f0abfc}
:root[data-theme="dark"] .nzt-xt--longshot{background:rgba(34,211,238,.12);color:#67e8f9}
:root[data-theme="dark"] .nzt-res--missed{background:rgba(255,107,120,.12)}
.nzt-dl .nzt-wide{grid-column:1 / -1}
.nzt-dl .nzt-wide dd{font-weight:600}

/* ---------- v11 (2026-10-18): wide layout, search copy in the hero, the progress chart, plain-words answers ---------- */
.nzw{max-width:1440px}
.nzh{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);column-gap:48px}
@media (max-width:960px){.nzh{grid-template-columns:1fr}}
.nzh-v{font-size:clamp(34px,4vw,46px)}
.nzh-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;max-width:760px}
.nzh-facts div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.nzh-facts dt{font:600 12px/1.3 var(--sans);color:var(--ink-3)}
.nzh-facts dd{margin:2px 0 0;font:700 14.5px/1.35 var(--sans);color:var(--ink)}
@media (max-width:560px){.nzh-facts{grid-template-columns:1fr}}
/* the progress chart */
.nzpg-sec{padding-bottom:0}
.nzpg{position:relative;background:var(--paper);border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--shadow);padding:16px 18px 14px}
.nzpg-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.nzpg-head .nzt-h{padding:0}
.nzpg-sub{margin-top:4px;font-size:13.5px;line-height:1.45;color:var(--ink-3)}
.nzpg-plot{position:relative;min-height:220px;touch-action:pan-y;cursor:crosshair;border-radius:12px}
.nzpg-plot:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.nzpg-svg{display:block;width:100%;overflow:visible}
.nzpg-grid{stroke:var(--line);stroke-width:1}
.nzpg-zero{stroke:var(--line-3);stroke-width:1;stroke-dasharray:4 4}
.nzpg-ax{font:600 11.5px var(--sans);fill:var(--ink-3)}
.nzpg-line{fill:none;stroke-width:2.5;stroke-linejoin:round}
.nzpg-line.is-pos{stroke:var(--gain)}.nzpg-line.is-neg{stroke:var(--loss-ink)}
.nzpg-area.is-pos{fill:var(--gain-soft)}.nzpg-area.is-neg{fill:rgba(180,35,51,.08)}
.nzpg-dot{stroke:var(--paper);stroke-width:1.5}
.nzpg-cross{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3}
.nzpg-ring{fill:none;stroke-width:2.5}
.nzpg-tip{position:absolute;z-index:3;width:260px;padding:10px 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--paper);box-shadow:var(--shadow);pointer-events:none}
.nzpg-th{display:flex;justify-content:space-between;gap:8px;font:600 12.5px/1.4 var(--sans);color:var(--ink-3)}
.nzpg-th b{font:800 15px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.nzpg-tt{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;font:600 13px/1.4 var(--sans);color:var(--ink)}
.nzpg-tt img{width:18px;height:18px;border-radius:50%}
.nzpg-tt .nzt-res{height:16px;font-size:9.5px}
.nzpg-tk{margin-top:8px;font:700 11px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.nzpg-tl{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px}
.nzpg-tl li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:6px;font:600 12.5px/1.5 var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums}
.nzpg-tl i{width:8px;height:8px;border-radius:50%}
.nzpg .is-pos{color:var(--gain)}.nzpg .is-neg{color:var(--loss-ink)}
.nzpg-leg{margin-top:10px}
/* plain-words answers */
.nzseo h2{font:800 20px/1.25 var(--sans);color:var(--ink);margin-bottom:8px}
.nzseo p{font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.nzseo p a{color:var(--brand-ink);font-weight:700}
.nzseo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media (max-width:960px){.nzseo-grid{grid-template-columns:1fr;gap:20px}}
.nzseo-q{margin-top:36px}
.nzseo .rs-faq{border-top:1px solid var(--line-2)}
.nzseo .rs-faq:last-child{border-bottom:1px solid var(--line-2)}
.nzseo .rs-faq summary{cursor:pointer;padding:14px 0;font:700 16px/1.4 var(--sans);color:var(--ink);list-style-position:inside}
.nzseo .rs-faq p{padding:0 0 14px}
.nzh .nzc-h1{font-size:clamp(40px,5.4vw,80px)}
.nzh .nzc-h1 span,.nzh .nzc-h1 em{text-wrap:balance}
.nzh-card .nzh-v2{font-size:16.5px}
@media (max-width:560px){.nzh .nzc-h1{font-size:clamp(34px,10vw,44px)}.nzpg-tip{position:static;width:auto;margin-top:10px;box-shadow:none}}

/* ---------- v12 (2026-10-18, Mary pass; Jay: "make [the card] bigger and better and more UX and better alignment ... the hero need
   some horizontal padding on edges so not too stretched ... reduce the length a bit so we can peek"). Measured at 1440x734 before:
   hero 677px tall, Progress starts at 881 (below the 734 fold), card 403x340 floating in a 677 column, hero text 24px from the edge.
   Tokens only. The card's hairline (--line-2 on --paper, 1.43:1) is decorative; the 3px --brand to --gain top edge carries the
   boundary (5.58:1 light, 3.77:1 dark). Every text pair below clears AA: --ink-3 on --paper 5.60/5.84, --gain 6.16/9.83,
   --loss-ink 6.50/8.94, on --surface-2 5.27/5.54 at the lowest. ---------- */
.nzp-hero{padding:24px 0 32px}
.nzp-hero > .nzw{max-width:1320px;padding-left:clamp(16px,4.5vw,72px);padding-right:clamp(16px,4.5vw,72px)}
.nzh{grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr);column-gap:clamp(32px,4vw,64px)}
.nzh .nzc-h1{font-size:clamp(34px,3.8vw,60px);margin:10px 0 12px}
.nzh-body .lede{max-width:64ch;font-size:16.5px;line-height:1.6}
.nzh-facts{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin-top:16px;gap:8px}
.nzh-facts div{padding:8px 10px}
.nzh-facts dd{font-size:13.5px}
.nzh-links{margin-top:14px;gap:8px}
.nzh-link{min-height:40px;padding:0 14px;font-size:14px}
@media (max-width:1180px){.nzh-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.nzh{grid-template-columns:1fr}}
/* the card */
.nzh-card{padding:22px 26px 20px;border-radius:22px}
.nzh-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nzh-top .nzh-at{margin:0;font-size:12.5px;text-align:right}
.nzh-v{margin-top:8px;font-size:clamp(44px,4.4vw,62px);letter-spacing:-.02em}
.nzh-deltas{margin:14px 0 0;border-top:1px solid var(--line)}
.nzh-deltas div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.nzh-deltas dt{font:700 14.5px/1.25 var(--sans);color:var(--ink)}
.nzh-deltas dt small{display:block;margin-top:1px;font:500 12.5px/1.3 var(--sans);color:var(--ink-3)}
.nzh-deltas dd{margin:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-variant-numeric:tabular-nums}
.nzh-deltas b{font:800 21px/1.1 var(--sans);color:var(--ink)}
.nzh-deltas dd span{min-width:58px;padding:3px 8px;border-radius:999px;background:var(--surface-2);font:700 12.5px/1.3 var(--sans);color:var(--ink-2);text-align:center}
.nzh-deltas dd span:empty{display:none}
.nzh-deltas dd span.is-pos{background:var(--gain-soft)}
.nzh-deltas dd span.is-neg{background:rgba(180,35,51,.09)}
.nzh-parts{margin-top:8px;font-size:12.5px;line-height:1.5}
.nzh-split{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);overflow:hidden}
.nzh-split > div{background:none;border:0;border-left:1px solid var(--line);border-radius:0;padding:12px 14px}
.nzh-split > div:first-child{border-left:0}
.nzh-card .nzh-v2{font-size:20px}
.nzh-bar{display:block;height:4px;margin-top:7px;border-radius:2px;background:rgba(180,35,51,.18);overflow:hidden}
.nzh-bar i{display:block;height:100%;width:0;background:var(--gain);border-radius:2px;transition:width .4s ease}
@media (prefers-reduced-motion:reduce){.nzh-bar i{transition:none}}
.nzh-split .nzh-k3{margin-top:5px}
@media (max-width:420px){
  .nzh-split{grid-template-columns:repeat(3,minmax(0,1fr))}.nzh-split > div:last-child{grid-column:auto}
  .nzh-split > div{padding:10px}.nzh-card .nzh-v2{font-size:16px}.nzh-card{padding:18px 16px}
  .nzh-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.nzh-facts dd{font-size:13px}
}
/* v12b: every wide section shares the hero's edges; a shorter card and one-line facts so the next section peeks above a 734px fold */
.nzw{max-width:1320px;padding-left:clamp(16px,4.5vw,72px);padding-right:clamp(16px,4.5vw,72px)}
.nzp-hero{padding:20px 0 26px}
.nzh-body .lede{max-width:74ch}
.nzh-card{padding:18px 22px 18px}
.nzh-v{font-size:clamp(42px,4vw,56px);margin-top:6px}
.nzh-deltas{margin-top:10px}
.nzh-deltas div{padding:7px 0}
.nzh-deltas b{font-size:20px}
.nzh-split{margin-top:12px}
.nzh-split > div{padding:10px 12px}
.nzh-card .nzh-v2{font-size:19px}
/* v12c phone: the card header stacks, the money tiles go two across with Won today under them (measured: $1,493.47 at 19px
   overflowed a 119px third at 390 wide) */
@media (max-width:480px){
  .nzh-top{flex-wrap:wrap;gap:2px 12px}.nzh-top .nzh-at{text-align:left;width:100%}
  .nzh-split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nzh-split > div:last-child{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line)}
  .nzh-card .nzh-v2{font-size:18px}
  .nzh-deltas b{font-size:19px}
}

/* ---------- v13 (2026-10-18; Jay: "make the FAQ UX better ... have CTA to sign up for ultra pro ... have the portfolio link to the
   actual kalshi account"). FAQ becomes cards that open one at a time in place, an Ultra Pro band sits between the trades and the
   answers, and the hero gets one brand button. Tokens only. ---------- */
.nzh-cta{min-height:44px;padding:0 18px;font-size:14.5px}
@media (max-width:480px){.nzh-cta{width:100%;justify-content:center}}
.nzh-kalshi{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:12px;border:1px solid var(--line-3);border-radius:12px;font:700 14px var(--sans);color:var(--brand-ink);text-decoration:none;background:var(--paper)}
.nzh-kalshi:hover{border-color:var(--brand)}
.nzh-kalshi::after{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1h7v7M11 1L1 11' stroke='black' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1h7v7M11 1L1 11' stroke='black' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}

/* Ultra Pro band */
.nzup{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:28px 48px;align-items:center;padding:30px 34px;border-radius:22px;background:var(--brand-soft);border:1px solid var(--line-2)}
.nzup .eyebrow{margin:0 0 6px;font:800 12.5px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}
.nzup h2{font:800 clamp(24px,2.6vw,34px)/1.15 var(--sans);color:var(--ink);letter-spacing:-.01em;text-wrap:balance}
.nzup-copy p:not(.eyebrow){margin-top:10px;max-width:62ch;font-size:16px;line-height:1.6;color:var(--ink-2)}
.nzup-go{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.nzup-go .btn{justify-content:center;text-align:center}
.nzup-go .nzh-link{justify-content:center}
.nzup-fine{font-size:12.5px;line-height:1.45;color:var(--ink-3);text-align:center}
@media (max-width:860px){.nzup{grid-template-columns:1fr;padding:24px 20px}.nzup h2 br{display:none}}

/* answers: four blocks in two rows */
.nzseo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}
@media (max-width:860px){.nzseo-grid{grid-template-columns:1fr;gap:20px}}

/* FAQ: a heading column on the left that stays put, cards on the right */
.nzfaq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px 56px;margin-top:48px;padding-top:40px;border-top:1px solid var(--line-2)}
.nzfaq-head{align-self:start;position:sticky;top:120px}
.nzfaq-head h2{font:800 clamp(24px,2.4vw,30px)/1.2 var(--sans);color:var(--ink);margin:0 0 8px;text-wrap:balance}
.nzfaq-head p{font-size:15px;color:var(--ink-3)}
.nzfaq-list{display:grid;gap:10px}
.nzq{background:var(--paper);border:1px solid var(--line-2);border-radius:14px;transition:border-color .15s ease,box-shadow .15s ease}
.nzq:hover{border-color:var(--line-3)}
.nzq[open]{border-color:var(--brand);box-shadow:var(--shadow)}
.nzq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 18px;cursor:pointer;list-style:none;font:700 16.5px/1.4 var(--sans);color:var(--ink)}
.nzq summary::-webkit-details-marker{display:none}
.nzq summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:14px}
.nzq summary::after{content:"";flex:0 0 28px;height:28px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .2s ease}
.nzq[open] summary::after{transform:rotate(45deg);background-color:var(--brand-soft)}
.nzq-a{padding:0 18px 16px}
.nzq-a p{margin:0;font-size:15.5px;line-height:1.65;color:var(--ink-2);max-width:68ch}
@media (prefers-reduced-motion:reduce){.nzq,.nzq summary::after{transition:none}}
@media (max-width:960px){.nzfaq{grid-template-columns:1fr;margin-top:36px;padding-top:28px}.nzfaq-head{position:static}}
@media (max-width:480px){.nzq summary{font-size:15.5px;padding:12px 14px}.nzq-a{padding:0 14px 14px}}
/* v13b phone: the Ultra Pro button keeps one line, the fine print balances */
.nzup-fine{text-wrap:balance}
@media (max-width:480px){.nzup-go .btn{font-size:16px;padding-left:14px;padding-right:14px;white-space:nowrap}.nzup h2{font-size:25px}}

/* ---------- v14 (2026-10-18; Jay: "the correct or missed is always below the call and let's center it better ... so they are all
   aligned so the eyes know"). A closed row is three lines: the call, its tags, then the window with the numbers. The numbers sit in
   three fixed columns (result %, buy price, exit) that are the same width on every row, so they line up down the list. The logo and
   chevron center on the whole row; the dollar result centers on the call and its tags. Tokens only. ---------- */
.nzt-scroll{container:nzt / inline-size}
.nzt-row{column-gap:14px}
.nzt-row .nzt-logo,.nzt-row .nzt-chev{grid-row:1 / -1;align-self:center}
.nzt-row--c{grid-template-rows:auto auto auto;row-gap:3px}
.nzt-row--c .nzt-t{grid-column:2;grid-row:1}
.nzt-row--c .nzt-tags{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:5px;margin:1px 0 1px;vertical-align:0}
.nzt-row--c .nzt-s{grid-column:2;grid-row:3}
.nzt-row--c .nzt-r{grid-column:3;grid-row:1 / span 2;align-self:center;font-size:17px}
.nzt-row--c .nzt-r2{grid-column:3;grid-row:3}
.nzt-row:not(.nzt-row--c){grid-template-rows:auto auto}
.nzt-row:not(.nzt-row--c) .nzt-r2{grid-column:3;grid-row:2}
/* the three number columns */
.nzt-r2{display:grid;grid-template-columns:6ch 19ch 14ch;column-gap:14px;justify-items:end;align-items:start;text-align:right;white-space:nowrap}
.nzt-c{display:block;min-width:0}
.nzt-c1{font-weight:700}
.nzt-c1.is-pos{color:var(--gain)}.nzt-c1.is-neg{color:var(--loss-ink)}
.nzt-c3{display:grid;justify-items:end;color:var(--ink-2)}
/* a narrow list (the two-column page on a laptop, any phone): the numbers drop to their own line under the window, still in the same
   three columns, now reading left to right */
@container nzt (max-width:760px){
  .nzt-row--c{grid-template-rows:auto auto auto auto}
  .nzt-row--c .nzt-r{grid-row:1 / span 2}
  .nzt-row .nzt-r2,.nzt-row:not(.nzt-row--c) .nzt-r2{grid-column:2 / 4;grid-row:3;justify-items:start;text-align:left;grid-template-columns:5.5ch 18ch 1fr;column-gap:10px;margin-top:2px;white-space:nowrap}
  .nzt-row--c .nzt-r2{grid-row:4}
  .nzt-row:not(.nzt-row--c){grid-template-rows:auto auto auto}
  .nzt-row .nzt-c3{justify-items:start}
}
/* v14b: open rows lead with dollars, which need a wider first column; on a phone the result sits beside the call alone so the tags and
   the window get the full width */
.nzt-row:not(.nzt-row--c) .nzt-r2{grid-template-columns:8ch 19ch 14ch}
@container nzt (max-width:760px){.nzt-row:not(.nzt-row--c) .nzt-r2{grid-template-columns:7.5ch 18ch 1fr}}
@container nzt (max-width:480px){
  .nzt-row--c .nzt-r{grid-row:1;align-self:start}
  .nzt-row--c .nzt-tags,.nzt-row--c .nzt-s{grid-column:2 / 4}
}
@container nzt (max-width:480px){
  .nzt-row--c .nzt-r2{grid-template-columns:5.5ch 17.5ch minmax(0,1fr);column-gap:8px}
  .nzt-row .nzt-c3{white-space:normal}
}
/* v14c small phones: drop " at" so each value stays on one line; a split exit still stacks one part per line */
.nzt-ln{white-space:nowrap}
@container nzt (max-width:400px){
  .nzt-at,.nzt-bw{display:none}
  .nzt-row--c .nzt-r2{grid-template-columns:5.5ch 12.5ch minmax(0,1fr)}
  .nzt-row:not(.nzt-row--c) .nzt-r2{grid-template-columns:7.5ch 12.5ch 1fr}
  .nzt-row--c .nzt-r{font-size:16px}
}
.nzt-ln--split{white-space:normal}

/* v14d (2026-10-18; Jay: "show the price opened at too for the mini nav"): the strip reads "AnJie · opened 11:03 AM at 85¢ · 10:54";
   a phone drops the open time so the profit stays on the chip: "AnJie · bought at 85¢ · 10:54" */
/* v14f: the strip line is "AnJie · bought at 85¢" at every width; the ring carries the times */

/* v14e (2026-10-18): the ring reads like a clock (assets/pages/nz-cash.js ringOf). The buy tick is green for Up, red for Down; the chip's
   Up/Down pill says the same in words, so color is never the only signal. A 3.6px tick crosses the 3px ring and pokes past it, with a
   paper halo so it reads over the arc. */
.nzs-ring{overflow:visible}
.nzs-buy{stroke-width:3.6;stroke-linecap:round;filter:drop-shadow(0 0 1.5px var(--paper))}
.nzs-buy.is-up{stroke:var(--gain)}
.nzs-buy.is-down{stroke:var(--loss-ink)}

/* v14g: one countdown for the strip, beside "Open now", instead of one per chip; the rings show each trade's place in the window */
.nzs-clock{display:inline-flex;align-items:center;gap:6px;padding-left:10px;margin-left:2px;border-left:1px solid var(--line-2);font:800 15px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);font-variant-numeric:tabular-nums}
.nzs-clock[hidden]{display:none}
.nzs-clock.is-closing::after{display:none}
.nzs-clock::after{content:"left";font:700 12px/1 var(--sans);color:var(--ink-3)}
@media (max-width:480px){.nzs-clock{font-size:14px;padding-left:8px}.nzs-clock::after{display:none}
  .nzs-k .nzh-live,.nzs-ag{display:none}.nzs-px{display:inline-block}.nzs-px::first-letter{text-transform:uppercase}}   /* the face on the logo names the agent; the profit stays on the chip */

/* v14h (2026-10-18; Jay: "the last updated and countdown thing too like 15 seconds kalshi prices"): the strip's end reads
   "Kalshi prices 4s ago · next in 11s" with a small ring that fills clockwise over the 15 seconds. Tablet and phone hide it; the hero
   card says when the numbers were read. */
.nzs-sync{flex:none;display:flex;align-items:center;gap:7px;margin:0;padding-left:14px;border-left:1px solid var(--line-2);font:600 12.5px/1.2 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.nzs-sync[hidden]{display:none}
.nzs-sring{width:16px;height:16px;flex:none}
.nzs-strack{fill:none;stroke:var(--line-2);stroke-width:2.5}
.nzs-sarc{fill:none;stroke:var(--brand);stroke-width:2.5;transition:stroke-dasharray 1s linear}
.nzs-sync.is-stale{color:var(--loss-ink)}
.nzs-sync.is-stale .nzs-sarc{stroke:var(--loss-ink)}
@media (prefers-reduced-motion:reduce){.nzs-sarc{transition:none}}
@media (max-width:1100px){.nzs-sync{display:none}}
.nzs-st{display:grid;gap:2px}
.nzs-st b{font:700 11px/1.1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.nzs-st span{font:600 12.5px/1.15 var(--sans);min-width:12ch}
.nzs-sync.is-stale .nzs-st b{color:inherit}

/* v14i (2026-10-18; Jay: "don't let the positioning of things change with the countdown ... make like a timer that is fixed position").
   The strip is centered, so a timer that grows or shrinks by one character moved everything beside it every second. Both timers now
   sit in fixed-width slots: the window clock's number is 6ch, right-aligned so "left" never moves; the Kalshi line is 19ch. */
.nzs-cn{display:inline-block;min-width:6ch;text-align:right;font:inherit;font-variant-numeric:tabular-nums}
.nzs-clock.is-closing .nzs-cn{min-width:0}
.nzs-st span{display:block;width:19ch;min-width:0;overflow:hidden;text-overflow:clip}

/* v14j: a just-closed chip (assets/pages/nz-cash.js ghost) shows its result for 6 seconds: confetti for a profit, bombs for a loss */
.nzs-chip{position:relative}
.nzs-chip.is-gone .nzs-btn{cursor:default}
.nzs-chip.is-won .nzs-btn{border-color:var(--gain);box-shadow:0 0 0 3px var(--gain-soft),var(--shadow)}
.nzs-chip.is-lost .nzs-btn{border-color:var(--loss-ink);box-shadow:0 0 0 3px var(--drop-soft),var(--shadow)}
.nzs-chip.is-gone .nzs-p{font-size:17px}
.nzs-chip.is-leaving{opacity:0;transform:scale(.92);transition:opacity .35s ease,transform .35s ease}
.nzs-fx{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:3}
.nzs-cf{position:absolute;left:-3px;top:-5px;width:6px;height:10px;border-radius:2px;animation:nzs-fly 1.3s cubic-bezier(.15,.7,.3,1) both}
.nzs-bm{position:absolute;left:-10px;top:-11px;font-size:18px;font-style:normal;line-height:1;animation:nzs-fly 1.5s cubic-bezier(.2,.8,.3,1) both}
@keyframes nzs-fly{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.4)}15%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1)}}
@media (prefers-reduced-motion:reduce){.nzs-fx{display:none}.nzs-chip.is-leaving{transition:none}}

/* v14k (2026-10-18; Jay: "change name from NZ to PM1 ... Oct 18, 2026 should be in line 2 ... Up or Down can be line 2 ... no humans
   should be line 2"): every fact is two set lines, never a wrap that leaves one word alone */
.nzh-facts dd span{display:block;white-space:nowrap}

/* v14l (2026-10-18; Jay: "have the activity and trades end at the same length"). On a two-column screen both cards are one fixed
   height and each list takes whatever the card's own header leaves, so the bottoms line up whichever tab is open. While the date
   calendar is open the trades card grows instead of squeezing its list. */
@media (min-width:1025px){
  .nzg{align-items:stretch}
  .nzg > .nzt{position:static}
  .nza,.nzt{display:flex;flex-direction:column;height:clamp(600px,82vh,880px)}
  .nza-scroll,.nzt-scroll{flex:1 1 auto;min-height:0;max-height:none}
  .nza-head,.nzt-head,.nzt-tools,.nzt-sum,.nzt-foot{flex:none}
  .nzt:has(.nzt-cal:not([hidden])){height:auto}
  .nzt:has(.nzt-cal:not([hidden])) .nzt-scroll{max-height:min(68vh,620px)}
}

/* v14m (2026-10-18; Jay: "why is doge cut off when there is so much space - stretch the mini nav so it fits"). The strip sat inside
   the site's content width (--wrap), so a third chip scrolled under the fade while the window's sides stood empty. It now runs the
   full window with the page gutter; it still scrolls when the chips truly outgrow the screen. */
.nzs > .wrap{max-width:none;padding-left:clamp(16px,2.5vw,40px);padding-right:clamp(16px,2.5vw,40px)}
.nzs.is-tight .nzs-ag{display:none}
.nzs.is-tight .nzs-px{display:inline-block}
.nzs.is-tight .nzs-px::first-letter{text-transform:uppercase}
.nzs.is-tighter .nzs-lbl{display:none}
.nzs.is-tightest .nzs-sync{display:none}

/* v14n (2026-10-18): who owns PM1, said plainly under the numbers (a PM Countdown team member's own account; FTC 16 CFR 255.5
   material connection), with the live-results line (claude/systems/05-compliance-positioning.md 6C) */
.nzh-disc{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--ink-3);text-wrap:pretty}
