/* ============================================================
   CIRCA — EDITORIAL SKIN v2
   Landing-matched voice, tuned for readability and pop:
     · light warm ground, TRUE WHITE cards with soft lift
     · Fraunces serif display, darker ink, larger numerals
     · tinted chips instead of ghost outlines
     · ink buttons, one professional blue accent, Poppins display
   Loads LAST. The endurance schema keeps structure and density;
   this layer owns surface, type voice and colour.
   ============================================================ */

:root{
  /* Margins app tokens (endurancelabs.ai/margins/app/commissions), verbatim:
     bg #efefef · surface #fff · ink #1a1a1a is also the accent · line #ececec
     · muted #5f5f5f / #767676 · radius 16/10 · red #c4342f is the ONLY colour */
  --ed-paper:   #efefef;
  --ed-paper-2: #f4f4f4;
  --ed-card:    #ffffff;
  --ed-ink:     #1a1a1a;
  --ed-muted:   #5f5f5f;
  --ed-faint:   #767676;
  --ed-line:    #ececec;
  --ed-line-2:  #f1f1f1;
  --ed-line-strong:#dcdcdc;
  --ed-btn:     #1a1a1a;
  --ed-accent:  #1a1a1a;   /* the accent IS the ink */
  --ed-accent-2:#1a1a1a;
  --ed-accent-bg:#f4f4f4;
  --ed-bad:     #c4342f;
  --ed-lift:    0 1px 3px rgba(16,18,22,.07), 0 16px 40px rgba(16,18,22,.10);
  --ed-lift-sm: 0 1px 3px rgba(16,18,22,.06), 0 6px 18px rgba(16,18,22,.07);
  --ed-display: 'Satoshi', var(--font-sans);
  --font-sans:  'Satoshi', 'Geist', ui-sans-serif, system-ui, sans-serif;
}

/* ---- light profile: white on warm ---- */
[data-theme="light"]{
  --color-bg:            var(--ed-paper);
  --color-bg-2:          var(--ed-card);
  --color-bg-3:          #f4f4f4;
  --color-cloud-whisper: var(--ed-ink);
  --color-text-muted:    var(--ed-muted);
  --color-slate-hint:    var(--ed-faint);
  --color-border:        var(--ed-line);
  --color-border-soft:   var(--ed-line-2);
  --glass-bg:            var(--ed-card);
  --glass-bg-hover:      #f6f6f6;
  --glass-border:        var(--ed-line);
  --glass-border-top:    var(--ed-line);
  --topbar-bg:           rgba(255,255,255,.92);
  --topbar-border:       var(--ed-line);
  --subnav-bg:           rgba(244,244,244,.96);
  --subnav-border:       var(--ed-line);
  --nav-dropdown-bg:     var(--ed-card);
  --nav-dropdown-border: var(--ed-line);
  --nav-dropdown-text:   var(--ed-ink);
  --nav-dropdown-hover-bg: #f4f4f4;
  --nav-dropdown-divider:  var(--ed-line-2);
  --nav-item-color:       rgba(28,23,16,.6);
  --nav-item-hover-bg:    rgba(28,23,16,.05);
  --nav-item-hover-color: var(--ed-ink);
  --nav-icon-color:       rgba(28,23,16,.5);
  --nav-icon-hover-bg:    rgba(28,23,16,.06);
  --nav-icon-hover-color: var(--ed-ink);
  --nav-mobile-bg:        var(--ed-card);
  --nav-mobile-item-color: var(--ed-ink);

  /* charts carry the brand now — vivid violet, blue for the star series */
  --chart-1:   #bdbdbd;
  --chart-2:   #dcdcdc;
  --chart-mute:#ececec;
  --chart-accent: #1a1a1a;

  /* semantics per the app: bad is red; good and warn are monochrome */
  --color-green: #1a1a1a;  --color-green-bg: #f4f4f4;
  --color-amber: #5f5f5f;  --color-amber-bg: #f4f4f4;
  --color-red:   #c4342f;  --color-red-bg:   rgba(196,52,47,.09);

  --ticker-bg:   #1a1a1a;
  --ticker-text: #e8e8e8;
  --ticker-label-color: rgba(255,255,255,.48);
  --ticker-sep-color:   rgba(255,255,255,.14);
  --ticker-change-color:rgba(255,255,255,.85);
}

/* ---- readability: everything a notch bigger, a notch darker ---- */
[data-theme="light"] body{ font-size: 14.5px; background-image: none !important; }
[data-theme="light"] body::after{ display:none; }
[data-theme="light"] table.ci{ font-size: 12.5px; }
[data-theme="light"] table.ci tbody td{ padding: 8px 11px; }
[data-theme="light"] table.ci tbody tr{ height: 38px; }
[data-theme="light"] .sec-head p{ font-size: 13px; }
[data-theme="light"] .page-subtitle{ font-size: 15px; max-width: 70ch; }
[data-theme="light"] .kpi .l{ font-size: 10.5px !important; letter-spacing: .05em !important; }
[data-theme="light"] .kpi .v{ font-size: 28px !important; font-family: var(--font-mono) !important; color: var(--ed-ink) !important; }
[data-theme="light"] .kpi .s{ font-size: 11.5px !important; }

/* ---- type voice: serif display ---- */
[data-theme="light"] .page-title,
[data-theme="light"] .page-hero-title,
[data-theme="light"] .hero-line,
[data-theme="light"] .sec-head h2,
[data-theme="light"] .a360 .name,
[data-theme="light"] .lcard .addr,
[data-theme="light"] .qtext,
[data-theme="light"] .verdict .v{
  font-family: var(--ed-display) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}
[data-theme="light"] .page-title{ font-size: 32px; }
[data-theme="light"] .sec-head h2{ font-size: 20px; }
[data-theme="light"] .hero-line .accent,
[data-theme="light"] .page-hero-title .accent{
  font-style: normal !important; color: #767676 !important; font-weight: 600 !important;
}
[data-theme="light"] .sec-head .eyebrow{ color: #767676 !important; letter-spacing: .14em !important; }

/* ---- white cards float: soft lift beats the flat rule here ---- */
[data-theme="light"] .panel,
[data-theme="light"] .tbl-wrap,
[data-theme="light"] .kpi-row,
[data-theme="light"] .lcard,
[data-theme="light"] .hero-card,
[data-theme="light"] .work .a360{
  box-shadow: none !important;
  border: 1px solid var(--ed-line);
  border-radius: 16px !important;
}
[data-theme="light"] .kpi{ border-radius: 0 !important; }
[data-theme="light"] .kpi-row{ overflow: hidden; }
[data-theme="light"] .q-item{ border-radius: 10px !important; box-shadow: none !important; border: 1px solid var(--ed-line); }
[data-theme="light"] .q-item.active{ border-left-color: var(--ed-accent); background: var(--ed-accent-bg); }
[data-theme="light"] .nav-dropdown{ box-shadow: var(--ed-lift) !important; border-radius: 12px !important; overflow: hidden; }
[data-theme="light"] .lane{ border-radius: 10px !important; }
[data-theme="light"] .card{ border-radius: 8px !important; }

/* ---- tables: white body, warm header band, violet-tint hover ---- */
[data-theme="light"] table.ci thead th{
  background: #f4f4f4 !important;
  color: #767676 !important;
  border-bottom: 1px solid var(--ed-line-strong);
}
[data-theme="light"] table.ci tbody tr:hover{ background: #f7f7f7; }

/* ---- chips: tinted fills, instantly scannable ---- */
[data-theme="light"] .chip, [data-theme="light"] .sla, [data-theme="light"] .ai-tag{
  border-radius: 999px !important;
  border: none !important;
  padding: 2px 10px 3px !important;
  font-weight: 500 !important;
}
[data-theme="light"] .chip       { background: #f4f4f4; color: #5f5f5f; }
[data-theme="light"] .chip.teal  { background: #eaeaea; color: #1a1a1a; }
[data-theme="light"] .chip.green { background: var(--color-green-bg); color: var(--color-green); }
[data-theme="light"] .chip.amber { background: var(--color-amber-bg); color: var(--color-amber); }
[data-theme="light"] .chip.red   { background: var(--color-red-bg);   color: var(--color-red); }
[data-theme="light"] .chip.grey  { background: #f4f4f4; color: #767676; }
[data-theme="light"] .sla.ok     { background: var(--color-green-bg); color: var(--color-green); }
[data-theme="light"] .sla.warn   { background: var(--color-amber-bg); color: var(--color-amber); }
[data-theme="light"] .sla.late   { background: var(--color-red-bg);   color: var(--color-red); }
[data-theme="light"] .ai-tag       { background: var(--ed-accent-bg); color: var(--ed-accent-2); }
[data-theme="light"] .ai-tag.human { background: var(--color-green-bg); color: var(--color-green); }

/* ---- buttons: violet primary carries the energy ---- */
[data-theme="light"] .btn{
  background: var(--ed-btn); border-color: var(--ed-btn); color: #fff;
  border-radius: 999px !important;
  font-family: var(--font-sans) !important;
  font-size: 12.5px; font-weight: 500 !important;
  letter-spacing: 0 !important; text-transform: none;
  transition: background .15s, transform .15s, box-shadow .15s !important;
}
[data-theme="light"] .btn:hover{
  background: #000; border-color:#000; color:#fff;
  transform: translateY(-1px); box-shadow: var(--ed-lift-sm);
}
[data-theme="light"] .btn.ghost{
  background: var(--ed-card); color: var(--ed-ink); border: 1px solid var(--ed-line-strong);
  box-shadow: none;
}
[data-theme="light"] .btn.ghost:hover{ background:#f4f4f4; color: var(--ed-ink); box-shadow: none; }
[data-theme="light"] .btn.teal{ background: var(--ed-btn); border-color: var(--ed-btn); color:#fff; }
[data-theme="light"] .btn.teal:hover{ background:#333; border-color:#333; }

/* inputs on white */
[data-theme="light"] .filters input,
[data-theme="light"] .filters select{
  border-radius: 10px !important;
  background: var(--ed-card);
  box-shadow: none;
  border: 1px solid var(--ed-line-strong);
}
[data-theme="light"] .subj-grid input,
[data-theme="light"] .subj-grid select{
  background: transparent; border: none; box-shadow: none; border-radius: 0 !important; padding: 0;
}
[data-theme="light"] .filters input:focus,
[data-theme="light"] .filters select:focus{ border-color: var(--ed-accent); }

/* ---- heroes and banners ---- */
[data-theme="light"] .page-hero{ background: var(--ed-paper); border-bottom: 1px solid var(--ed-line-strong); }
[data-theme="light"] .hero-card{ background: var(--ed-card); border-color: var(--ed-line); }
[data-theme="light"] .sim-banner{
  background: #f4f4f4; border: 1px solid var(--ed-line-strong); border-radius: 12px;
}
[data-theme="light"] .ai-block{
  background: var(--ed-card); border-left: 3px solid var(--ed-accent);
  border-radius: 12px; box-shadow: var(--ed-lift);
}

/* ---- accents ---- */
[data-theme="light"] .nav-desktop .nav-item > a.active,
[data-theme="light"] .section-subnav-item.active{ color: var(--ed-accent) !important; }
[data-theme="light"] .section-subnav-item.active{ background: var(--ed-accent-bg); border-radius: 999px; }
[data-theme="light"] .cite{ color: var(--ed-accent-2); border-bottom-color: rgba(61,107,184,.4); }
[data-theme="light"] .cite:hover{ color: #17284a; }
[data-theme="light"] .verdict{ box-shadow: none !important; }
[data-theme="light"] .kpi .v.good{ color: var(--color-green) !important; }
[data-theme="light"] .kpi .v.warn{ color: var(--color-amber) !important; }
[data-theme="light"] .kpi .v.bad{ color: var(--color-red) !important; }

/* wordmark: violet on light */
[data-theme="light"] .circa-wordmark{ content: url('/assets/circa-logo-ink.png'); }

/* ---- retire the old brand tokens wholesale in the light profile ----
   Pages still reference --circa-violet / --circa-blue locally; remap them
   so no purple can surface anywhere without touching every page. */
[data-theme="light"]{
  --circa-violet: #1a1a1a;
  --circa-violet-deep: #000;
  --circa-blue: #1a1a1a;
  --circa-lilac: #767676;
  --color-blue: #1a1a1a;
  --color-blue-light: #1a1a1a;
  --color-blue-pale: #f4f4f4;
  --color-navy: #1a1a1a;
  --color-navy-deep: #000;
}
[data-theme="light"] .hero-card h4{ color: #767676 !important; }
[data-theme="light"] .hero-sub b{ color: var(--ed-ink); }


/* ============================================================
   DARK PROFILE — same voice after dusk. Warm near-black, paper
   text, the terracotta accent lifted for contrast. No purple.
   ============================================================ */
:root:not([data-theme="light"]){
  --circa-violet: #e6dfd0;
  --circa-violet-deep: #cfc6b4;
  --circa-blue: #d6d6d6;
  --circa-lilac: #8d8474;
  --color-blue: #d6d6d6;
  --color-blue-light: #e8e8e8;
  --color-blue-pale: rgba(230,230,230,.12);
  --color-navy: #26221a;
  --color-navy-deep: #17140e;
  --color-bg:   #16130d;
  --color-bg-2: #201c14;
  --color-bg-3: #2a251b;
  --color-border: rgba(240,232,216,.14);
  --color-border-soft: rgba(240,232,216,.07);
  --color-cloud-whisper: #f0e9da;
  --color-text-muted: #a89f8d;
  --color-slate-hint: #7c7463;
  --glass-bg: #201c14;
  --glass-bg-hover: #2a251b;
  --glass-border: rgba(240,232,216,.14);
  --glass-border-top: rgba(240,232,216,.14);
  --topbar-bg: rgba(22,19,13,.94);
  --topbar-border: rgba(240,232,216,.12);
  --subnav-bg: rgba(22,19,13,.96);
  --subnav-border: rgba(240,232,216,.12);
  --chart-1: #b6ae9d;
  --chart-2: #57503f;
  --chart-mute: #332d21;
  --chart-accent: #d6d6d6;
}
:root:not([data-theme="light"]) .page-title,
:root:not([data-theme="light"]) .sec-head h2,
:root:not([data-theme="light"]) .hero-line{
  font-family: var(--ed-display) !important; font-weight: 600 !important; letter-spacing: -0.02em !important;
}
:root:not([data-theme="light"]) .hero-line .accent{ color:#d6d6d6 !important; font-style:normal !important; }
:root:not([data-theme="light"]) .btn{
  background:#f0e9da !important; border-color:#f0e9da !important; color:#17140e !important; border-radius:999px !important;
  letter-spacing:0 !important; text-transform:none; font-weight:500 !important; font-size:12.5px;
}
:root:not([data-theme="light"]) .btn:hover{ background:#fff !important; border-color:#fff !important; color:#000 !important; }
:root:not([data-theme="light"]) .btn.teal{ background:#d6d6d6 !important; border-color:#d6d6d6 !important; color:#141414 !important; }
:root:not([data-theme="light"]) .chip, :root:not([data-theme="light"]) .sla, :root:not([data-theme="light"]) .ai-tag{
  border-radius:999px !important; border:none !important; padding:2px 10px 3px !important;
}
:root:not([data-theme="light"]) .chip{ background:#2a251b; color:#c3bba9; }

/* ============================================================
   POLISH PASS
   ============================================================ */
[data-theme="light"] .kpi{ padding: 18px 20px; }
[data-theme="light"] .kpi .l::before{ width:7px; height:7px; }

/* verdict tiles: mono numerals like every other stat */
[data-theme="light"] .verdict .v{ font-family: var(--font-mono) !important; letter-spacing: -0.01em !important; }
[data-theme="light"] .verdict .mid .v{ color: var(--ed-accent-2) !important; }

[data-theme="light"] .sec-head h2{ font-size: 22px; }
[data-theme="light"] .panel-head h3{ color: var(--ed-faint) !important; }
[data-theme="light"] .filters input, [data-theme="light"] .filters select{ border-radius: 10px !important; }
[data-theme="light"] .portal-topbar-meta{ color: var(--ed-faint); }
[data-theme="light"] .hero-card .row{ padding: 8px 0; }


/* ---- atmospheric grain: a whisper of film over the gradient ---- */
body::after{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:2; opacity:.026;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
:root:not([data-theme="light"]) body::after{ opacity:.05; }
@media print{ body::after{ display:none; } }

/* ticker deltas on the ink rail: mono for up/flat, the app's red for down */
.ticker-change.up   { color:#dcdcdc !important; background:rgba(255,255,255,.08) !important; }
.ticker-change.down { color:#e88a86 !important; background:rgba(196,52,47,.22) !important; }


/* active menu rows: ink on grey, per the scheme */
[data-theme="light"] .nav-dropdown-item.active{ background:#f4f4f4 !important; color:#1a1a1a !important; font-weight:600; }


/* ============================================================
   ROUND 3 — the Margins-app voice at full volume.
   Bigger, bolder Satoshi; KPI strips become separated dash
   cards with display numerals; menus get real breathing room.
   ============================================================ */

/* ---- type scale up: this is what was reading small and flat ---- */
[data-theme="light"] body{ font-size: 15px; }
[data-theme="light"] table.ci{ font-size: 13px; }
[data-theme="light"] .page-title{ font-size: 36px; font-weight: 700 !important; letter-spacing: -0.03em !important; }
[data-theme="light"] .page-subtitle{ font-size: 15.5px; line-height: 1.65; }
[data-theme="light"] .sec-head h2{ font-size: 24px; font-weight: 700 !important; letter-spacing: -0.025em !important; }
[data-theme="light"] .sec-head p{ font-size: 13.5px; }
[data-theme="light"] .hero-line{ font-weight: 700 !important; letter-spacing: -0.03em !important; }

/* ---- dashboards that pop: each KPI is its own card, display numerals ---- */
[data-theme="light"] .kpi-row{
  background: transparent !important; border: none !important;
  gap: 12px !important; overflow: visible !important; border-radius: 0 !important; box-shadow: none !important;
}
[data-theme="light"] .kpi{
  background: var(--ed-card); border: 1px solid var(--ed-line);
  border-radius: 16px !important; padding: 20px 22px;
  transition: transform .15s var(--hume-ease), box-shadow .15s var(--hume-ease);
}
[data-theme="light"] .kpi:hover{ transform: translateY(-2px); box-shadow: var(--ed-lift-sm); }
[data-theme="light"] .kpi .v{
  font-family: var(--ed-display) !important; font-weight: 700 !important;
  font-size: 31px !important; letter-spacing: -0.03em !important;
  color: var(--ed-ink) !important; font-variant-numeric: tabular-nums;
}
[data-theme="light"] .kpi .v.bad{ color: var(--color-red) !important; }
[data-theme="light"] .kpi .l{ margin-top: 12px; }
[data-theme="light"] .kpi .s{ color: #767676 !important; }

/* verdict hero speaks the same voice */
[data-theme="light"] .verdict .mid .v{
  font-family: var(--ed-display) !important; font-weight: 700 !important; letter-spacing: -0.035em !important;
}
[data-theme="light"] .verdict .side .v{ font-weight: 600 !important; }

/* ---- menus: real breathing room (the role switcher was cramped) ---- */
.nav-dropdown{ padding: 6px !important; min-width: 240px; }
.nav-dropdown-item{ border-radius: 9px !important; padding: 10px 12px !important; line-height: 1.35; }
.nav-cal-head{ padding: 10px 12px 6px !important; font-size: 10px !important;
  letter-spacing: .12em !important; color: #767676 !important; }
.nav-role-item{ display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 11px 12px !important; }
.nav-role-item .rn{ font-weight: 600; font-size: 13.5px; }
.nav-role-item .rt{ font-size: 11px; color: #767676; font-weight: 400; }
.nav-role-item.active .rt{ color: #5f5f5f; }

/* ---- rhythm: sections breathe ---- */
[data-theme="light"] .page{ padding-top: 34px; }
[data-theme="light"] .sec-head{ margin: 38px 0 16px; }
[data-theme="light"] .page-header{ margin-bottom: 26px; }


/* ---- direct-message pings: reach the waiting human in one click ---- */
.ping{ display:inline-flex; gap:4px; margin-left:8px; vertical-align:2px; }
.pbtn{ font-family:var(--font-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase;
  padding:2px 9px; border:1px solid var(--ed-line-strong); border-radius:999px;
  color:#5f5f5f; background:var(--ed-card); line-height:1.6; transition:all .12s; }
.pbtn:hover{ background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
:root:not([data-theme="light"]) .pbtn{ background:transparent; color:#a89f8d; border-color:rgba(240,232,216,.25); }
:root:not([data-theme="light"]) .pbtn:hover{ background:#f0e9da; color:#17140e; border-color:#f0e9da; }


/* ============================================================
   FINAL VOICE — white-cream ground, violet hints, Manrope 800.
     ground   white melting into light cream, a whisper of violet
     display  Manrope ExtraBold; accent words italic in violet
     hints    eyebrows, actives, links, chart star, verdict hero
   Neutral everywhere else. Subtle, then it pops where it counts.
   ============================================================ */
:root{
  --font-sans: 'Manrope', 'Geist', ui-sans-serif, system-ui, sans-serif;
  --ed-display: 'Manrope', var(--font-sans);
  --cv:  #372675;   /* Circa violet */
  --cv-2:#2c1d61;
  --cv-bg:#efecf9;
  --cv-soft:#5B45A8;
}
[data-theme="light"]{
  --ed-paper:   #faf9f5;
  --ed-paper-2: #f3f1e9;
  --ed-line:    #e9e6de;
  --ed-line-2:  #f1efe8;
  --ed-line-strong:#ddd9cf;
  --color-bg:   #faf9f5;
  --color-bg-3: #f5f3ec;
  --color-border: #e9e6de;
  --color-border-soft:#f1efe8;
  --glass-bg-hover:#f7f5ef;
  --subnav-bg: rgba(250,249,245,.96);
  --nav-dropdown-hover-bg:#f5f3ec;
  --circa-violet: var(--cv);
  --color-blue: var(--cv);
  --color-blue-light: var(--cv);
  --color-blue-pale: var(--cv-bg);
}
[data-theme="light"] body{
  background-image:
    radial-gradient(58% 42% at 50% -6%, rgba(55,38,117,.05), transparent 70%),
    linear-gradient(180deg, #fdfcfa 0%, #f7f5ee 60%, #f4f1e8 100%) !important;
  background-attachment: fixed;
}
[data-theme="light"] body::after{ display:block; opacity:.02; }

/* display voice: Manrope ExtraBold, italic violet accents */
[data-theme="light"] .page-title,
[data-theme="light"] .page-hero-title,
[data-theme="light"] .hero-line,
[data-theme="light"] .sec-head h2,
[data-theme="light"] .a360 .name,
[data-theme="light"] .lcard .addr,
[data-theme="light"] .qtext{
  font-family: var(--ed-display) !important;
  font-weight: 800 !important;
  letter-spacing: -0.022em !important;
}
[data-theme="light"] .kpi .v{ font-family: var(--ed-display) !important; font-weight: 800 !important; }
[data-theme="light"] .hero-line .accent,
[data-theme="light"] .page-hero-title .accent{
  font-style: italic !important; font-weight: 800 !important; color: var(--cv) !important;
}

/* the violet hints */
[data-theme="light"] .sec-head .eyebrow{ color: var(--cv) !important; }
[data-theme="light"] .hero-card h4{ color: var(--cv) !important; }
[data-theme="light"] .nav-desktop .nav-item > a.active,
[data-theme="light"] .section-subnav-item.active{ color: var(--cv) !important; }
[data-theme="light"] .section-subnav-item.active{ background: var(--cv-bg); }
[data-theme="light"] .nav-dropdown-item.active{ background: var(--cv-bg) !important; color: var(--cv) !important; }
[data-theme="light"] .cite{ color: var(--cv); border-bottom-color: rgba(55,38,117,.35); }
[data-theme="light"] .cite:hover{ color: var(--cv-2); }
[data-theme="light"] .chip.teal{ background: var(--cv-bg); color: var(--cv); }
[data-theme="light"] .ai-tag{ background: var(--cv-bg); color: var(--cv); }
[data-theme="light"] .ai-block{ border-left-color: var(--cv); }
[data-theme="light"]{ --chart-accent: var(--cv-soft); }
[data-theme="light"] .verdict .mid .v{ color: var(--cv) !important; font-family: var(--ed-display) !important; font-weight: 800 !important; }
[data-theme="light"] .vrange .dot.main{ background: var(--cv) !important; box-shadow: 0 2px 10px rgba(55,38,117,.4) !important; }
[data-theme="light"] .btn.teal{ background: var(--cv); border-color: var(--cv); color:#fff; }
[data-theme="light"] .btn.teal:hover{ background: var(--cv-2); border-color: var(--cv-2); }
[data-theme="light"] .q-item.active{ border-left-color: var(--cv); background: var(--cv-bg); }
[data-theme="light"] .claude-mark{ color: var(--cv); }
[data-theme="light"] .kpi:hover{ border-color: rgba(55,38,117,.3); }
[data-theme="light"] .circa-wordmark{ content: url('/assets/circa-logo-violet.png'); }

/* dark keeps the same hints in lilac */
:root:not([data-theme="light"]){ --chart-accent:#9b87e0; }
:root:not([data-theme="light"]) .hero-line .accent{ color:#9b87e0 !important; font-style:italic !important; }
:root:not([data-theme="light"]) .sec-head .eyebrow{ color:#9b87e0 !important; }


/* ---- ground to pure white; the violet whisper stays, cream retires ---- */
[data-theme="light"]{
  --ed-paper:   #ffffff;
  --ed-paper-2: #f6f6f4;
  --ed-line:    #ebebe8;
  --ed-line-2:  #f2f2f0;
  --ed-line-strong:#dededa;
  --color-bg:   #ffffff;
  --color-bg-3: #f6f6f4;
  --color-border: #ebebe8;
  --color-border-soft:#f2f2f0;
  --glass-bg-hover:#f8f8f7;
  --subnav-bg: rgba(255,255,255,.96);
  --nav-dropdown-hover-bg:#f6f6f4;
}
[data-theme="light"] body{
  background-image:
    radial-gradient(58% 40% at 50% -6%, rgba(55,38,117,.045), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #fdfdfc 100%) !important;
}
/* white cards on white ground need their lift back */
[data-theme="light"] .panel,
[data-theme="light"] .tbl-wrap,
[data-theme="light"] .kpi,
[data-theme="light"] .lcard,
[data-theme="light"] .hero-card,
[data-theme="light"] .work .a360,
[data-theme="light"] .q-item,
[data-theme="light"] .verdict{
  box-shadow: var(--ed-lift-sm) !important;
}
[data-theme="light"] table.ci thead th{ background: #f6f6f4 !important; color:#7a7a76 !important; }
[data-theme="light"] table.ci tbody tr:hover{ background: #f8f7fb; }


/* ---- teamcirca.com as the reference: violet headings, their blue CTAs ---- */
:root{ --cb:#73A1EB; --cb-2:#5688d6; }
[data-theme="light"] .page-title,
[data-theme="light"] .page-hero-title,
[data-theme="light"] .hero-line,
[data-theme="light"] .sec-head h2{ color: var(--cv) !important; }
[data-theme="light"] .hero-line .accent,
[data-theme="light"] .page-hero-title .accent{ color: var(--cv-soft) !important; }
[data-theme="light"] .btn{
  background: var(--cb); border-color: var(--cb); color:#fff;
}
[data-theme="light"] .btn:hover{ background: var(--cb-2); border-color: var(--cb-2); color:#fff; }
[data-theme="light"] .btn.ghost{ background:#fff; color: var(--ed-ink); border-color: var(--ed-line-strong); }
[data-theme="light"] .btn.ghost:hover{ background:#f6f6f4; color: var(--ed-ink); }
[data-theme="light"] .btn.teal{ background: var(--cv); border-color: var(--cv); color:#fff; }
[data-theme="light"] .btn.teal:hover{ background: var(--cv-2); border-color: var(--cv-2); }
[data-theme="light"], :root{
  --ticker-bg: #2c1d61;
  --ticker-text: #cfc5f0;
  --ticker-label-color: rgba(255,255,255,.5);
  --ticker-sep-color: rgba(255,255,255,.16);
  --ticker-change-color: rgba(255,255,255,.86);
}
