/* Agent ZiC's Lab page (1.0, 2026-10-09, Wave 3), from assets/wojimi/wojimi.css on LoLo's page shell (writers.css + lolo.css).
   ZiC's accent is the violet already in the tree (assets/desk.css --dk-vwap): #7c3aed on light pages, #a78bfa on dark ones,
   never the other way round (#a78bfa on #ffffff is 2.72:1, #7c3aed on #0e1628 3.17:1). Computed WCAG 2.x, sRGB:
   #7c3aed on --paper #ffffff 5.70:1, on --surface-2 #f6f8fd 5.36:1, on the --zc-soft wash 4.64:1 at worst;
   #a78bfa on --paper #0e1628 6.63:1, on --surface-2 #121b31 6.29:1, on the --zc-soft wash 4.85:1 at worst, on --dark #060b1a
   7.21:1 (the founding band, dark in both themes); button ink #ffffff on #7c3aed 5.70:1, #060b1a on #a78bfa 7.21:1.
   --zc-line (the accent at 45%) is a decorative hairline, 2.07:1 light and 2.34:1 dark: every card it edges also has its own
   fill, so the boundary does not rest on it. No new literal enters the tree. Green and red mean Up and Down and nothing else. */
.zc-page{--zc-violet:#7c3aed;--zc-violet-d:#a78bfa;
  --zc-acc:var(--zc-violet);--zc-acc-ink:#ffffff;--zc-soft:rgba(124,58,237,.10);--zc-line:color-mix(in srgb,var(--zc-acc) 45%,transparent)}
:root[data-theme="dark"] .zc-page{--zc-acc:var(--zc-violet-d);--zc-acc-ink:#060b1a;--zc-soft:rgba(167,139,250,.16)}

/* hero: the medallion carries its own ring, so the frame is only a soft violet glow */
.zc-hero .lo-av.zc-av{box-shadow:0 22px 56px -22px color-mix(in srgb,var(--zc-acc) 60%,transparent);background:transparent}
.zc-hero .zc-av .lo-av-m{display:block;width:100%;height:100%}
.zc-hero .zc-av img,.zc-hero .zc-av svg{display:block;width:100%;height:100%;border-radius:50%}
.zc-av.is-thinking::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--zc-acc);opacity:0;animation:lo-breathe 2.4s ease-out infinite;pointer-events:none}
@media (prefers-reduced-motion:reduce){.zc-av.is-thinking::after{animation:none}}
.zc-hero .wr-chips li{border-color:var(--zc-line)}
.zc-hero .wr-follow .btn-brand{background:var(--zc-acc);border-color:var(--zc-acc);color:var(--zc-acc-ink)}
.zc-hero .wr-follow .btn-brand:hover{filter:brightness(1.08)}
.zc-ref{margin:12px 0 0;font:500 13px/1.4 var(--sans);color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}

.zc-h2{margin:0 0 12px;font:800 20px/1.2 var(--sans);color:var(--ink);text-wrap:balance}
.zc-body .wr-bio p{max-width:66ch}

/* how ZiC trades */
.zc-how{margin-top:26px}
.zc-list{margin:0;padding-left:22px;font:500 16px/1.55 var(--sans);color:var(--ink-2)}
.zc-list li{margin:0 0 10px;padding-left:4px}
.zc-list li::marker{color:var(--zc-acc);font-weight:800}
.zc-list b{color:var(--ink)}

/* notes: what ZiC watches, the hours, the cents note, where the rules come from */
.zc-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.zc-note{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}
.zc-note h3{margin:0 0 8px;font:800 17px/1.25 var(--sans);color:var(--ink)}
.zc-note p{margin:0;font:500 15px/1.55 var(--sans);color:var(--ink-2)}
.zc-note p+p{margin-top:8px}
.zc-note--scale,.zc-note--study{grid-column:1/-1}
.zc-note--scale{border-color:var(--zc-line);background:var(--zc-soft)}
.zc-note--scale h3{color:var(--zc-acc)}
.zc-hours{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px;font:600 14px/1.4 var(--sans);color:var(--ink)}
.zc-hours li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}
.zc-hours li span{color:var(--ink-3);font-weight:500}

/* ZiC's own words */
.zc-say{margin:22px 0 0;padding:16px 20px;border-left:3px solid var(--zc-acc);border-radius:0 var(--r) var(--r) 0;background:var(--zc-soft)}
.zc-say blockquote{margin:0}
.zc-say p{margin:0;font:700 18px/1.45 var(--sans);color:var(--ink);text-wrap:pretty}
.zc-say figcaption{margin-top:6px;font:600 13px/1.3 var(--sans);color:var(--ink-2)}

/* FAQ */
.zc-faq-s{margin-top:28px}
.zc-faq{margin:0;display:grid;gap:10px}
.zc-faq>div{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.zc-faq dt{font:800 16px/1.35 var(--sans);color:var(--ink)}
.zc-faq dd{margin:6px 0 0;font:500 15px/1.55 var(--sans);color:var(--ink-2)}

/* record */
.zc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.zc-grid>div{padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);min-width:0}
.zc-grid dt{font:700 11px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.zc-grid dd{margin:8px 0 6px;font:800 34px/1 var(--cond);color:var(--ink);font-variant-numeric:tabular-nums}
.zc-grid small{font:500 13px/1.4 var(--sans);color:var(--ink-3)}
.zc-stats{margin-top:26px}
.zc-page .is-pos{color:var(--gain)}.zc-page .is-neg{color:var(--loss)}
.zc-first{padding:22px 24px;border:1px dashed var(--zc-line);border-radius:var(--r-lg);background:var(--zc-soft)}
.zc-first-t{margin:0;font:800 20px/1.35 var(--sans);color:var(--ink);text-wrap:balance}
.zc-first-s{margin:8px 0 0;font:500 14.5px/1.5 var(--sans);color:var(--ink-2)}
.zc-fg{grid-template-columns:minmax(0,1fr)}
.lch-l.zc-l{stroke:var(--zc-acc)}.lch-p.zc-p{fill:var(--zc-acc)}

/* trade log */
.zc-tlog{padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}
.zc-tlog-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.zc-tlog-h>div{text-align:center;min-width:0}.zc-tlog-h h2{margin:2px 0}
.zc-nav{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font:700 20px/1 var(--sans);cursor:pointer}
.zc-nav:hover{border-color:var(--zc-acc)}
.zc-tlog-l{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.zc-tl,.zc-tlog-empty{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.zc-tlog-empty{color:var(--ink-2);font:500 14px/1.5 var(--sans)}
.zc-first-li{border-style:dashed;border-color:var(--zc-line);background:var(--zc-soft);color:var(--ink);font-weight:700}
.zc-tl--off{border-style:dashed;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(127,127,127,.06) 8px 16px)}
.zc-tl--off .zc-tl-r,.zc-tl--off .zc-tl-note{color:var(--ink-2)}
.zc-tl-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zc-tl-w{font:700 14px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.zc-tl-r{font-size:13px;color:var(--ink-2)}
.zc-tl-n{margin-left:auto;font:800 16px/1 var(--cond);font-variant-numeric:tabular-nums}
.zc-tl-d,.zc-tl-g{margin:6px 0 0;font-size:13px;color:var(--ink-2)}
.zc-tl-g{margin-top:3px;font-variant-numeric:tabular-nums}
.zc-tl-note{margin:4px 0 0;font-size:13.5px;color:var(--ink)}
.zc-tp{font:700 11px/1 var(--sans);padding:4px 8px;border-radius:6px;color:#fff;letter-spacing:.04em}
.zc-tp.is-up{background:var(--gain)}.zc-tp.is-down{background:var(--loss)}.zc-tp.is-flat{background:var(--line-2);color:var(--ink-2)}
:root[data-theme="dark"] .zc-tp.is-up,:root[data-theme="dark"] .zc-tp.is-down{color:#07101f}
.zc-ok{color:var(--gain);font-weight:700}.zc-no{color:var(--loss);font-weight:700}
.zc-tlog-f{margin:12px 0 0;font-size:13px;color:var(--ink-3)}
.zc-tlog .lo-tlog-c{margin:4px 0 14px;color:var(--ink-2)}
.zc-tlog .lt-cr{font-size:17px;color:var(--ink)}
.zc-tlog .lt-cr em{color:var(--gain);text-shadow:none}
.zc-tlog .lt-cf--cum{color:var(--ink-3)}
.zc-tlog .lo-tlog-c .is-gain{color:var(--gain)}.zc-tlog .lo-tlog-c .is-loss{color:var(--loss)}.zc-tlog .lo-tlog-c .is-flat{color:var(--ink-2)}

/* patch notes */
.zc-pn-lede{color:var(--ink-2);margin:4px 0 14px}
.zc-pn-c{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2);margin-bottom:12px}
.zc-pn-c.is-live{border-color:var(--zc-line);box-shadow:inset 3px 0 0 var(--zc-acc)}
.zc-pn-c h3{margin:2px 0;font:800 20px/1.2 var(--sans);color:var(--ink)}
.zc-pn-when{margin:0;font-size:13px;color:var(--ink-3)}
.zc-pn-st{margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--zc-soft);color:var(--zc-acc);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.zc-pn-c ul{margin:10px 0 0;padding-left:18px;color:var(--ink-2)}.zc-pn-c li{margin:4px 0}
.zc-pn-why{margin:8px 0 0;font-size:14px;color:var(--ink-2)}

/* rail */
.zc-page .lo-sb-desk{border-color:var(--zc-line)}
.zc-disc{margin:26px 0 8px}

/* the founding band keeps LoLo's dark card (--dark in both themes), so its accent is always the dark-surface violet */
.zc-page .lo-join h2 em{color:var(--zc-violet-d)}

@media (max-width:860px){.zc-notes{grid-template-columns:1fr}}
@media (max-width:640px){
  .zc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zc-grid dd{font-size:28px}
  .zc-note{padding:16px}
  .zc-first{padding:18px 16px}.zc-first-t{font-size:18px}
}

/* lolo.css colours these for LoLo's dark log card; ZiC's log card follows the theme, so they take the page's ink here */
.zc-tlog .lo-tlog-k{color:var(--zc-acc)}
.zc-tlog .lo-tlog-s{color:var(--ink-2)}
.zc-pn-c .lp-v{display:inline-flex;align-items:baseline;gap:6px;width:auto;height:auto;margin:0 0 6px;padding:5px 10px;border-radius:8px;background:var(--zc-acc);color:var(--zc-acc-ink);font:800 16px/1 var(--cond)}
.zc-pn-c .lp-v span{display:inline;margin:0;font-size:9.5px}
.lo-calls .zc-first{grid-column:1/-1}
.lo-calls:has(.zc-first){display:block}

/* the month mini nav (lolo.css .mn*): the chosen chip is ink on paper inverted, so its net needs its own colours to keep
   AA in both themes (lolo.css uses --ink-3 and light greens there, 3.3:1 and 1.4:1 on the inverted chip) */
.zc-page .mn-m.is-on .mn-net{color:color-mix(in srgb,var(--paper) 80%,var(--ink))}
.zc-page .mn-m.is-on .mn-net.is-gain{color:#7ee2a8}.zc-page .mn-m.is-on .mn-net.is-loss{color:#ff9aa4}
:root[data-theme="dark"] .zc-page .mn-m.is-on .mn-net.is-gain{color:#087043}
:root[data-theme="dark"] .zc-page .mn-m.is-on .mn-net.is-loss{color:#b42333}
.zc-page{--ag-acc:var(--zc-acc);--ag-soft:var(--zc-soft);--ag-line:var(--zc-line)}   /* the Record card (assets/pages/lolo.css .ag-rec), 2026-10-15 */
