/* style.css */
:root{--indigo:var(--accent-ink);--azure:var(--accent-ink);--sky:var(--accent);--pale:var(--new);--navy:var(--indigo);--royal:var(--azure);--accent:var(--azure);--bg:#fff;--card:#fff;--soft:var(--surface-2);--muted:var(--ink-2);--chip:var(--surface-2)}
[data-theme=legacy-navy]{--royal:var(--sky);--navy:var(--pale);--card:var(--surface);--soft:var(--surface-2);--ink:#E8ECF6;--muted:#9AA4BD;--chip:#1E2C50;}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45;padding-bottom:76px}
a{color:var(--royal);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:0 14px}
header.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:flex-end;gap:9px;padding:10px 0 8px;color:var(--ink)}
.brand:hover{text-decoration:none}.brand .mark{height:var(--mark-h,27px);width:auto;display:block;margin-bottom:-3px}
.brand .tag{display:none}
@media(min-width:700px){header.top .brand{--mark-h:50px}.brand .tag{display:block}header.top .wm b{font-size:24px}}
.wm{display:flex;flex-direction:column;line-height:1}.wm b{font-family:"General Sans","Avenir Next","Futura",Inter,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--ink)}
[data-theme=legacy-navy] .wm b{color:var(--white)}
.wm small{font-size:8.5px;letter-spacing:2.6px;color:var(--ink-2);margin-top:4px;font-weight:600}
.foot .wm small{display:block}
.toprow{display:flex;align-items:center;justify-content:space-between;gap:8px}
.iconbtn{background:none;border:1px solid var(--line);border-radius:10px;padding:6px 10px;min-height:44px;min-width:44px;color:var(--ink);font-size:14px;cursor:pointer}
.search{position:relative;padding-bottom:9px}.search input{width:100%;border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:12px;padding:9px 12px;font-size:15px}
.sugg{position:absolute;left:0;right:0;top:42px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(20,52,64,.12);display:none;z-index:30;overflow:hidden}
.sugg a{display:flex;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink)}.sugg a span{color:var(--muted);font-size:13px}
nav.bottom{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:flex;justify-content:space-around;z-index:25;padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
nav.bottom a{flex:1;min-height:48px;justify-content:center;text-align:center;font-size:11px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px}
nav.bottom a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
nav.bottom a.on{color:var(--royal);font-weight:600}nav.bottom a:hover{text-decoration:none}
h1{font-size:22px;margin:16px 0 4px;letter-spacing:-.3px}h2{font-size:17px;margin:22px 0 8px;letter-spacing:-.2px}h3{font-size:15px;margin:14px 0 6px}
.sub{color:var(--muted);font-size:13.5px;margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:12.5px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0}
.card.flat{background:var(--soft);border-color:transparent}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{background:var(--soft);border-radius:12px;padding:9px 10px}.stat .k{font-size:11.5px;color:var(--muted)}.stat .v{font-size:16px;font-weight:650;margin-top:2px}
.up{color:var(--up)}.down{color:var(--down)}
.chip{display:inline-block;background:var(--chip);color:var(--navy);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;margin:2px 4px 2px 0}
[data-theme=legacy-navy] .chip{color:var(--new)}
.chip.live{background:var(--new);color:var(--accent-ink)}.chip.bt{background:var(--line);color:var(--ink-2)}.chip.warn{background:var(--accent-ink);color:var(--white)}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.tabs a{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:11px 14px;line-height:1;font-size:13px;color:var(--ink)}
.tabs a.on{background:var(--navy);border-color:var(--navy);color:var(--white)}
.list{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:10px 0;background:var(--card)}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;min-height:48px;border-bottom:1px solid var(--line);color:var(--ink)}
.row:last-child{border-bottom:none}.row:hover{text-decoration:none;background:var(--soft)}
.row .l{min-width:0;flex:1}.row .t{font-weight:650}.row .n{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.row .r .big{font-weight:650}
details.row{display:block}details.row summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none}
details.row summary::-webkit-details-marker{display:none}details.row .more{padding-top:8px;font-size:13px;color:var(--muted)}
table.t{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
table.t th{text-align:right;font-weight:600;color:var(--muted);font-size:12px;padding:6px 4px;border-bottom:1px solid var(--line)}
table.t td{text-align:right;padding:7px 4px;border-bottom:1px solid var(--line)}table.t th:first-child,table.t td:first-child{text-align:left}
.scrollx{overflow-x:auto}
.news{display:block;padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink)}.news:hover{text-decoration:none;background:var(--soft)}
.news .h{font-weight:600;font-size:14.5px;line-height:1.35}.news .m{font-size:12px;color:var(--muted);margin-top:3px}
.strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}
.pill{flex:0 0 auto;border:1px solid var(--line);border-radius:12px;padding:7px 10px;min-width:96px;background:var(--card);color:var(--ink)}
.pill b{display:block;font-size:14px}.pill span{font-size:11.5px;color:var(--muted)}
.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--muted);font-size:9.5px}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-top:4px}.lg i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}
.grade{display:inline-flex;align-items:center;justify-content:center;width:38px;height:30px;border-radius:8px;font-weight:700;font-size:14px;color:var(--white)}
.gA{background:var(--accent-ink)}.gB{background:var(--accent-ink)}.gC{background:var(--accent-ink)}.gD{background:var(--accent)}.gF{background:var(--ink-3)}.gN{background:var(--ink-3)}
.btn{display:inline-flex;align-items:center;min-height:44px;background:var(--royal);color:var(--white);border:none;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer}
.btn:hover{text-decoration:none;filter:brightness(1.05)}.btn.ghost{background:transparent;color:var(--royal);border:1px solid var(--royal)}.btn.danger{background:var(--down)}
input[type=text],input[type=password],textarea,select{width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:9px 11px;font-size:15px;font-family:inherit}
textarea{min-height:140px}label{font-size:13px;font-weight:600;display:block;margin:10px 0 4px}
.flash{background:var(--new);color:var(--navy);border-radius:10px;padding:9px 12px;margin:10px 0;font-size:14px}.err{background:var(--new);color:var(--accent-ink);border:1px solid var(--new)}
.note-body{font-size:15.5px;line-height:1.6}.note-body table{border-collapse:collapse;width:100%;font-size:13.5px;margin:8px 0}.note-body td,.note-body th{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left}
.foot{color:var(--muted);font-size:12px;margin:26px 0 10px;border-top:1px solid var(--line);padding-top:10px}
.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}.kv:last-child{border-bottom:none}.kv span:first-child{color:var(--muted)}
.badge{background:var(--down);color:var(--white);border-radius:999px;font-size:10px;padding:0 5px;margin-left:2px}
@media(min-width:700px){.grid3m{grid-template-columns:repeat(3,1fr)}body{font-size:15.5px}}

/* ===================== coteau color system (inherited from Carré v2) (v2) — see BRAND.md ===================== */
:root{
  --indigo:var(--accent-ink);--azure:var(--accent-ink);--sky:var(--accent);--pale:var(--new);
  --card:#FFFFFF;--soft:var(--surface-2);--muted:#55627A;--chip:#E8EEF8;
  --shadow:0 1px 2px rgba(20,52,64,.06),0 4px 14px rgba(20,52,64,.05);
  --up-bg:#E3F6EA;--down-bg:#FDE7E7;
  --c-news:var(--accent-ink);--c-earn:var(--accent-ink);--c-models:var(--accent-ink);--c-port:var(--accent-ink);--c-copy:var(--accent-ink);--c-user:var(--accent-ink);
  --c-ins:var(--accent-ink);--c-res:var(--accent);--c-cat:var(--accent);--c-stock:var(--accent-ink);
  --sec:var(--azure);
  --hero:linear-gradient(120deg,var(--accent-ink) 0%,var(--accent-ink) 58%,var(--accent) 100%);
}
[data-theme=legacy-navy]{--card:var(--surface);--soft:var(--surface-2);--muted:#9FAAC2;--chip:#1E2C50;--ink:#E8ECF6;
  --shadow:0 1px 2px rgba(0,0,0,.3);--up-bg:rgba(52,210,122,.14);--down-bg:rgba(255,122,122,.14);
  --c-models:var(--accent);--c-ins:var(--new);--c-earn:var(--accent);--c-port:var(--accent);--c-copy:var(--accent)}
body[data-sec=news]{--sec:var(--c-news)}body[data-sec=models]{--sec:var(--c-models)}body[data-sec=portfolios]{--sec:var(--c-port)}
body[data-sec=insiders]{--sec:var(--c-ins)}body[data-sec=research]{--sec:var(--c-res)}body[data-sec=events]{--sec:var(--c-earn)}body[data-sec=stock]{--sec:var(--c-stock)}
body{background:var(--bg)}
header.top{background:var(--card);border-bottom:none;box-shadow:0 1px 0 var(--line)}
header.top::after{content:"";display:block;height:3px;background:var(--hero)}
.card,.list{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.list{border-top:3px solid var(--sec)}
.card.flat{background:color-mix(in srgb,var(--sec) 8%,var(--card));border:1px solid color-mix(in srgb,var(--sec) 22%,transparent);box-shadow:none}
h2{display:flex;align-items:center;gap:8px}
h2::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--h2,var(--sec));flex:0 0 auto}
h2.s-news{--h2:var(--c-news)}h2.s-earn{--h2:var(--c-earn)}h2.s-models{--h2:var(--c-models)}h2.s-port{--h2:var(--c-port)}
h2.s-ins{--h2:var(--c-ins)}h2.s-res{--h2:var(--c-res)}h2.s-cat{--h2:var(--c-cat)}
.list.acc-model{border-top-color:var(--c-models)}.list.acc-user{border-top-color:var(--c-user)}.list.acc-copy{border-top-color:var(--c-copy)}
.list.acc-earn{border-top-color:var(--c-earn)}.list.acc-ins{border-top-color:var(--c-ins)}.list.acc-res{border-top-color:var(--c-res)}.list.acc-news{border-top-color:var(--c-news)}.list.acc-models{border-top-color:var(--c-models)}
/* hero */
.hero{background:var(--hero);color:var(--white);border-radius:16px;padding:16px 16px 14px;margin:14px 0 6px;box-shadow:0 6px 20px rgba(20,52,64,.25)}
.hero h1{color:var(--white);margin:0 0 4px}.hero p{color:rgba(255,255,255,.88);font-size:13.5px;margin:0 0 10px}
.hero .hchips{display:flex;flex-wrap:wrap;gap:6px}
.hero .hchip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:600;color:var(--white)}
.hero .hchip b{font-weight:700}.hero .hchip.ok{background:rgba(196,224,226,.30)}.hero .hchip.warn{background:rgba(20,52,64,.45)}
/* pills (horizontal strips) */
.pill{border:1px solid var(--line);box-shadow:var(--shadow);border-top:3px solid var(--sec)}
.pill.earn{border-top-color:var(--c-earn)}.pill.model{border-top-color:var(--c-models)}.pill.more{background:var(--soft)}
.pill.earn b{color:var(--c-earn)}.pill.model b{color:var(--c-models)}
/* chips & badges */
.chip{background:var(--chip);color:var(--indigo)}
[data-theme=legacy-navy] .chip{color:var(--new)}
.chip.tk{background:color-mix(in srgb,var(--azure) 12%,var(--card));color:var(--azure);font-weight:700}
.chip.mdl{background:color-mix(in srgb,var(--c-models) 12%,var(--card));color:var(--c-models)}
.chip.up,.chg.up{background:var(--up-bg);color:var(--up)}.chip.down,.chg.down{background:var(--down-bg);color:var(--down)}
.chg{display:inline-block;border-radius:6px;padding:1px 6px;font-weight:650;font-variant-numeric:tabular-nums}
.row .r .big.up,.row .r .big.down{background:var(--up-bg);border-radius:7px;padding:1px 7px;display:inline-block}.row .r .big.down{background:var(--down-bg)}
.b2{display:inline-block;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;letter-spacing:.2px}
.b2.buy{background:var(--up-bg);color:var(--up)}.b2.sell{background:var(--down-bg);color:var(--down)}
.sx{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;margin:2px 4px 2px 0}
.sx-it{background:var(--new);color:var(--accent-ink)}.sx-hc{background:var(--surface-2);color:var(--accent-ink)}.sx-fin{background:var(--surface-2);color:var(--accent-ink)}
.sx-cd{background:var(--new);color:var(--accent-ink)}.sx-cs{background:var(--line);color:var(--ink-2)}.sx-en{background:var(--new);color:var(--accent-ink)}
.sx-ind{background:var(--line);color:var(--ink-2)}.sx-mat{background:var(--line);color:var(--ink-2)}.sx-ut{background:var(--surface-2);color:var(--accent-ink)}
.sx-re{background:var(--new);color:var(--accent-ink)}.sx-cm{background:var(--new);color:var(--accent-ink)}.sx-na{background:var(--chip);color:var(--muted)}
[data-theme=legacy-navy] .sx{background:var(--chip);color:var(--pale)}
/* stat tiles */
.stat{background:color-mix(in srgb,var(--sec) 7%,var(--card));border:1px solid color-mix(in srgb,var(--sec) 18%,transparent)}
.stat .k{color:color-mix(in srgb,var(--sec) 70%,var(--muted))}
/* tabs, buttons */
.tabs a{background:var(--card)}.tabs a.on{background:var(--sec);border-color:var(--sec);color:var(--white)}
.btn{background:var(--azure)}.btn.ghost{color:var(--azure);border-color:var(--azure);background:var(--card)}
/* model cards */
a.card.mcard{border-left:4px solid var(--c-models)}
a.card.mcard.bt{border-left-color:var(--c-earn)}
/* tables */
table.t th{background:var(--soft)}
.scrollx table.t{background:var(--card);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
/* bottom nav */
nav.bottom{background:var(--card);box-shadow:0 -2px 12px rgba(20,52,64,.06)}
nav.bottom a{position:relative}
nav.bottom a.on{color:var(--sec)}
nav.bottom a.on svg{background:color-mix(in srgb,var(--sec) 14%,transparent);border-radius:10px;padding:3px;width:34px;height:28px}
nav.bottom a.on::before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--sec)}
.news .h{color:var(--ink)}
.foot{border-top:1px solid var(--line)}
/* ===================== header v3: single clean bar ===================== */
header.top .toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding-top:0;padding-bottom:0}
header.top .brand{padding:0;flex:0 0 auto}
header.top .tb{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;background:var(--soft);border:1px solid var(--line);color:var(--ink);padding:0 10px}
.iconbtn:hover{text-decoration:none;background:var(--chip)}
.dnav{display:none}
header.top .search{display:none;padding:0}
header.top .own{display:none}
body.sopen header.top .search{display:block;position:absolute;left:0;right:0;top:61px;background:var(--card);padding:10px 16px;box-shadow:0 8px 18px rgba(20,52,64,.10);z-index:40}
header.top .wrap{position:relative}
body.sopen header.top .search .sugg{left:16px;right:16px;top:56px}
@media(min-width:900px){
  header.top .toprow{min-height:68px;gap:24px}
  .dnav{display:flex;gap:4px;flex:1;justify-content:center}
  .dnav a{color:var(--ink);font-size:14.5px;font-weight:550;padding:10px 12px;border-radius:10px;min-height:44px;display:flex;align-items:center}
  .dnav a:hover{background:var(--soft);text-decoration:none}
  .dnav a.on{color:var(--sec);background:color-mix(in srgb,var(--sec) 10%,transparent)}
  header.top .search{display:block;position:relative;width:220px}
  header.top .search input{padding:9px 12px}
  .sbtn{display:none}
  header.top .own{display:inline-flex}
  nav.bottom{display:none}
  body{padding-bottom:20px}
}
@media(min-width:700px) and (max-width:899px){header.top .own{display:inline-flex}}
@media(max-width:380px){header.top .wm b{font-size:21px}header.top .brand{gap:7px}}
header.top .wrap{padding:0 18px}
@media(min-width:900px){header.top .wrap{max-width:1180px}}
/* ===================== layout pass (8px grid) ===================== */
:root{--s1:8px;--s2:16px;--s3:24px;--r:14px}
main.wrap{padding-top:var(--s1)}
h1{font-size:24px;line-height:1.2;margin:var(--s2) 0 var(--s1);letter-spacing:-.4px}
h2{font-size:16px;margin:var(--s3) 0 var(--s1);letter-spacing:-.1px}
.card{border-radius:var(--r);padding:var(--s2);margin:var(--s1) 0 var(--s2)}
.list{border-radius:var(--r);margin:var(--s1) 0 var(--s2)}
.row{padding:12px var(--s2)}.news{padding:12px var(--s2)}
.sub{font-size:14px;line-height:1.5}
.hero{padding:var(--s2) var(--s2) 14px;margin:var(--s2) 0 var(--s1)}.hero h1{font-size:24px}
.eyebrow{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--sec);background:color-mix(in srgb,var(--sec) 10%,transparent);border-radius:6px;padding:3px 8px}
.phero h1,.shero h1{margin:var(--s1) 0 4px}
.chiprow{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:var(--s1);flex-wrap:nowrap;align-items:center}
.chiprow>*{flex:0 0 auto;margin:0}
.tiles-label{font-size:12px;color:var(--muted);font-weight:600;margin:var(--s2) 0 6px;text-transform:uppercase;letter-spacing:.5px}
.rtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.rt{border-radius:10px;padding:8px 4px;text-align:center;background:var(--soft);border:1px solid var(--line);min-width:0}
.rt .k{font-size:11px;color:var(--muted);font-weight:600}.rt .v{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px;white-space:nowrap}
.rt .s{font-size:10.5px;color:var(--muted);white-space:nowrap;margin-top:1px}
.rt.up{background:var(--up-bg);border-color:transparent}.rt.up .v{color:var(--up)}.rt.down{background:var(--down-bg);border-color:transparent}.rt.down .v{color:var(--down)}
.shead{display:flex;justify-content:space-between;align-items:center;gap:var(--s1)}
.shead h1{font-size:26px;margin:0}.shead .price{font-size:24px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.chartbox{margin:var(--s1) -4px var(--s1)}
.shero .rtiles{grid-template-columns:repeat(3,1fr)}
.gtiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--s1);margin:var(--s1) 0 var(--s2)}
.gt{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px;box-shadow:var(--shadow)}
.gt summary{display:flex;justify-content:space-between;align-items:center;gap:6px;list-style:none;cursor:pointer;min-height:44px}
.gt summary::-webkit-details-marker{display:none}
.gt .k{font-weight:700;font-size:14px}.gt .s{font-size:11.5px;color:var(--muted)}
.gt[open]{grid-column:1/-1}.gt .more{font-size:12.5px;color:var(--muted);padding-top:6px}
.grid3 .stat .v{font-size:18px}
table.t{font-size:12.5px}
/* logos */
.lgo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--surface);border-radius:8px;border:1px solid var(--line);overflow:hidden;box-shadow:0 1px 2px rgba(20,52,64,.06)}
.lgo img{object-fit:contain;display:block}
.lgo.mono{color:var(--white);font-weight:800;letter-spacing:-.3px;border:none;border-radius:50%}
.lg-row{display:flex;align-items:center;gap:10px;min-width:0}.lg-row .lt{min-width:0;display:block}
.lg-row .lt .n{display:block}
.pill .lg-row{gap:6px;margin-bottom:4px}
.news.nlg{display:flex;gap:12px;align-items:flex-start}.news.nlg .nb{min-width:0;flex:1}
.shead .lgo{border-radius:12px}
@media(max-width:380px){.rt .v{font-size:13.5px}.rt .s{font-size:9.5px}table.t td,table.t th{padding:6px 3px}h1{font-size:22px}.shead .price{font-size:21px}}
@media(min-width:700px){.rtiles{grid-template-columns:repeat(8,1fr)}.shero .rtiles{grid-template-columns:repeat(6,1fr)}.gtiles{grid-template-columns:repeat(3,1fr)}}
/* header v3 */
header.top .toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}
header.top .brand{padding:0;flex:0 0 auto}
header.top .tb{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;background:var(--soft);border:1px solid var(--line);color:var(--ink);padding:0 10px}
.iconbtn:hover{text-decoration:none;background:var(--chip)}
.dnav{display:none}
header.top .search{display:none;padding:0}
header.top .own{display:none}
header.top .wrap{position:relative;padding:0 18px}
body.sopen header.top .search{display:block;position:absolute;left:0;right:0;top:58px;background:var(--card);padding:10px 16px;box-shadow:0 8px 18px rgba(20,52,64,.10);z-index:40}
body.sopen header.top .search .sugg{left:16px;right:16px;top:56px}
@media(min-width:900px){
  header.top .wrap{max-width:1180px}
  header.top .toprow{min-height:68px;gap:24px}
  .dnav{display:flex;gap:4px;flex:1;justify-content:center}
  .dnav a{color:var(--ink);font-size:14.5px;font-weight:550;padding:10px 12px;border-radius:10px;min-height:44px;display:flex;align-items:center}
  .dnav a:hover{background:var(--soft);text-decoration:none}
  .dnav a.on{color:var(--sec);background:color-mix(in srgb,var(--sec) 10%,transparent)}
  header.top .search{display:block;position:relative;width:220px}
  .sbtn{display:none}
  header.top .own{display:inline-flex}
  nav.bottom{display:none}
  body{padding-bottom:20px}
}
@media(min-width:700px) and (max-width:899px){header.top .own{display:inline-flex}}
.l.hasl{position:relative;padding-left:40px;display:block}.l.hasl>.lgo{position:absolute;left:0;top:50%;transform:translateY(-50%)}
details.row summary .l.hasl>.lgo{top:50%}
/* ===================== news home ===================== */
.chipbar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 0 4px;margin:0 -18px;padding-left:18px;padding-right:18px}
.chipbar::-webkit-scrollbar{display:none}
.fchip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink);font-size:13.5px;font-weight:600;white-space:nowrap;box-shadow:var(--shadow)}
.fchip:hover{text-decoration:none}.fchip.on{color:var(--white);border-color:transparent;background:var(--cc,var(--indigo))}
:root{--k-mk:var(--accent-ink);--k-ec:var(--accent-ink);--k-er:var(--accent-ink);--k-te:var(--accent-ink);--k-en:var(--accent-ink);--k-cr:var(--accent);--k-wo:var(--accent-ink);--k-ma:var(--accent-ink);--k-tp:var(--ink);--k-wl:var(--accent)}
.c-mk{--cc:var(--k-mk)}.c-ec{--cc:var(--k-ec)}.c-er{--cc:var(--k-er)}.c-te{--cc:var(--k-te)}.c-en{--cc:var(--k-en)}.c-cr{--cc:var(--k-cr)}.c-wo{--cc:var(--k-wo)}.c-ma{--cc:var(--k-ma)}.c-tp{--cc:var(--k-tp)}.c-wl{--cc:var(--k-wl)}
[data-theme=legacy-navy] .c-tp{--cc:var(--accent-ink)}
.cat{display:inline-block;border-radius:5px;padding:1px 7px;font-size:11px;font-weight:700;letter-spacing:.2px;color:var(--cc);background:color-mix(in srgb,var(--cc) 12%,transparent);margin-right:4px}
.cat-ic{color:var(--white)!important;background:var(--cc)!important;border:none!important;font-weight:800;font-size:14px;border-radius:8px}
.tops{display:grid;gap:8px;margin:8px 0 8px}
.topcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);color:var(--ink)}
.topcard:hover{text-decoration:none}
.topcard.lead{background:var(--hero);color:var(--chrome-ink);border:none;padding:16px;box-shadow:0 6px 20px rgba(20,52,64,.25)}
.topcard.lead .th{font-size:19px;line-height:1.3}.topcard.lead .tmeta span{color:rgba(255,255,255,.85)}.topcard.lead .cat{background:rgba(255,255,255,.2);color:var(--chrome-ink)}
.topcard.lead .ts{color:rgba(255,255,255,.88)}.topcard.lead .tkp{background:rgba(255,255,255,.16);color:var(--chrome-ink)}
.tmeta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:6px}
.th{font-weight:700;font-size:15.5px;line-height:1.35}.ts{font-size:13.5px;margin-top:6px;line-height:1.45}
.ttk{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tkp{display:inline-flex;align-items:center;gap:5px;background:var(--soft);border-radius:999px;padding:2px 8px 2px 2px;font-size:12px;font-weight:700}
.tkp .lgo{border-radius:50%}
.mstrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:8px -18px 0;padding:0 18px 4px}
.ms{flex:0 0 auto;min-width:118px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow);color:var(--ink)}
.ms:hover{text-decoration:none}.ms .k{font-size:11.5px;color:var(--muted);font-weight:600}.ms .v{font-size:18px;font-weight:750;font-variant-numeric:tabular-nums;margin:2px 0}.ms .s{font-size:11px;color:var(--muted)}
.ms.mdl{border-top:3px solid var(--c-models)}
.news .m{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px}
/* ===================== THEME VARIANTS (body.v-a|v-b|v-c|v-d; ?theme=a..d) ===================== */
/* A — Slate: gray-blue bg, white cards, colored LEFT accents, no gradients */
body.v-a .list{border-top:1px solid var(--line);border-left:4px solid var(--sec)}
body.v-a .list.acc-model{border-left-color:var(--c-models)}body.v-a .list.acc-user{border-left-color:var(--c-user)}body.v-a .list.acc-copy{border-left-color:var(--c-copy)}
body.v-a .list.acc-news{border-left-color:var(--c-news)}body.v-a .list.acc-ins{border-left-color:var(--c-ins)}body.v-a .list.acc-models{border-left-color:var(--c-models)}
body.v-a .list,body.v-a .list.acc-model,body.v-a .list.acc-user,body.v-a .list.acc-copy,body.v-a .list.acc-news,body.v-a .list.acc-ins,body.v-a .list.acc-models{border-top-color:var(--line)}
body.v-a .card{border-left:4px solid var(--sec)}
body.v-a .hero{background:var(--card);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--sec);box-shadow:var(--shadow)}
body.v-a .hero h1{color:var(--ink)}body.v-a .hero p{color:var(--muted)}
body.v-a .hero .hchip{background:var(--chip);border-color:transparent;color:var(--indigo)}
body.v-a .topcard.lead{background:var(--card);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--azure);box-shadow:var(--shadow)}
body.v-a .topcard.lead .tmeta span{color:var(--muted)}body.v-a .topcard.lead .cat{background:color-mix(in srgb,var(--cc) 12%,transparent);color:var(--cc)}
body.v-a .topcard.lead .ts{color:var(--muted)}body.v-a .topcard.lead .tkp{background:var(--soft);color:var(--ink)}
body.v-a .topcard{border-left:4px solid var(--line)}
body.v-a .ms,body.v-a .pill{border-top-width:1px;border-left:4px solid var(--sec)}body.v-a .ms.mdl{border-top:1px solid var(--line);border-left-color:var(--c-models)}body.v-a .pill.earn{border-top-color:var(--line);border-left-color:var(--c-earn)}
body.v-a header.top::after{background:var(--line);height:1px}

/* B — Tinted: soft tinted fills per section, bold colored headers; most colorful */
body.v-b{--bg:var(--surface-2)}
body.v-b .list,body.v-b .card{background:color-mix(in srgb,var(--sec) 6%,var(--surface));border-color:color-mix(in srgb,var(--sec) 20%,transparent);border-top-width:1px}
body.v-b .list.acc-model,body.v-b .list.acc-models{background:var(--new);border-color:var(--new)}body.v-b .list.acc-copy{background:var(--new);border-color:var(--new)}
body.v-b .list.acc-user,body.v-b .list.acc-news{background:var(--new);border-color:var(--new)}body.v-b .list.acc-ins{background:var(--new);border-color:var(--new)}
body.v-b .row,body.v-b .news{border-bottom-color:color-mix(in srgb,var(--sec) 14%,transparent)}
body.v-b h2{color:var(--h2,var(--sec));font-size:17px;font-weight:800;text-transform:none}
body.v-b h2::before{width:22px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--h2,var(--sec)) 18%,transparent);box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--h2,var(--sec)) 70%,transparent)}
body.v-b .hero{background:linear-gradient(135deg,var(--new),var(--new));color:var(--ink);box-shadow:none;border:1px solid var(--new-edge)}
body.v-b .hero h1{color:var(--indigo)}body.v-b .hero p{color:var(--muted)}body.v-b .hero .hchip{background:var(--surface);border-color:var(--new-edge);color:var(--indigo)}
body.v-b .topcard.lead{background:linear-gradient(135deg,var(--new),var(--new));color:var(--ink);box-shadow:none;border:1px solid var(--new)}
body.v-b .topcard.lead .tmeta span,body.v-b .topcard.lead .ts{color:var(--muted)}body.v-b .topcard.lead .cat{background:color-mix(in srgb,var(--cc) 14%,var(--surface));color:var(--cc)}body.v-b .topcard.lead .tkp{background:var(--surface);color:var(--ink)}body.v-b .topcard.lead .th{color:var(--indigo)}
body.v-b .topcard{background:color-mix(in srgb,var(--azure) 5%,var(--surface))}
body.v-b .ms{background:var(--new);border-color:var(--new)}body.v-b .ms.mdl{background:var(--new);border-color:var(--new)}
body.v-b .pill.earn{background:var(--new);border-color:var(--new)}
body.v-b .gt{background:color-mix(in srgb,var(--azure) 6%,var(--surface))}
body.v-b .rt{border:none}body.v-b .shero,body.v-b .phero{background:var(--surface)}
body.v-b .fchip{background:color-mix(in srgb,var(--cc,var(--azure)) 9%,var(--surface));border-color:color-mix(in srgb,var(--cc,var(--azure)) 25%,transparent);color:var(--cc,var(--ink))}
body.v-b .fchip.on{color:var(--white)}

/* C — Navy Pro: dark terminal-lite (forced dark tokens), sky/azure accents, compact, tabular numbers */
body.v-c{--card:var(--ink);--soft:#17264A;--line:var(--ink);--ink:var(--surface-2);--muted:#8E9BB8;--chip:var(--ink);
  --up-bg:rgba(59,219,138,.12);--down-bg:rgba(255,107,107,.12);--c-models:var(--accent);--c-ins:var(--new);--c-earn:var(--accent);--c-port:var(--accent);--c-copy:var(--accent);--sec:var(--accent);
  --shadow:none;--hero:linear-gradient(120deg,var(--ink) 0%,#1A4450 60%,var(--accent-ink) 100%)}
body.v-c header.top{background:var(--bg);box-shadow:0 1px 0 var(--chrome)}body.v-c header.top::after{background:linear-gradient(90deg,var(--accent-ink),var(--accent-ink) 35%,var(--accent-ink) 70%,var(--accent));height:2px}
body.v-c .wm b{color:var(--white)}body.v-c .iconbtn{background:var(--ink);border-color:var(--ink);color:var(--surface-2)}
body.v-c .list,body.v-c .card{border-radius:10px;border-top-width:2px}
body.v-c .row,body.v-c .news{padding:10px 14px}
body.v-c h2{text-transform:uppercase;font-size:12.5px;letter-spacing:1.2px;color:var(--muted)}
body.v-c h2::before{background:var(--h2,var(--sky));width:3px;height:12px}
body.v-c .hero{border:1px solid var(--ink);box-shadow:none}
body.v-c .topcard.lead{background:linear-gradient(120deg,var(--chrome) 0%,var(--accent-ink) 65%,var(--accent-ink) 140%);border:1px solid var(--accent-ink);box-shadow:none}
body.v-c .ms .v,body.v-c .rt .v,body.v-c .row .r,body.v-c table.t,body.v-c .shead .price{font-family:"SF Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;letter-spacing:-.3px}
body.v-c .fchip{background:var(--ink);border-color:var(--ink);color:var(--accent-ink);box-shadow:none}
body.v-c .chip.tk{background:rgba(125,185,190,.12);color:var(--accent)}body.v-c .chip{background:var(--ink);color:var(--new)}
body.v-c .lgo{border-color:var(--ink)}body.v-c nav.bottom{background:var(--bg);border-top-color:var(--new-edge)}
body.v-c .sx{background:var(--ink);color:var(--new)}body.v-c .eyebrow{color:var(--accent)}
body.v-c table.t th{background:var(--accent)}

/* D — Gradient Hero: light bg, indigo→azure gradient heroes + gradient stat tiles, clean white cards */
body.v-d{}
body.v-d .list{border-top:1px solid var(--line)}body.v-d .card{border-radius:16px}
body.v-d .hero{border-radius:20px;padding:20px 18px}
body.v-d .phero,body.v-d .shero{background:var(--card)}
body.v-d .phero{background:var(--hero);color:var(--white);border:none;box-shadow:0 8px 24px rgba(20,52,64,.25)}
body.v-d .phero h1,body.v-d .phero .sub,body.v-d .phero .tiles-label{color:var(--white)}body.v-d .phero .sub{opacity:.88}body.v-d .phero .eyebrow{background:rgba(255,255,255,.18);color:var(--white)}
body.v-d .phero .rt{background:rgba(255,255,255,.14);border:none}body.v-d .phero .rt .k,body.v-d .phero .rt .s{color:rgba(255,255,255,.8)}
body.v-d .phero .rt.up .v{color:var(--up)}body.v-d .phero .rt.down .v{color:var(--down)}body.v-d .phero .rt .v{color:var(--white)}
body.v-d .phero .chip{background:rgba(255,255,255,.16);color:var(--white)}
body.v-d .ms{background:linear-gradient(135deg,var(--accent-ink),var(--accent-ink));color:var(--white);border:none;box-shadow:0 4px 14px rgba(74,144,152,.25)}
body.v-d .ms .k,body.v-d .ms .s{color:rgba(255,255,255,.82)}body.v-d .ms .v.up,body.v-d .ms .chg.up{color:var(--up);background:none}body.v-d .ms .v.down,body.v-d .ms .chg.down{color:var(--down);background:none}
body.v-d .ms:nth-child(2){background:linear-gradient(135deg,var(--accent-ink),var(--accent))}body.v-d .ms.mdl{background:linear-gradient(135deg,var(--accent-ink),var(--accent-ink))}
body.v-d .stat{background:linear-gradient(135deg,var(--new),var(--new));border:none}
body.v-d .gt{border:none;box-shadow:0 2px 10px rgba(20,52,64,.07)}
body.v-d .rt{border:none}
body.v-d .shero{border:none;box-shadow:0 6px 20px rgba(20,52,64,.08)}
body.v-d .fchip{box-shadow:none}
body.v-b .fchip.on{background:var(--cc,var(--indigo));border-color:transparent;color:var(--white)}
/* ===================== wordmark variants ===================== */
.wm b{font-family:"General Sans","Avenir Next",Inter,sans-serif;font-weight:600;letter-spacing:-.2px}
.wm small,.wm .tag{text-transform:uppercase;font-weight:500;letter-spacing:1.6px;color:var(--muted)}
/* stacked: tagline under "Carré", ~45% size */
body.wm-stacked header.top .wm{flex-direction:column;align-items:flex-start}
body.wm-stacked header.top .wm b{font-size:21px;line-height:1}
body.wm-stacked header.top .wm .tag{display:block;font-size:7.6px;letter-spacing:1.5px;margin-top:3px;white-space:nowrap}
body.wm-stacked header.top .brand .mark{height:30px}
/* inline: tagline right of "Carré" on the same baseline, ~50% size */
body.wm-inline header.top .wm{flex-direction:row;align-items:baseline;gap:8px}
body.wm-inline header.top .wm b{font-size:20px;line-height:1}
body.wm-inline header.top .wm .tag{display:inline;font-size:9.5px;letter-spacing:1.4px;white-space:nowrap;margin:0;padding-left:8px;border-left:1px solid var(--line)}
body.wm-inline header.top .brand .mark{height:24px}
@media(max-width:400px){body.wm-inline header.top .wm .tag{font-size:8px;letter-spacing:1px;padding-left:6px}body.wm-inline header.top .wm b{font-size:18px}body.wm-inline header.top .brand{gap:6px}}
header.top .brand{align-items:center}
header.top .brand .mark{margin-bottom:0}
header.top .toprow{gap:8px}
.menubtn{margin-right:2px}
header.top .tb{margin-left:auto}
/* ===================== drawer ===================== */
.dov{position:fixed;inset:0;background:rgba(20,52,64,.45);opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(86vw,320px);background:var(--card);z-index:61;transform:translateX(-102%);transition:transform .22s ease;overflow-y:auto;box-shadow:8px 0 30px rgba(20,52,64,.18);padding:0 0 24px}
body.dopen .dov{opacity:1;pointer-events:auto}body.dopen .drawer{transform:none}body.dopen{overflow:hidden}
.dhead{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 12px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}
.dhead .brand{padding:0;gap:9px;align-items:center}.dhead .mark{height:30px}.dhead .wm b{font-size:20px}.dhead .wm small{font-size:7.6px;margin-top:3px}
.dgrp{padding:10px 10px 4px}.dgt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:6px 10px 4px}
.dnav2 a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 10px;border-radius:10px;color:var(--ink);font-size:15px;font-weight:500}
.dnav2 a:hover{background:var(--soft);text-decoration:none}.dnav2 a svg{color:var(--muted);flex:0 0 auto}
.dnav2 a.on{background:color-mix(in srgb,var(--azure) 12%,transparent);color:var(--azure);font-weight:650}.dnav2 a.on svg{color:var(--azure)}
.dnav2 a em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;color:var(--muted);background:var(--soft);border-radius:5px;padding:1px 6px}
/* ===================== Slate background exploration (?bg=s1..s6, ds) — use with theme A ===================== */
body[data-bg=s1]{--bg:#E3E9F1}
body[data-bg=s2]{--bg:#D9E1EC;--line:#D2DBE7}
body[data-bg=s3]{--bg:#CDD7E3;--line:#C9D3E0;--muted:#4D5A70;--shadow:0 1px 2px rgba(20,52,64,.08),0 4px 14px rgba(20,52,64,.07)}
body[data-bg=s4]{--bg:#C3CEDB;--line:#C2CCDA;--muted:#46536A;--shadow:0 1px 2px rgba(20,52,64,.10),0 6px 16px rgba(20,52,64,.08)}
body[data-bg=s5]{--bg:#D6DEEA;--line:#CDD8E8;--muted:#4D5A72}
body[data-bg=s6]{--bg:#AEBBCB;--line:#B7C3D2;--muted:#3F4B60;--shadow:0 1px 2px rgba(20,52,64,.12),0 6px 18px rgba(20,52,64,.10)}
body[data-bg=s3] .sub,body[data-bg=s4] .sub,body[data-bg=s6] .sub,body[data-bg=s3] main>.small,body[data-bg=s4] main>.small,body[data-bg=s6] main>.small{color:var(--ink-2)}
body[data-bg=s6] .foot,body[data-bg=s4] .foot{color:var(--ink-2)}
body[data-bg=s4] header.top,body[data-bg=s6] header.top{background:var(--surface-2)}
body[data-bg=s4] .fchip,body[data-bg=s6] .fchip{border-color:transparent}
/* dark slate: graphite-blue, not navy */
body[data-bg=ds]{--bg:#2B3645;--card:#364356;--soft:#3E4C61;--line:#4A5970;--ink:#EEEDEA;--muted:#B3BECD;--chip:#44536A;
  --up-bg:rgba(74,222,149,.14);--down-bg:rgba(255,128,128,.14);--c-models:var(--accent);--c-ins:var(--new);--c-earn:var(--accent);--c-port:var(--accent);--c-copy:var(--accent);
  --shadow:0 1px 2px rgba(0,0,0,.25),0 4px 12px rgba(0,0,0,.18)}
body[data-bg=ds] header.top{background:var(--chrome);box-shadow:0 1px 0 var(--ink-3)}body[data-bg=ds] .wm b{color:var(--surface-2)}
body[data-bg=ds] .iconbtn{background:var(--chrome);border-color:var(--ink-3);color:var(--ink-3)}
body[data-bg=ds] .chip{background:var(--ink-3);color:var(--accent-ink)}body[data-bg=ds] .chip.tk{background:rgba(125,185,190,.16);color:var(--new-edge)}
body[data-bg=ds] nav.bottom{background:var(--chrome);border-top-color:var(--ink-3)}
body[data-bg=ds] .fchip{background:var(--chrome);border-color:var(--ink-3);color:var(--ink-3)}
body[data-bg=ds] .topcard.lead .cat{color:var(--new-edge)}
/* ===================== FINAL: light = D Gradient Hero, dark = C Navy Pro; inline lowercase wordmark ===================== */
.wm b{font-family:"General Sans","Avenir Next",Inter,sans-serif}
body.wm-inline header.top .wm,.dhead .wm,.foot .wm{flex-direction:row;align-items:baseline;gap:7px}
body.wm-inline header.top .wm b,.dhead .wm b{font-size:20px;font-weight:600;letter-spacing:-.3px;line-height:1}
body.wm-inline header.top .wm .tag,.dhead .wm .tag,.foot .wm small{display:inline;font-size:11px;font-weight:500;letter-spacing:.2px;text-transform:none;color:var(--muted);margin:0;padding:0;border:none;white-space:nowrap}
body.wm-inline header.top .brand .mark,.dhead .mark{height:24px;width:auto}
header.top .brand{gap:7px}
header.top .toprow{gap:6px}
.dtheme{display:flex;align-items:center;gap:12px;width:calc(100% - 20px);margin:10px 10px 0;min-height:44px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:15px;font-weight:500;cursor:pointer}
@media(max-width:430px){header.top .wrap{padding:0 12px}}
@media(max-width:400px){
  header.top .themebtn{display:none}          /* theme toggle moves into the drawer on small phones; search stays */
  body.wm-inline header.top .wm b{font-size:19px}
  body.wm-inline header.top .wm .tag{font-size:10.5px}
  body.wm-inline header.top .brand .mark{height:22px}
  header.top .brand{gap:6px}
  .wm{gap:6px!important}
}
@media(min-width:900px){body.wm-inline header.top .wm b{font-size:22px}body.wm-inline header.top .wm .tag{font-size:12px}body.wm-inline header.top .brand .mark{height:28px}}
/* dark (Navy Pro) polish for drawer + header */
body.v-c .drawer,body.v-c .dhead{background:var(--chrome)}body.v-c .dov{background:rgba(0,0,0,.55)}
body.v-c .dnav2 a.on{background:rgba(125,185,190,.14);color:var(--accent)}body.v-c .dnav2 a.on svg{color:var(--accent)}
body.v-c .dtheme{background:var(--ink);border-color:var(--ink);color:var(--surface-2)}
body.v-c .wm .tag{color:var(--ink-3)}
/* light (Gradient Hero) header */
body.v-d header.top{background:var(--surface)}
.chipbar,.mstrip{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
/* Wordmark tagline: ALL CAPS, letterspaced (Jason, Oct 18) */
body.wm-inline header.top .wm .tag,.dhead .wm .tag,.foot .wm small{text-transform:uppercase;letter-spacing:.1em;font-size:9.5px;font-weight:600}
@media(max-width:400px){body.wm-inline header.top .wm .tag{font-size:8.5px;letter-spacing:.09em}}
@media(min-width:900px){body.wm-inline header.top .wm .tag{font-size:11px}}
/* News: GICS sector chips + pills (light / dark) */
.s-it{--cc:var(--accent-ink)}.s-cm{--cc:var(--accent-ink)}.s-cd{--cc:var(--accent-ink)}.s-cs{--cc:var(--accent-ink)}.s-hc{--cc:var(--accent-ink)}.s-fin{--cc:var(--accent-ink)}
.s-ind{--cc:var(--ink-2)}.s-en{--cc:var(--accent-ink)}.s-mat{--cc:var(--ink-2)}.s-ut{--cc:var(--accent-ink)}.s-re{--cc:var(--accent-ink)}.s-na{--cc:var(--ink-2)}
[data-theme=legacy-navy] .s-it{--cc:var(--accent)}[data-theme=legacy-navy] .s-cm{--cc:var(--accent)}[data-theme=legacy-navy] .s-cd{--cc:var(--new)}[data-theme=legacy-navy] .s-cs{--cc:var(--new-edge)}
[data-theme=legacy-navy] .s-hc{--cc:var(--new-edge)}[data-theme=legacy-navy] .s-fin{--cc:var(--accent)}[data-theme=legacy-navy] .s-ind{--cc:#A9B6CB}[data-theme=legacy-navy] .s-en{--cc:var(--accent)}
[data-theme=legacy-navy] .s-mat{--cc:#B3BECD}[data-theme=legacy-navy] .s-ut{--cc:var(--accent)}[data-theme=legacy-navy] .s-re{--cc:var(--new)}[data-theme=legacy-navy] .s-na{--cc:#9AA6BF}
.chipsep{flex:0 0 1px;align-self:stretch;margin:6px 2px;background:var(--line)}
.news .m .cat{margin-right:3px}
body.v-c .fchip.on{background:color-mix(in srgb,var(--cc,var(--accent-ink)) 58%,var(--chrome));color:var(--white);border-color:transparent}
body.v-c .fchip.c-tp.on{background:var(--accent-ink);color:var(--white)}
body.v-c .topcard.lead .cat{background:rgba(255,255,255,.14);color:var(--chrome-ink)}
body.v-d .topcard.lead .cat{background:rgba(255,255,255,.2);color:var(--chrome-ink)}
/* Wordmark v-final (Jason, Oct 18): "General Sans" 600 lowercase 'carré' + "General Sans" 500 ALL-CAPS tagline, same baseline */
body.wm-inline header.top .wm,.dhead .wm,.foot .wm{display:inline-flex;flex-direction:row;align-items:baseline}
body.wm-inline header.top .wm b,.dhead .wm b,.foot .wm b{font-family:"General Sans","Avenir Next",Inter,sans-serif;font-weight:600;text-transform:none}
body.wm-inline header.top .wm .tag,.dhead .wm .tag,.foot .wm small{font-family:"General Sans","Avenir Next",Inter,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;line-height:1;align-self:baseline}
@media(max-width:400px){body.wm-inline header.top .wm .tag{font-size:8.5px;letter-spacing:.12em}}
@media(min-width:900px){body.wm-inline header.top .wm .tag{font-size:11px}}
/* model detail: factor grid, checklist, live-only */
.fxgrid{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fxgrid span{background:var(--soft,var(--surface-2));border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:600}
.fxgrid i{font-style:normal;color:var(--muted);font-weight:500;margin-right:4px}
.cklist{display:grid;gap:3px;margin-top:8px;font-size:12.5px}.cklist .ok{color:var(--azure,var(--accent-ink))}.cklist .no{color:var(--muted)}
.lonly{margin-top:8px}.basis{border-left:3px solid var(--azure,var(--accent))}
body.v-c .fxgrid span{background:var(--ink);border-color:var(--ink)}
/* ---------- Valuation & fundamentals ---------- */
.s-val{--sc:var(--accent-ink)}
.bline{border-left:4px solid var(--muted)}.bline.pos{border-left-color:var(--up)}.bline.neg{border-left-color:var(--down)}
.bl-v{font-family:"General Sans",Inter,sans-serif;font-weight:600;font-size:22px;margin:2px 0 4px;color:var(--ink)}
.bline.pos .bl-v{color:var(--up)}.bline.neg .bl-v{color:var(--down)}
.bl-list{display:grid;gap:6px;margin-top:10px}.bl-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:baseline;font-size:13.5px}
.bl-k{color:var(--muted)}.bl-t{font-weight:600;text-align:right}.bl-ic.g{color:var(--accent-ink)}.bl-ic.b{color:var(--ink-3)}.bl-ic.n{color:var(--muted)}
.scen{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.sc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.sc .k{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.sc .v{font-size:20px;font-weight:700;margin:2px 0}
.sc .s{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.3}.sc-base{border-color:var(--azure,var(--accent));box-shadow:0 0 0 1px var(--azure,var(--accent)) inset}
.dcfform{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.dcfform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}
.dcfform input{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font-size:16px;background:var(--card);color:var(--ink);width:100%;box-sizing:border-box}
.dcfout{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:12px 0 4px;padding:10px 12px;border-radius:10px;background:var(--soft,var(--surface-2))}
.dcfout b{font-size:22px}.dcfout span:first-child{font-size:13px;color:var(--muted)}
.pill2{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px;margin-top:2px}.pill2.up{background:rgba(15,138,95,.12);color:var(--up)}.pill2.down{background:var(--down-bg,rgba(208,36,36,.10));color:var(--down)}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.q{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.q .k{font-size:12px;color:var(--muted)}.q .v{font-size:17px;font-weight:700}
.bars{display:flex;align-items:flex-end;gap:6px;height:84px;margin-top:12px}.bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}
.bar i{display:block;width:100%;background:linear-gradient(180deg,var(--accent),var(--accent-ink) 55%,var(--accent-ink));border-radius:4px 4px 0 0;min-height:2px}.bar span{font-size:10px;color:var(--muted);margin-top:3px}
.rangebar{position:relative;height:10px;border-radius:5px;background:var(--line);margin:16px 6px 6px}.rangebar .rg{position:absolute;top:0;bottom:0;background:rgba(125,185,190,.35);border-radius:5px}
.rangebar b{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px}.rangebar .pm{border-radius:50%;background:var(--ink)}.rangebar .tm{background:var(--accent-ink);transform:translate(-50%,-50%) rotate(45deg);width:10px;height:10px}
.small2{font-size:15px!important}
body.v-c .sc,body.v-c .q,body.v-c .dcfform input{background:var(--ink);border-color:var(--ink);color:var(--surface-2)}body.v-c .dcfout{background:var(--ink)}
body.v-c .bline.pos .bl-v,body.v-c .pill2.up{color:var(--up)}body.v-c .bline.neg .bl-v,body.v-c .pill2.down{color:var(--down)}body.v-c .bl-ic.g{color:var(--accent)}body.v-c .bl-ic.b{color:var(--ink-3)}
body.v-c .rangebar .tm{background:var(--accent)}body.v-c .rangebar .pm{background:var(--surface-2)}
@media(max-width:360px){.scen{gap:6px}.sc{padding:8px}.sc .v{font-size:17px}}
/* screener */
.scform{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.scform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600}
.scform input,.scform select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font-size:16px;background:var(--card);color:var(--ink);width:100%;box-sizing:border-box}
.scbtns{grid-column:1/-1;display:flex;gap:8px}.scbtns .btn{flex:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.scl .row{align-items:flex-start}.scm{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:6px;font-size:12px;font-weight:600}.scm i{font-style:normal;color:var(--muted);font-weight:500;margin-right:3px}
.scl .l .n{font-size:12.5px}
body.v-c .scform input,body.v-c .scform select{background:var(--ink);border-color:var(--ink);color:var(--surface-2)}
.tok,.apidoc pre{white-space:pre-wrap;word-break:break-all;background:var(--soft,var(--surface-2));border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px}
.ckl{display:inline-flex;align-items:center;gap:6px;min-height:44px}.ckl input{width:20px;height:20px}
body.v-c .tok,body.v-c .apidoc pre{background:var(--ink);border-color:var(--ink)}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0}.tscroll table{min-width:100%;white-space:nowrap}
details.row>summary{display:flex;align-items:center;gap:8px}details.row>summary .l{min-width:0;flex:1 1 auto;overflow:hidden}
details.row>summary .l .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}details.row>summary .r{flex:0 0 auto;text-align:right}

/* ===================== Logo-palette fades (Jason, Oct 18): var(--accent-ink) · var(--accent-ink) · var(--accent-ink) · var(--accent) · var(--new) ===================== */
:root{--g-indigo:var(--accent-ink);--g-overlap:var(--accent-ink);--g-azure:var(--accent-ink);--g-sky:var(--accent);--g-pale:var(--new);--g-tint:var(--new);--g-tint2:var(--new)}
body.v-d header.top::after,header.top::after{background:linear-gradient(90deg,var(--accent-ink),var(--accent-ink) 35%,var(--accent-ink) 70%,var(--accent))}
body.v-d .ms{background:linear-gradient(135deg,var(--accent-ink),var(--accent-ink) 55%,var(--accent-ink));box-shadow:0 4px 14px rgba(58,122,130,.25)}
body.v-d .ms:nth-child(2){background:linear-gradient(135deg,var(--accent-ink),var(--accent))}
body.v-d .ms.mdl{background:linear-gradient(135deg,var(--accent-ink),var(--accent-ink))}
body.v-d .ms.mdl:nth-of-type(odd){background:linear-gradient(135deg,var(--accent-ink),var(--accent-ink))}
body.v-d .topcard.lead{background:var(--hero);box-shadow:0 6px 20px rgba(58,122,130,.28)}
body.v-d .hero{box-shadow:0 6px 20px rgba(58,122,130,.25)}
body.v-d .phero{box-shadow:0 8px 24px rgba(58,122,130,.25)}
body.v-d .card.flat{background:color-mix(in srgb,var(--sec) 7%,var(--surface))}
body.v-d .dnav2 a.on{background:var(--new);color:var(--accent-ink)}body.v-d .dnav2 a.on svg{color:var(--accent-ink)}
/* dark: deep navy fades in the same hue family */
body.v-c .ms.mdl{background:linear-gradient(135deg,var(--new),var(--new));border-color:var(--accent-ink)}
body.v-c .stat{background:linear-gradient(135deg,rgba(74,144,152,.10),rgba(58,122,130,.16));border-color:rgba(125,185,190,.22)}
body.v-c .hero{background:linear-gradient(120deg,var(--ink) 0%,var(--accent) 60%,var(--accent-ink) 100%);border-color:var(--new-edge)}
body.v-c .hero[style]{background:linear-gradient(120deg,var(--ink) 0%,var(--accent) 60%,var(--accent-ink) 100%)!important}
/* active filter pill: white text on a darkened chip color in dark mode (WCAG AA) */
[data-theme=legacy-navy] .fchip.on,body.v-c .fchip.on{background:color-mix(in srgb,var(--cc,var(--accent-ink)) 58%,var(--bg));color:var(--ink);border-color:transparent}
[data-theme=legacy-navy] .fchip.c-tp.on,body.v-c .fchip.c-tp.on{background:var(--accent-ink);color:var(--white)}
/* models page: three-model lineup */
.cmpcard{padding:14px 16px}
.cmprow{display:grid;grid-template-columns:118px 1fr 62px;align-items:center;gap:10px;min-height:36px;color:var(--ink);font-size:13.5px}
.cmprow:hover{text-decoration:none}.cmprow b{text-align:right;font-variant-numeric:tabular-nums}
.cmpn{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmpbar{height:10px;border-radius:5px;background:var(--soft);overflow:hidden}.cmpbar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent-ink),var(--accent-ink) 45%,var(--accent-ink) 80%,var(--accent))}
.cmprow.spy .cmpbar i{background:var(--ink-3)}.cmprow.spy{color:var(--muted)}
a.card.mcard.flag{border-left-width:5px;border-left-color:var(--accent-ink);box-shadow:0 6px 20px rgba(58,122,130,.14)}
.chip.flagchip{background:linear-gradient(120deg,var(--accent-ink),var(--accent-ink));color:var(--white)}
body.v-c a.card.mcard.flag{border-left-color:var(--accent);background:linear-gradient(160deg,var(--accent),var(--ink) 60%)}
body.v-c .chip.flagchip{background:linear-gradient(120deg,var(--accent-ink),var(--accent));color:var(--white)}
/* reverse DCF */
.rdcf{border-left:4px solid var(--accent-ink)}
.rd-h{display:flex;align-items:center;gap:8px}.rd-for{font-size:11.5px;color:var(--muted);font-weight:600}
.itip{margin-left:auto;width:28px;height:28px;min-width:28px;border-radius:50%;border:1.5px solid var(--muted);background:none;color:var(--muted);font:italic 700 14px/1 Georgia,serif;cursor:pointer;position:relative}
.itip::after{content:"";position:absolute;inset:-9px}
.tipbox{margin:8px 0 2px;padding:10px 12px;border-radius:10px;background:var(--new);color:var(--ink);font-size:13px;line-height:1.5}
.rd-line{font-size:16px;line-height:1.45;margin:10px 0 10px;font-weight:500}.rd-line b{color:var(--accent-ink)}
.rd-cmp{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;padding:10px 12px;border-radius:10px;background:var(--soft);margin-bottom:8px;font-size:13.5px}
.rd-k{color:var(--muted)}.rd-v{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.rd-v small{font-weight:500;color:var(--muted);font-size:11px}
.rd-imp{color:var(--accent-ink);font-size:17px}
body.v-c .tipbox{background:var(--accent);color:var(--surface-2)}body.v-c .rd-line b,body.v-c .rd-imp{color:var(--accent)}body.v-c .rdcf{border-left-color:var(--accent)}body.v-c .rd-cmp{background:var(--accent)}
.cycnote{display:flex;align-items:center;gap:8px;margin:2px 0 8px;font-size:13px;font-weight:600}
.cyc-chip{background:var(--new);color:var(--accent-ink);border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cycnote .itip{margin-left:4px}
body.v-c .cyc-chip{background:rgba(125,185,190,.16);color:var(--accent)}
/* ===================== members, alerts, pro features, tools ===================== */
:root{--c-watch:var(--accent);--k-news:var(--accent-ink);--k-research:var(--accent);--k-insider:var(--accent-ink);--k-earnings:var(--accent-ink);--k-model:var(--accent-ink)}
[data-theme=legacy-navy]{--k-model:var(--accent);--k-insider:var(--new);--k-earnings:var(--accent)}
.k-news{--cc:var(--k-news)}.k-research{--cc:var(--k-research)}.k-insider{--cc:var(--k-insider)}.k-earnings{--cc:var(--k-earnings)}.k-model{--cc:var(--k-model)}
.btn.wide{width:100%;justify-content:center}.btn.sm{min-height:40px;padding:6px 12px;font-size:13.5px}
.iconbtn.bell{position:relative}.bdg{position:absolute;top:3px;right:3px;min-width:18px;height:18px;border-radius:9px;background:var(--accent-ink);color:var(--white);font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid var(--card)}
body.v-c .bdg{border-color:var(--bg)}
.dnav2 a em.n{background:var(--accent-ink);color:var(--white)}
.dhb{display:flex;gap:10px;align-items:flex-start;background:var(--new);color:var(--accent-ink);border:1px solid var(--new);border-radius:12px;padding:10px 12px;margin:12px 0 4px;font-size:13.5px;line-height:1.4}
.dhb svg{flex:0 0 auto;margin-top:1px;color:var(--accent-ink)}.dhb a{color:var(--accent-ink);text-decoration:underline}
body.v-c .dhb{background:rgba(125,185,190,.10);border-color:rgba(125,185,190,.35);color:var(--new)}body.v-c .dhb a{color:var(--accent)}body.v-c .dhb svg{color:var(--accent)}
.flinks{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.flinks a{min-height:32px;display:inline-flex;align-items:center}
.okcard{border-left:4px solid var(--azure,var(--accent-ink))}.devcard{border:1px dashed var(--accent-ink);background:color-mix(in srgb,var(--accent-ink) 6%,var(--card))}
/* push prompt */
.pushprompt{position:fixed;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:30;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(20,52,64,.22);padding:12px;align-items:center;gap:10px;max-width:520px;margin:0 auto}
.pp-ic{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--accent-ink),var(--accent-ink));color:var(--white);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pp-t{flex:1;min-width:0;font-size:13.5px;line-height:1.3}.pp-t span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.pp-b{display:flex;gap:6px;flex:0 0 auto}.pp-b .btn{min-height:40px}
@media(min-width:900px){.pushprompt{bottom:20px}}
.pushcard{border-left:4px solid var(--azure)}.pushcard.done{border-left-color:var(--up)}.ioshint{margin-top:8px}
/* watchlist */
.whero{--hero:linear-gradient(120deg,var(--accent-ink),var(--accent-ink) 50%,var(--accent-ink))}
.hero a.hchip{color:var(--white)}.hero a.hchip:hover{text-decoration:none}
.wadd{display:flex;gap:8px;margin:12px 0}.wsearch{position:relative;flex:1;min-width:0}.wsearch input{width:100%;min-height:48px;font-size:16px}
.wsearch .sugg{top:52px}.wadd .btn{min-height:48px}
.list.acc-watch{border-top-color:var(--c-watch)}.list.acc-alerts{border-top-color:var(--azure)}
.wrow{position:relative;gap:8px}.wrow .l{color:var(--ink)}.wrow .l:hover{text-decoration:none}.wrow .l.hasl{padding-left:46px}
.wlast{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.wlast i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cc,var(--azure));margin-right:5px;vertical-align:1px}
.wrm{margin:0}.wrm .iconbtn{min-width:40px;min-height:40px;padding:0;color:var(--muted)}
.wlhint{margin-top:6px;color:var(--muted)}
/* alerts */
.ahead{display:flex;justify-content:space-between;align-items:center;gap:8px}.ahead h1{display:flex;align-items:center;gap:8px}
.cnt{font-size:12px;font-weight:700;background:var(--accent-ink);color:var(--white);border-radius:999px;padding:3px 9px;letter-spacing:0}
.fchip.k-news,.fchip.k-research,.fchip.k-insider,.fchip.k-earnings,.fchip.k-model{border-left:3px solid var(--cc)}
.arow{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink);position:relative;border-left:3px solid transparent}
.arow:last-child{border-bottom:none}.arow:hover{text-decoration:none;background:var(--soft)}
.arow.unread{background:color-mix(in srgb,var(--cc) 6%,var(--card));border-left-color:var(--cc)}
.ab{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.am{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px}.am .tk{font-weight:700;color:var(--ink)}
.akind{font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--cc);background:color-mix(in srgb,var(--cc) 12%,transparent);border-radius:5px;padding:1px 6px}
.at{font-weight:600;font-size:14.5px;line-height:1.35}.ad{font-size:12.5px;color:var(--muted);line-height:1.35}
.arow .dot{width:9px;height:9px;border-radius:50%;background:var(--cc);flex:0 0 auto;margin-top:6px}
/* settings */
.setl .srow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:56px;border-bottom:1px solid var(--line);margin:0;font-weight:400}
.setl .srow:last-child{border-bottom:none}.srow .l{min-width:0;flex:1}.srow .t{font-weight:650;font-size:14.5px;display:flex;align-items:center;gap:7px}.srow .n{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.kd{width:10px;height:10px;border-radius:3px;background:var(--cc);display:inline-block}
input.sw{appearance:none;-webkit-appearance:none;width:48px;height:28px;border-radius:14px;background:var(--line);position:relative;cursor:pointer;flex:0 0 auto;transition:background .15s;margin:0}
input.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
input.sw:checked{background:var(--accent-ink)}input.sw:checked::after{left:23px}
.segs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.seg{margin:0;font-weight:600}.seg input{position:absolute;opacity:0}
.seg span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;background:var(--card)}
.seg input:checked+span{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--white)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
select{min-height:44px}
/* search page */
.bigsearch{display:flex;gap:8px;margin:8px 0 12px}.bigsearch input{flex:1;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font-size:16px;background:var(--card);color:var(--ink)}
.sugg a b{margin-right:8px}.sugg a em.st,.sugg a .st{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--azure);margin-left:auto;padding-left:8px}
.sugg a{align-items:center;gap:8px}.sugg a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sugg .lgo{width:22px;height:22px;border-radius:6px}
/* track record */
.tcard{display:block;color:var(--ink);border-left:4px solid var(--up)}.tcard:hover{text-decoration:none}
.tc-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tc-h b{font-size:16px}
.tc-pend{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;background:var(--soft);border-radius:10px;padding:10px 12px}
.pend-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 auto;margin-top:5px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.tc-f{margin-top:8px;word-break:break-all}.btbox{border-left:4px solid var(--c-earn)}
.fz summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;min-height:44px}.fz summary::-webkit-details-marker{display:none}
.fzh{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.fzh .tkp{color:var(--ink)}.fzh .tkp:hover{text-decoration:none}
/* glossary */
.gfilter{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font-size:16px;background:var(--card);color:var(--ink);margin:12px 0 4px}
.gterm{display:block}.gterm .t{font-size:15px}.gd{font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.5;white-space:normal}.gterm.hl{background:color-mix(in srgb,var(--accent) 12%,var(--card))}
/* legal */
.legal h3{margin:16px 0 4px;font-size:15px}.legal h3:first-child{margin-top:0}.legal p,.legal li{font-size:14px;line-height:1.6;color:var(--ink)}.legal ul{padding-left:18px;margin:6px 0}
/* status */
.hdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:var(--new)}.hdot.warn{background:var(--accent-ink)}.hdot.bad{background:var(--accent-ink)}
/* tour */
.tour{position:fixed;inset:0;z-index:90;background:rgba(8,16,31,.55)}
.tour-ring{position:fixed;border-radius:14px;box-shadow:0 0 0 3px var(--accent),0 0 0 9999px rgba(8,16,31,.35);transition:all .25s;pointer-events:none}
.tour-card{position:fixed;left:14px;right:14px;max-width:420px;margin:0 auto;background:var(--card);color:var(--ink);border-radius:16px;padding:16px;box-shadow:0 14px 40px rgba(0,0,0,.3);border-top:4px solid var(--accent-ink)}
.tour-step{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}.tour-t{font-size:18px;font-weight:700;margin:4px 0}.tour-b{font-size:14px;line-height:1.5;color:var(--muted)}
.tour-nav{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:8px}.tour-dots{display:flex;gap:5px}.tour-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.tour-dots i.on{background:var(--accent-ink);width:18px;border-radius:4px}
/* interactive charts */
.chartwrap{position:relative}.ixon svg.chart{touch-action:pan-y;cursor:crosshair}
.ixl{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.ixd{stroke:var(--card);stroke-width:1.5}
.ixtip{position:absolute;top:-6px;transform:translateY(-100%);background:var(--ink);color:var(--card);border-radius:10px;padding:7px 10px;font-size:12px;line-height:1.45;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.2);white-space:nowrap;z-index:5}
.ixtip b{display:block;font-size:11.5px;opacity:.8}.ixtip span{display:flex;align-items:center;gap:6px}.ixtip i{width:8px;height:8px;border-radius:2px;display:inline-block}.ixtip em{font-style:normal;font-weight:700;margin-left:auto;padding-left:10px}
body.v-c .ixtip{background:var(--surface-2);color:var(--bg)}
/* tools */
.tform label{margin-top:0}.tform textarea{min-height:110px;font-size:15px}.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.tgrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin:0}
.tgrid input,.tgrid select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font-size:16px;background:var(--card);color:var(--ink);width:100%}
.tform select{min-height:44px;font-size:16px}
.pgm{display:flex;flex-direction:column;gap:2px}.pgm .ckl{font-size:14px;font-weight:600;margin:0}.sw2{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.xbar,.secrow{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 48px;gap:8px;align-items:center;min-height:32px;font-size:13px}.xbar b,.secrow b{text-align:right;font-variant-numeric:tabular-nums}
.sk{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sbar{height:10px;position:relative;background:var(--soft);border-radius:5px}
.sbar i{position:absolute;top:0;bottom:0;border-radius:5px}.sbar i.pos{left:50%;background:linear-gradient(90deg,var(--accent-ink),var(--accent))}.sbar i.neg{right:50%;background:var(--down)}
.dstat{display:block;color:var(--ink)}.dstat:hover{text-decoration:none}
.copycard{border-left:4px solid var(--c-copy)}
@media(max-width:380px){.cmprow{grid-template-columns:100px 1fr 56px;gap:8px;font-size:12.5px}.segs{grid-template-columns:1fr 1fr}.pp-t span{display:none}}
.sugg a em.st{font-style:normal}
/* header fits menu + wordmark + search + bell + theme at 360px */
@media(max-width:430px){.toprow{gap:4px}.tb{gap:0}.tb .iconbtn{width:40px;min-width:40px;padding:0;justify-content:center}.menubtn{width:40px;min-width:40px;padding:0}.brand{min-width:0}.wm{min-width:0}}
@media(max-width:374px){.wm .tag{font-size:7.5px;letter-spacing:.08em}.wm b{font-size:19px}.brand .mark{width:26px;height:26px}}
@media(max-width:374px){header .wrap.toprow{padding-left:8px;padding-right:8px;gap:2px}header .tb .iconbtn,header .menubtn{width:38px;min-width:38px}header .brand .wm small.tag{font-size:7.5px;letter-spacing:.06em}header .brand .wm b{font-size:18px}header .brand{gap:5px}}
@media(max-width:374px){body.wm-inline header.top .wm .tag,body header.top .wm .tag{font-size:7.6px!important;letter-spacing:.07em!important}body header.top .wm b{font-size:18px!important}}
.iconbtn.bell{overflow:visible}.bdg{top:-3px;right:-5px;min-width:17px;height:17px;font-size:9.5px;padding:0 4px;line-height:1}
/* ============================ layout polish pass (Oct 19) ============================ */
/* 1. bottom tab bar pinned to the viewport; content clears it */
@media(max-width:899px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  nav.bottom{position:fixed!important;left:0;right:0;bottom:0;top:auto;transform:none;padding:6px max(4px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-right))}
  .pushprompt{bottom:calc(76px + env(safe-area-inset-bottom))}
}
/* 2. consistent 16px side margins on phones */
@media(max-width:699px){
  main.wrap,body main.wrap{padding-left:16px;padding-right:16px}
  .chipbar,.mstrip,.strip,body .chipbar,body .mstrip{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
}
/* true horizontal scrollers: snap + right-edge fade so they read as scrollable, not clipped */
.chipbar,.strip,.tabs{scroll-snap-type:x proximity;scroll-padding-left:16px;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,var(--ink-3) calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,var(--ink-3) calc(100% - 36px),transparent)}
.chipbar>*,.strip>*,.tabs>*{scroll-snap-align:start}
.chipbar::after,.strip::after{content:"";flex:0 0 20px}
.strip::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}
.strip{padding-bottom:8px}
/* rows that should fit, not scroll */
.chipbar.fit{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none;gap:8px;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
.chipbar.fit::after{display:none}
.chipbar.fit .fchip{min-height:38px;padding:0 13px}
.tabs{-webkit-mask-image:none;mask-image:none;flex-wrap:nowrap}
.shero .chiprow,.chiprow.wrap-ok{flex-wrap:wrap;overflow:visible;row-gap:6px}
/* market strip: SPY + brake on one row, the models on the next, all fitting the width */
.mstrip,body .mstrip{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;overflow:visible;margin-left:0!important;margin-right:0!important;padding:0!important;-webkit-mask-image:none;mask-image:none}
.mstrip>.ms{min-width:0;grid-column:span 6;padding:10px 11px}
.mstrip>a.ms.mdl{grid-column:span 4}
.mstrip>a.ms.mdl:first-of-type:nth-last-of-type(1){grid-column:span 12}
.mstrip>a.ms.mdl:first-of-type:nth-last-of-type(2),.mstrip>a.ms.mdl:first-of-type:nth-last-of-type(2)~a.ms.mdl{grid-column:span 6}
.mstrip>a.ms.mdl:first-of-type:nth-last-of-type(4),.mstrip>a.ms.mdl:first-of-type:nth-last-of-type(4)~a.ms.mdl{grid-column:span 6}
.mstrip .ms .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mstrip .ms .s{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mstrip>a.ms.mdl .v{font-size:17px}
@media(min-width:700px){.mstrip>.ms{grid-column:span 3}.mstrip>a.ms.mdl,.mstrip>a.ms.mdl:first-of-type:nth-last-of-type(n)~a.ms.mdl{grid-column:auto}.mstrip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.mstrip>.ms,.mstrip>a.ms.mdl{grid-column:auto!important}}
/* earnings cards: equal size, snap */
.strip .pill{min-width:112px;max-width:150px}
.strip .pill span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 3. header: balanced at every phone width; bell badge stays inside */
header.top .wrap.toprow{padding-left:12px;padding-right:12px;gap:6px}
header.top .tb{gap:6px}
header.top .tb .iconbtn,header.top .menubtn{width:40px;min-width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.iconbtn.bell{position:relative;overflow:visible}
.iconbtn.bell .bdg{top:-5px;right:-4px;min-width:18px;height:18px;padding:0 5px;font-size:10px;line-height:18px;border:2px solid var(--card);box-sizing:content-box;height:14px;line-height:14px}
body.v-c .iconbtn.bell .bdg{border-color:var(--bg)}
@media(max-width:389px){
  header.top .wrap.toprow{padding-left:10px;padding-right:12px;gap:4px}
  header.top .tb{gap:4px}
  header.top .tb .iconbtn,header.top .menubtn{width:38px;min-width:38px;height:38px}
  body.wm-inline header.top .brand,header.top .brand{gap:5px}
}
@media(max-width:374px){header.top .wrap.toprow{padding-left:8px;padding-right:12px}}
/* 4. alerts list: one grid for every row */
.list.acc-alerts{padding:0;overflow:hidden}
.arow{display:grid!important;grid-template-columns:36px minmax(0,1fr) 10px;column-gap:12px;align-items:start;padding:12px 14px 12px 13px;border-left:3px solid color-mix(in srgb,var(--cc) 55%,transparent)!important;background:var(--card)}
.arow.unread{background:color-mix(in srgb,var(--cc) 7%,var(--card));border-left-color:var(--cc)!important}
.arow .alg{width:36px;height:36px;display:block}.arow .alg .lgo{margin:0}
.arow .ab{gap:3px}
.arow .am{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;line-height:18px}
.arow .am .tk{font-size:12px;font-weight:700;color:var(--ink)}
.arow .aw{font-size:11.5px;color:var(--muted);margin-left:auto;white-space:nowrap}
.arow .at{font-size:14.5px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.arow .ad{font-size:12.5px;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.arow .adot{width:10px;display:flex;justify-content:center;padding-top:5px}
.arow .adot .dot{margin:0;width:8px;height:8px}
.ahead{margin:4px 0 2px}.ahead h1{margin:8px 0}
/* 7. general: nothing wider than its card */
main.wrap img,main.wrap svg,main.wrap video{max-width:100%}
main.wrap svg.chart{height:auto}
.card,.list,.topcard,.th,.at{overflow-wrap:break-word}
.card table,.list table{max-width:100%}
.tscroll,.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tipbox{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.ixtip{max-width:calc(100vw - 40px);white-space:normal}
h1{overflow-wrap:anywhere}
.row .l{min-width:0}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
/* header on phones: menu, wordmark, search, bell only; theme + owner live in the drawer */
@media(max-width:699px){header.top .tb .themebtn,header.top .tb .own{display:none!important}}
header.top .tb .own{width:auto!important;padding:0 12px!important}
.shero .chiprow .iconbtn.small{min-height:34px}.iconbtn.shareic{width:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}
:root{--k-recap:var(--accent-ink)}[data-theme=legacy-navy]{--k-recap:var(--accent)}.k-recap{--cc:var(--k-recap)}.sub-srow{padding:12px 0 0!important;border:none!important;margin-top:8px!important;border-top:1px solid var(--line)!important}
/* ===== model insights (Oct 19): why-in-model, on the bubble, owner health/alerts, weekly recap ===== */
:root{--ix-a:var(--accent-ink);--ix-b:var(--accent-ink);--ix-t:var(--accent-ink);--ix-w:var(--accent-ink);--ix-wbg:var(--new);--ix-abg:var(--new);--ix-tbg:var(--new)}
[data-theme=legacy-navy]{--ix-a:var(--accent);--ix-b:var(--new);--ix-t:var(--accent);--ix-w:var(--new);--ix-wbg:rgba(196,224,226,.12);--ix-abg:rgba(143,196,199,.10);--ix-tbg:rgba(143,196,199,.10)}
.whyin{margin:10px 0 2px;padding:10px 12px;border-radius:12px;background:var(--ix-abg);border-left:3px solid var(--ix-a);font-size:13.5px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}
.whyin.card{margin:10px 0}
.whyin .wh{font-weight:700;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--ix-b);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.whyin .wr{font-weight:700;text-transform:none;letter-spacing:0;font-size:12px;background:var(--card);color:var(--ix-b);border-radius:999px;padding:1px 8px}
.whyin p{margin:6px 0 0}.whyin .wk{color:var(--muted)}.whyin .wk b{color:var(--ink);font-weight:600}
.chip.prev{background:var(--ix-abg);color:var(--ix-b);vertical-align:middle}
.chip.sm{font-size:11px;padding:1px 7px;vertical-align:middle}
.bubsum{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px}
.bubsum .bs{flex:1 1 0;min-width:0;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--line)}
.bubsum .bs b{display:block;font-size:22px;line-height:1.1}
.bubsum .bs.enter b{color:var(--ix-t)}.bubsum .bs.risk b{color:var(--ix-w)}
.list.bubble .row{border-left:3px solid transparent}
.list.bubble .row.bub-enter{border-left-color:var(--ix-t)}.list.bubble .row.bub-risk{border-left-color:var(--ix-w)}
.list.bubble .row.bub-hold{border-left-color:var(--ix-a)}
.list.bubble .row.cutline{border-top:2px dashed var(--ix-a)}
.list.bubble .r{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:0 0 auto;text-align:right}
.brank{font-weight:700;font-size:15px}
.blab{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap;background:var(--chip);color:var(--muted)}
.blab.enter{background:var(--ix-tbg);color:var(--ix-t)}.blab.risk{background:var(--ix-wbg);color:var(--ix-w)}.blab.hold{background:var(--ix-abg);color:var(--ix-b)}
.list.bubble .lt{min-width:0}.list.bubble .lt .n{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card.caveat{border-left:3px solid var(--ix-a)}
.hsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:6px 0 10px}
.hsum .hs{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);min-width:0}
.hsum .hs b{font-size:24px;line-height:1.1}.hsum .hs span{font-size:12.5px;font-weight:600;color:var(--muted);overflow-wrap:anywhere}
.hsum .hs.warn{border-color:var(--ix-w);background:var(--ix-wbg)}.hsum .hs.warn b{color:var(--ix-w)}.hsum .hs.ok b{color:var(--ix-t)}
.hlink{font-size:13px;font-weight:600;margin-left:auto;float:right}
.hlist .l{display:flex;align-items:center;gap:10px;min-width:0}.hlist .lt{display:flex;flex-direction:column;min-width:0}
.hdot{flex:0 0 10px;height:10px;border-radius:50%;background:var(--ix-t)}
.hc-warn .hdot{background:var(--ix-w)}.hc-pending .hdot{background:var(--line)}
.hst{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:var(--ix-tbg);color:var(--ix-t)}
.hst.warn{background:var(--ix-wbg);color:var(--ix-w)}.hst.pending{background:var(--chip);color:var(--muted)}
.ownercard{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px;border-radius:14px;background:var(--ix-abg);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.ownercard .oc-ic,.oic{flex:0 0 36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--card);color:var(--ix-b)}
.ownercard .oc-t{display:flex;flex-direction:column;min-width:0;flex:1}.ownercard .oc-t span{font-size:12.5px;color:var(--muted)}
.ownercard .cnt{flex:0 0 auto}
.oic.health{color:var(--ix-w)}.oic.brief{color:var(--ix-b)}.oic.recap{color:var(--ix-t)}
.arow.ok-health{--cc:var(--ix-w)}.arow.ok-brief{--cc:var(--ix-b)}.arow.ok-recap{--cc:var(--ix-t)}
.iconbtn.bell .bdg.own{background:var(--accent-ink)}
.rcap{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0 6px}
@media(min-width:700px){.rcap{grid-template-columns:repeat(3,1fr)}}
.rcap .rc{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ix-a);color:var(--ink);text-decoration:none}
.rcap .rn{font-weight:700}.rcap .rv{font-size:22px;font-weight:800;text-align:right;background:none!important;padding:0!important}
.rcap .rs{grid-column:1/-1;font-size:12.5px;color:var(--muted)}.rcap .rs b{background:none!important;padding:0!important}
.card.briefnote{border-left:3px solid var(--ix-b)}
body .row .r .blab,body .row .r .hst,body.v-c .row .r .blab,body.v-c .row .r .hst{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:0}
.list.rcl .row{align-items:center;gap:10px}.list.rcl .l{flex:1 1 auto;min-width:0}.list.rcl .lt{display:flex;flex-direction:column;min-width:0}
.list.rcl .lt .n{display:block;font-size:12.5px;white-space:normal;line-height:1.3}.list.rcl .r{flex:0 0 auto;text-align:right}
.note-body table{display:block;max-width:100%;overflow-x:auto}
.srow.sub-srow{display:flex;align-items:center;justify-content:space-between;gap:12px}.srow.sub-srow .l{flex:1;min-width:0}.srow.sub-srow .sw{flex:0 0 auto}
/* Drawer lockup: full one-line mark + carré + SYSTEMATIC STRATEGIES beside the close button (Oct 19) */
.drawer{width:min(88vw,330px)}
.dhead{padding:12px 10px 12px 16px;gap:8px}
.dhead .brand{flex:0 1 auto;min-width:0;gap:7px}
.dhead .brand .mark{height:24px;width:auto;flex:0 0 auto}
.dhead .wm{gap:6px!important;white-space:nowrap}
.dhead .wm b{font-size:19px}
.dhead .wm .tag{font-size:9px;letter-spacing:.1em}
.dhead .iconbtn{flex:0 0 auto;width:38px;min-width:38px;height:38px}
.mheld{margin:-2px 2px 8px;line-height:1.4}
body.v-c .row .r .chip,body .row .r .chip{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:0}
/* brand-css */
/* Carré (Oct 19): dark theme uses mark-dark.svg (outer square var(--accent-ink), readable on the navy header). */
[data-theme=legacy-navy] img.mark{content:url(/static/mark-dark.svg?v=5c70c761e6)}
/* Short name: no long-name shrink rules; slightly larger, crisper wordmark on phones (still >=20px clear of search/bell at 360px). */
.wm b,.wm .tag,.wm small{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
@media(max-width:430px){body.wm-inline header.top .wm b{font-size:20px;letter-spacing:-.2px}body.wm-inline header.top .wm .tag{font-size:9px;letter-spacing:.1em}body.wm-inline header.top .wm{gap:6px}}
@media(max-width:374px){body header.top .wm b{font-size:19px!important}body.wm-inline header.top .wm .tag,body header.top .wm .tag{font-size:8.4px!important;letter-spacing:.08em!important}}
/* /brand-css */
/* Blues and whites only (Jason, Oct 19): green/red stay only on gain/loss numbers and up/down arrows. Non-gain uses of --up/--down move to blues. */
.btn.danger{background:var(--accent-ink)}
.badge{background:var(--accent-ink)}
.pushcard.done{border-left-color:var(--accent-ink)}
.tcard{border-left-color:var(--accent-ink)}
.b2.buy{background:var(--new);color:var(--accent-ink)}.b2.sell{background:var(--line);color:var(--ink-2)}
[data-theme=legacy-navy] .b2.buy,body.v-c .b2.buy{background:rgba(125,185,190,.16);color:var(--accent)}[data-theme=legacy-navy] .b2.sell,body.v-c .b2.sell{background:rgba(160,172,178,.14);color:var(--ink-3)}
/* portfolio builder */
.pb label{display:block;font-size:12.5px;color:var(--muted);margin:8px 0 4px}.pb-card label:first-child{margin-top:0}
.pb-h{display:flex;align-items:center;gap:8px;font-size:16px;margin:16px 0 8px}.pb-n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-ink);color:var(--white);font-size:12px}
[data-theme=legacy-navy] .pb-n{background:var(--accent-ink)}
.pb-search{position:relative}.pb-search input{width:100%;box-sizing:border-box}
.pb-sugg{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--card);border:1px solid var(--line);border-radius:12px;z-index:15;overflow:hidden;box-shadow:0 8px 24px rgba(20,52,64,.12)}
.pb-sugg button{display:flex;width:100%;gap:10px;align-items:baseline;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 12px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.pb-sugg button span{color:var(--muted);font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pb-none{padding:11px 12px;color:var(--muted)}
.pb-meter{padding:12px 14px}.pb-mrow{display:flex;justify-content:space-between;gap:8px;font-size:14px}.pb-mrow b{color:var(--accent-ink)}[data-theme=legacy-navy] .pb-mrow b{color:var(--new)}
.pb-bar{height:8px;border-radius:99px;background:var(--chip);overflow:hidden;margin:8px 0 6px}.pb-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent-ink),var(--accent-ink) 60%,var(--accent));border-radius:99px;transition:width .15s}
.pb-list:empty{display:none}
.pb-row{display:grid;grid-template-columns:1fr 92px 40px;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--line)}.pb-row:last-child{border-bottom:0}
.pb-l{min-width:0;display:flex;flex-direction:column}.pb-l span{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-w{position:relative}.pb-w input{width:100%;box-sizing:border-box;text-align:right;padding-right:26px!important;font-variant-numeric:tabular-nums}.pb-w em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted);font-size:14px}
.pb-w input.bad{border-color:var(--accent-ink);box-shadow:0 0 0 2px rgba(74,144,152,.25)}
.pb-x{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.pb-msg{display:none;grid-column:1/-1;font-size:12.5px;color:var(--accent-ink);background:var(--chip);border-radius:8px;padding:6px 10px}[data-theme=legacy-navy] .pb-msg{color:var(--new)}
.pb-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.pb-acts .btn{width:100%;text-align:center;justify-content:center;box-sizing:border-box}

/* coteau.css */
/* ===================== coteau preview layer (Waterfall gray, locked) =====================
   header #D9DDE0 · page var(--bg) (option 7: cool gray, white cards + soft shadow) · ink var(--ink) · accent var(--accent) · hairline var(--accent-ink)→var(--accent-ink) (2px)
   newest card var(--new) + var(--new-edge) edge + subtle X · older cards white + var(--line-2) · square corners */
/* LIGHT ACCENT (round 4, Oct 19): bright cyan. Swap point = the light tokens below (--ct-accent / --ct-accent-d / --ct-edge / --ct-tile /
   --ct-tile-edge / --ct-line / --ct-new / --ct-new-edge). Filled buttons + active chip: #3EC8C9 with ink var(--ink) text (6.46:1) and a 1px var(--accent-ink) edge.
   Previous seafoam, to swap back: accent var(--accent) · accent-d var(--accent-ink) · edge var(--accent) · tile var(--new) / var(--new-edge) · new var(--new) / var(--new-edge) ·
   line var(--accent-ink)→var(--accent-ink) · fills white text · x-card.svg strokes var(--accent) / var(--accent-ink). Dark theme overrides all of these further down. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-var-latin.woff2?v=aa252a96e5) format("woff2")}
:root,[data-theme=light],[data-theme=dark]{
  --ct-header:#D9DDE0;--ct-page:var(--bg);--ct-ink:var(--ink);--ct-accent:#3EC8C9;--ct-accent-d:var(--accent-ink);--ct-edge:var(--accent-ink);--ct-on-accent:var(--ink);--ct-tile:var(--new);--ct-tile-edge:var(--new-edge);--ct-gray:var(--line-2);--ct-soft:var(--ink-2);
  --ct-new:var(--new);--ct-new-edge:var(--new-edge);--ct-line:linear-gradient(90deg,var(--accent-ink),var(--accent-ink));
  --card:#FFFFFF;--muted:var(--ink-2);--line:#D9DCDF;--soft:var(--surface-2);--chip:var(--surface-2);
  --accent:#3EC8C9;--royal:var(--accent-ink);--navy:var(--ink);--indigo:var(--accent-ink);--azure:var(--accent-ink);--sky:#3EC8C9;--pale:var(--new-edge);
  --sec:var(--accent-ink);--hero:none;--shadow:none;
  --c-news:#3EC8C9;--c-models:#3EC8C9;--c-port:#3EC8C9;--c-ins:#3EC8C9;--c-earn:#3EC8C9;--c-res:#3EC8C9;--c-cat:#3EC8C9;--c-stock:#3EC8C9;--c-copy:#3EC8C9;--c-watch:#3EC8C9;
  color-scheme:light}
html body.ct{background:var(--ct-page)!important;background-image:none!important;color:var(--ct-ink);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
html body.ct main.wrap{background:transparent!important;background-image:none!important}
#bbLayer{display:none!important}

/* ---------- corners (round 4): 4px on cards, chips, buttons, tiles, inputs, heroes, sheets, toasts, tour, drawer cards; 2px on small tags
   and ticker pills; logo dots round; everything else (header, nav bar, bottom nav, drawer panel, pseudo-elements) square. Both themes. ---------- */
html body.ct *:not(img),html body.ct *::before,html body.ct *::after{border-radius:0!important}
html body.ct :is(.topcard,.fchip,.btn,button.pri,.ms,.pill,.iconbtn,input:not([type=checkbox]):not([type=radio]):not(.sw),select,textarea,.card,.hero,.hchip,.ct-step-card,.ct-getapp-top,
 .tour-card,.sheet,.seg span,.stat,.rt,.news,.list,.whyin,.tabs a,.sugg,.flash,.dhb,.pushprompt,.ct-getapp-drawer,.ct-themesw:not(.in-page),.ct-seg,.grade,.chip){border-radius:4px!important}
html body.ct :is(.topcard .tkp,.cat,.tmeta span,.blab,.sx,.badge,.hchip .n,.whyin .wr,.ct-getapp-drawer img){border-radius:2px!important}
html body.ct .sw{border-radius:999px!important}html body.ct .sw::after{border-radius:50%!important}
html body.ct :is(.tkp .lgo,.tkp .lgo img,.lgo.mono,.lgo,.lgo img){border-radius:50%!important}
html body.ct .topcard.lead,html body.ct .hero,html body.ct .ct-seg,html body.ct .list{overflow:hidden}

/* ---------- header ---------- */
html body.ct header.top{background:var(--ct-header)!important;background-image:none!important;border-bottom:0!important;box-shadow:none!important}
html body.ct header.top::after{content:""!important;display:block!important;height:2px!important;background:var(--ct-line)!important;box-shadow:0 1px 0 rgba(20,52,64,.10),0 2px 3px rgba(20,52,64,.06)!important;position:relative;z-index:3}
html body.ct header.top .wrap,html body.ct header.top .toprow{background:transparent!important}
html body.ct header.top .toprow{min-height:58px;height:58px}
html body.ct header.top .iconbtn{background:var(--surface)!important;border:1px solid var(--ct-gray)!important;color:var(--ct-ink)!important;box-shadow:none!important}
html body.ct header.top .iconbtn:hover{background:var(--surface-2)!important}
html body.ct .themebtn,html body.ct .dtheme{display:none!important}
/* header lockup R2 (Oct 19): lowercase coteau, Inter 500 23px, then the mark on the RIGHT (24px tall, 6px gap, centred on the letters) */
.ct-brand{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:0!important;margin:0!important;display:block!important;color:var(--ct-ink)!important;text-decoration:none!important;line-height:1}
.ct-word{position:relative;display:block;font:500 23px/1 "Inter",system-ui,sans-serif;letter-spacing:-.005em;color:var(--ct-ink);white-space:nowrap;padding-right:calc(24px * 170 / 133.6 + 6px);transform:translateY(-1.5px)}
.ct-word .ct-mark{position:absolute;right:0;left:auto;top:-.25px;height:24px;width:auto;margin:0;display:block}
.ct-getapp-top{display:none}
@media(min-width:900px){
  html body.ct header.top .toprow{min-height:64px;height:64px}
  .ct-brand{position:static!important;transform:none;flex:0 0 auto;margin-left:4px!important}
  html body.ct .dnav a{border-radius:0!important;color:var(--ct-ink)}
  html body.ct .dnav a.on{color:var(--ct-ink)!important;background:rgba(255,255,255,.55)!important;box-shadow:inset 0 -2px 0 var(--ct-accent-d)}
  html body.ct .dnav a:hover{background:rgba(255,255,255,.4)!important}
  html body.ct header.top .search input{background:var(--surface)!important;border:1px solid var(--ct-gray)!important}
  .ct-getapp-top{display:inline-flex;align-items:center;height:40px;padding:0 12px;background:var(--ct-accent);border:1px solid var(--ct-edge);color:var(--ct-on-accent)!important;font-size:13.5px;font-weight:600;white-space:nowrap;text-decoration:none!important}
  html body.ct .dnav{gap:0}
}
@media(min-width:900px) and (max-width:1199px){html body.ct .dnav a{padding:10px 8px;font-size:14px}html body.ct header.top .search{width:180px}}
/* drawer + footer lockups */
.ct-dbrand,.ct-fbrand{display:flex!important;align-items:center;gap:6px;color:var(--ct-ink)!important;text-decoration:none!important}
.ct-dbrand .ct-mark,.ct-fbrand .ct-mark{height:22px;width:auto;order:2}
.ct-dword{font:500 21px/1 "Inter",system-ui,sans-serif;letter-spacing:-.005em;color:var(--ct-ink)}
html body.ct aside.drawer{background:var(--ct-page)!important;box-shadow:none!important}
html body.ct aside.drawer .dhead{background:var(--ct-header)!important;border-bottom:2px solid var(--ct-edge)}
html body.ct .dnav2 a.on{background:var(--surface)!important;color:var(--ct-ink)!important;box-shadow:inset 3px 0 0 var(--ct-accent)}
.ct-getapp-drawer{display:flex;align-items:center;gap:10px;margin:12px 14px 4px;padding:10px 12px;background:var(--surface);border:1px solid var(--ct-gray);color:var(--ct-ink)!important;text-decoration:none!important}
.ct-getapp-drawer img{border:1px solid var(--ct-gray)}
.ct-getapp-drawer span{display:flex;flex-direction:column;line-height:1.25}.ct-getapp-drawer b{font-size:14.5px}.ct-getapp-drawer small{font-size:12px;color:var(--ct-soft)}
/* never show Get the app inside the installed app */
html.ct-standalone .ct-getapp,html.ct-standalone .ct-getapp-top,html.ct-standalone .ct-getapp-drawer,html.ct-standalone .ct-desk-only{display:none!important}
.ct-only-standalone{display:none}html.ct-standalone .ct-only-standalone{display:block}

/* ---------- news chips ---------- */
html body.ct .chipbar{background:var(--ct-page)!important;background-image:none!important}
html body.ct .fchip{background:var(--surface)!important;border:1px solid var(--ct-gray)!important;color:var(--ct-ink)!important;box-shadow:none!important;font-weight:600}
html body.ct .fchip.on{background:var(--ct-accent)!important;border-color:var(--ct-edge)!important;color:var(--ct-on-accent)!important}
html body.ct .chipsep{background:var(--ct-gray)!important}

/* ---------- news cards: ONLY the newest is filled ---------- */
html body.ct .topcard{background:var(--surface)!important;background-image:none!important;border:1px solid var(--ct-gray)!important;box-shadow:none!important;color:var(--ct-ink)!important}
html body.ct .topcard:not(.lead)::before{display:none!important;background:none!important}
html body.ct .topcard .tmeta span{color:var(--ct-soft)!important}
html body.ct .topcard .th{color:var(--ct-ink)!important}
html body.ct .topcard .ts{color:var(--ct-soft)!important}
html body.ct .topcard.lead{position:relative;overflow:hidden;isolation:isolate;background:var(--ct-new)!important;border:1px solid var(--ct-new-edge)!important;border-left:4px solid var(--ct-new-edge)!important;color:var(--ct-ink)!important}
html body.ct .topcard.lead>*{position:relative;z-index:1}
html body.ct .topcard.lead::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url(/static/x-card.svg?v=89b3eabe3e) right center/cover no-repeat}
@media(min-width:700px){html body.ct .topcard.lead::before{background-image:url(/static/x-card-desk.svg?v=6c16cfc36c)}}
html body.ct .topcard .tkp{background:var(--surface)!important;color:var(--ct-ink)!important;border:1px solid rgba(20,52,64,.10)}
html body.ct .topcard.lead .tkp{background:rgba(255,255,255,.72)!important}
/* sector tags: one line, quiet */
html body.ct .cat{white-space:nowrap;background:var(--surface)!important;color:var(--ct-ink)!important;border:1px solid rgba(20,52,64,.14);font-weight:650}
html body.ct .topcard.lead .cat{background:rgba(255,255,255,.72)!important;border-color:rgba(20,52,64,.10)}
html body.ct .news{background:var(--surface);border-color:var(--ct-gray)}
html body.ct .list.acc-news{border-color:var(--ct-gray)}

/* ---------- SPY + model tiles ---------- */
html body.ct .ms{background:var(--surface-2)!important;background-image:none!important;border:1px solid var(--ct-gray)!important;box-shadow:none!important;color:var(--ct-ink)!important}
html body.ct .ms.mdl{background:var(--ct-tile)!important;border:1px solid var(--ct-tile-edge)!important;border-top:3px solid var(--ct-accent)!important}
html body.ct .ms .k,html body.ct .ms .s{color:var(--ct-soft)!important}
html body.ct .ms .v{color:var(--ct-ink)!important}
html body.ct .ms .up,html body.ct .ms .v.up{color:var(--up)!important}html body.ct .ms .down,html body.ct .ms .v.down,html body.ct .ms .chg.down{color:var(--down)!important}
html body.ct .ms .chg.up{color:var(--up)!important}
@media(min-width:700px){html body.ct .mstrip{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:visible;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  html body.ct .mstrip .ms{min-width:0}html body.ct .ms .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* ---------- section heads, pills, cards, buttons ---------- */
html body.ct h2::before{background:var(--ct-accent)!important;box-shadow:none!important;width:4px!important;height:16px!important}
html body.ct .pill{background:var(--surface)!important;background-image:none!important;border:1px solid var(--ct-gray)!important;border-top:3px solid var(--ct-accent)!important;box-shadow:none!important;color:var(--ct-ink)!important}
html body.ct .card{box-shadow:none!important}
html body.ct .btn.pri,html body.ct button.pri,html body.ct .btn:not(.ghost):not(.sec){background:var(--ct-accent)!important;border:1px solid var(--ct-edge)!important;color:var(--ct-on-accent)!important}
html body.ct .btn:not(.ghost):not(.sec) *{color:var(--ct-on-accent)!important}
html body.ct .btn.ghost{background:var(--surface)!important;border:1px solid var(--ct-gray)!important;color:var(--ct-ink)!important}
html body.ct a{color:var(--ct-accent-d)}
html body.ct .topcard,html body.ct .news,html body.ct .ms,html body.ct .pill,html body.ct .fchip,html body.ct .dnav a,html body.ct nav.bottom a,html body.ct .iconbtn,html body.ct .brand{color:var(--ct-ink)}

/* ---------- bottom nav ---------- */
html body.ct nav.bottom{background:var(--surface-2)!important;border-top:1px solid var(--ct-gray)!important;box-shadow:none!important}
html body.ct nav.bottom a{color:var(--chrome-mute)!important}
html body.ct nav.bottom a.on{color:var(--ct-accent-d)!important}
html body.ct nav.bottom a.on svg{background:none!important;padding:0!important;width:22px!important;height:22px!important}
html body.ct nav.bottom a.on::before{background:var(--ct-accent)!important;left:30%!important;right:30%!important;height:2px!important;top:-7px!important}

/* ---------- footer ---------- */
html body.ct .foot{border-top:1px solid var(--ct-gray)}

/* ---------- get the app landing (the only page with the page-background X) ---------- */
.ct-landing{position:relative;margin:0 -18px;padding:0 18px}
.ct-hero{position:relative;z-index:1;text-align:center;padding:48px 0 28px;display:flex;flex-direction:column;align-items:center}
.ct-hero-mark{height:64px;width:auto;margin-bottom:18px}
.ct-hero-word{font:500 46px/1 "Inter",system-ui,sans-serif;letter-spacing:-.01em;color:var(--ct-ink)}
.ct-hero-lede{margin:20px auto 0;font-size:16px;line-height:1.55;color:var(--ct-soft);max-width:440px}
.ct-hero-ctas{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;justify-content:center}
.ct-hero-ctas .btn{height:46px;padding:0 22px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;text-decoration:none!important}
.ct-hero-note{margin-top:14px;font-size:12.5px;color:var(--ink-3)}
.ct-install{position:relative;z-index:1;display:grid;gap:12px;grid-template-columns:1fr;max-width:980px;margin:8px auto 28px}
.ct-step-card{background:var(--surface);border:1px solid var(--ct-gray);border-top:3px solid var(--ct-accent);padding:14px 16px}
.ct-step-card h3{margin:0 0 8px;font-size:15px}.ct-step-card ol{margin:0;padding-left:20px;font-size:14px;line-height:1.65;color:var(--ct-ink)}
.ct-desk-only{display:none}
.ct-install-note{position:relative;z-index:1;max-width:980px;margin:-14px auto 32px;text-align:center;font:400 13px/1.5 "Inter",system-ui,sans-serif;color:var(--ink-3)}
@media(min-width:900px){
  .ct-landing{margin:0 calc(50% - 50vw);padding:0 calc(50vw - 50%)}
  .ct-landing::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;opacity:.75;background:url(/static/x-landing.svg?v=7a99f29336) center top/1440px 1000px repeat;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,var(--ink-3) 110px);mask-image:linear-gradient(to bottom,transparent 0,var(--ink-3) 110px)}
  .ct-landing::after{content:"";position:absolute;left:50%;top:210px;width:900px;height:520px;transform:translate(-50%,-50%);pointer-events:none;
    background:radial-gradient(ellipse at center,var(--bg) 0%,rgba(238,241,243,.85) 40%,rgba(238,241,243,0) 72%)}
  .ct-hero{padding:84px 0 40px}.ct-hero-mark{height:78px}.ct-hero-word{font-size:62px}
  .ct-install{grid-template-columns:repeat(3,1fr)}.ct-desk-only{display:block}
}

/* ---------- page heroes (Models, Portfolios, Insiders ...): calm seafoam panel, not a blue gradient ---------- */
html body.ct .hero{background:var(--ct-tile)!important;background-image:none!important;border:1px solid var(--ct-tile-edge)!important;border-left:4px solid var(--ct-accent)!important;box-shadow:none!important;color:var(--ct-ink)!important}
html body.ct .hero h1{color:var(--ct-ink)!important}html body.ct .hero p{color:var(--ct-soft)!important}
html body.ct .hero .hchip{background:var(--surface)!important;border:1px solid var(--ct-tile-edge)!important;color:var(--ct-ink)!important}
html body.ct .hero .hchip.ok{background:var(--new)!important}html body.ct .hero .hchip.warn{background:var(--surface-2)!important;border-color:var(--warn)!important}
/* earnings pills: ticker in ink, not light seafoam */
html body.ct .pill b,html body.ct .pill .lg-row b{color:var(--ct-ink)!important}
html body.ct .pill span{color:var(--ct-soft)}
/* tiles: full model names on phone (no ellipsis) */
html body.ct .mstrip .ms .k{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:12px;line-height:1.25}
html body.ct .mstrip .ms .s{white-space:nowrap;font-size:10.5px;overflow:visible!important;text-overflow:clip!important}
html body.ct .mstrip .ms.mdl{padding:9px 10px!important}
@media(min-width:700px){html body.ct .mstrip{grid-auto-flow:column;grid-auto-columns:1fr;grid-template-columns:none!important}}
.ct-landing{margin:0;padding:0}
@media(min-width:900px){.ct-landing{margin:0 calc(50% - 50vw);padding:0 calc(50vw - 50%);overflow:visible}}
/* model comparison rows: room for "Momentum Top 15" */
html body.ct .cmprow{grid-template-columns:132px 1fr 58px}
@media(min-width:700px){html body.ct .cmprow{grid-template-columns:160px 1fr 62px}}
@media(max-width:380px){html body.ct .cmprow{grid-template-columns:118px 1fr 54px}}
html body.ct .dnav2 a{color:var(--ct-ink)!important}html body.ct .dnav2 a svg{color:var(--ct-accent-d)}
/* ---------- option 7 (Oct 19): cool-gray page, white cards lift with a soft shadow; SPY tiles white ---------- */
html body.ct .topcard,html body.ct .ms,html body.ct .pill{box-shadow:0 1px 2px rgba(20,52,64,.06)!important}
html body.ct .ms:not(.mdl){background:var(--surface)!important}

/* light (round 4): remaining seafoam bits from style.css move to cyan */
html[data-theme=light] body.ct .seg input:checked+span{background:var(--ct-accent)!important;border-color:var(--ct-edge)!important;color:var(--ct-on-accent)!important}
html[data-theme=light] body.ct .seg input:focus-visible+span,html[data-theme=light] body.ct :focus-visible{outline:2px solid var(--ct-accent)!important;outline-offset:2px}
html[data-theme=light] body.ct{accent-color:var(--ct-accent-d)}
html[data-theme=light] body.ct .cmpbar i{background:linear-gradient(90deg,var(--accent-ink),var(--accent-ink))!important}
html[data-theme=light] body.ct .sw:checked{background:var(--accent-ink)}
html[data-theme=light] body.ct .tour-ring{box-shadow:0 0 0 3px var(--new-edge),0 0 0 9999px rgba(8,16,31,.35)}
html[data-theme=light] body.ct .tour-card{border-top-color:var(--new-edge)}html[data-theme=light] body.ct .tour-step{color:var(--accent-ink)}html[data-theme=light] body.ct .tour-dots i.on{background:var(--accent-ink)}
html[data-theme=light] body.ct .tabs a.on{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--white)}
html[data-theme=light] body.ct .dnav2 a svg{color:var(--accent-ink)}
/* light: eyebrows and portfolio heroes (the old --hero gradient is gone, so the white-on-gradient text needs ink) */
html[data-theme=light] body.ct .eyebrow{color:var(--accent-ink)!important;background:rgba(62,200,201,.14)!important}
html[data-theme=light] body.ct .chip.flagchip{background:var(--accent-ink)!important;color:var(--white)!important}
html[data-theme=light] body.ct .chip.mdl{background:var(--ct-tile)!important;color:var(--accent-ink)!important}
html[data-theme=light] body.ct .phero{background:var(--ct-tile)!important;background-image:none!important;border:1px solid var(--ct-tile-edge)!important;border-left:4px solid var(--ct-accent)!important;box-shadow:none!important;color:var(--ct-ink)!important;border-radius:4px!important;overflow:hidden}
html[data-theme=light] body.ct .phero h1,html[data-theme=light] body.ct .phero .tiles-label{color:var(--ct-ink)!important}
html[data-theme=light] body.ct .phero .sub{color:var(--ct-soft)!important;opacity:1}
html[data-theme=light] body.ct .phero .chip{background:var(--surface)!important;border:1px solid var(--ct-tile-edge)!important;color:var(--ct-ink)!important}
html[data-theme=light] body.ct .phero .rt{background:var(--surface)!important;border:1px solid var(--ct-tile-edge)!important}
html[data-theme=light] body.ct .phero .rt .k,html[data-theme=light] body.ct .phero .rt .s{color:var(--ct-soft)!important}
html[data-theme=light] body.ct .phero .rt .v{color:var(--ct-ink)!important}
html[data-theme=light] body.ct .phero .rt.up .v{color:var(--up)!important}html[data-theme=light] body.ct .phero .rt.down .v{color:var(--down)!important}

/* ======================================================================================================
   THEMES (Oct 19): DARK "B" is the default; LIGHT (option 7 above) when the visitor picks it.
   html[data-theme] is set before paint by the <head> script (localStorage 'ct-theme'); app.js applyMode() flips it.
   Dark B: page #121314 · cards var(--surface) · newest #1A2022 · raised var(--line) · text #F2F4F5 · secondary var(--ink-3)
           LINES in logo cyan: newest card #3EC8C9 (1px + 3px left rule), everything else dim cyan var(--line-2) hairlines
           cyan fills carry black #0B0C0D text (9.61:1) · gains var(--up) · losses var(--down) · square corners
   ====================================================================================================== */
/* mark swap: teal mark A in light, lightened mark B1 (#3EC8C9 / #E6F2F2 / var(--accent-ink)) in dark */
.ct-mark.ct-mk-d{display:none!important}
html[data-theme=dark] .ct-mark.ct-mk-l{display:none!important}
html[data-theme=dark] .ct-mark.ct-mk-d{display:block!important}
html[data-theme=dark] .mk-b{fill:var(--ink)}html[data-theme=dark] .mk-c{fill:var(--accent-ink)}

/* Light / Dark switch (drawer + Settings) */
.ct-themesw{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 14px 6px;padding:10px 12px;border:1px solid var(--ct-gray);background:var(--surface)}
.ct-themesw-l{font-size:13px;font-weight:600;color:var(--ct-ink)}
.ct-seg{display:inline-flex;border:1px solid var(--ct-edge);overflow:hidden}
.ct-seg button{appearance:none;-webkit-appearance:none;border:0;margin:0;min-width:64px;height:34px;padding:0 12px;background:transparent;color:var(--ct-ink);font:600 13.5px/1 "Inter",system-ui,sans-serif;cursor:pointer;border-radius:0}
.ct-seg button+button{border-left:1px solid var(--ct-edge)}
html[data-theme=light] .ct-seg [data-ct-theme-set=light]{background:var(--ct-accent);color:var(--ct-on-accent)}
html[data-theme=dark] .ct-seg [data-ct-theme-set=dark]{background:var(--accent);color:var(--on-accent)}
.ct-seg button:focus-visible{outline:2px solid var(--new-edge);outline-offset:2px}
.ct-themesw.in-page{margin:0;border:0;padding:4px 0;background:transparent}

/* ---------- dark tokens ---------- */
html[data-theme=dark]{--ct-header:#121314;--ct-page:#121314;--ct-ink:#F2F4F5;--ct-soft:var(--ink-3);--ct-gray:var(--line-2);--ct-accent:#3EC8C9;--ct-accent-d:#3EC8C9;
 --ct-new:#1A2022;--ct-new-edge:#3EC8C9;--ct-line:#3EC8C9;--ct-card:var(--surface);--ct-raise:var(--line);--ct-hair:var(--line);--ct-dim:var(--line-2);--ct-on-cyan:#0B0C0D;
 --bg:#121314;--card:var(--surface);--ink:#F2F4F5;--muted:var(--ink-3);--soft:var(--line);--chip:var(--line);
 --accent:#3EC8C9;--royal:#3EC8C9;--navy:#F2F4F5;--indigo:#3EC8C9;--azure:#3EC8C9;--sky:#3EC8C9;--pale:var(--line-2);--sec:#3EC8C9;--h2:#F2F4F5;
 --c-news:#3EC8C9;--c-models:#3EC8C9;--c-port:#3EC8C9;--c-ins:#3EC8C9;--c-earn:#3EC8C9;--c-res:#3EC8C9;--c-cat:#3EC8C9;--c-stock:#3EC8C9;--c-copy:#3EC8C9;--c-watch:#3EC8C9;
 --up-bg:rgba(61,214,140,.12);--down-bg:rgba(255,138,101,.12);color-scheme:dark;background:var(--surface)}
html[data-theme=dark] body.ct{background:var(--surface)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct main.wrap,html[data-theme=dark] body.ct .chipbar{background:var(--surface)!important}

/* header: all dark + 1px cyan line */
html[data-theme=dark] body.ct header.top{background:var(--chrome)!important}
html[data-theme=dark] body.ct header.top::after{height:1px!important;background:var(--accent)!important;box-shadow:none!important}
html[data-theme=dark] body.ct header.top .iconbtn{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=dark] body.ct header.top .iconbtn:hover{background:var(--surface)!important}
html[data-theme=dark] .ct-brand,html[data-theme=dark] .ct-word,html[data-theme=dark] .ct-dword,html[data-theme=dark] .ct-dbrand,html[data-theme=dark] .ct-fbrand{color:var(--ink)!important}
html[data-theme=dark] body.ct .dnav a{color:var(--line-2)!important}
html[data-theme=dark] body.ct .dnav a.on{color:var(--ink)!important;background:transparent!important;box-shadow:inset 0 -2px 0 var(--new-edge)!important}
html[data-theme=dark] body.ct .dnav a:hover{background:var(--surface)!important}
html[data-theme=dark] body.ct header.top .search input{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=dark] body.ct header.top .search input::placeholder{color:var(--ink-3)}
html[data-theme=dark] .ct-getapp-top{background:var(--accent)!important;color:var(--on-accent)!important}
html[data-theme=dark] body.ct .sugg{background:var(--surface)!important;border:1px solid var(--line-2)!important;box-shadow:0 8px 24px rgba(0,0,0,.5)!important}
html[data-theme=dark] body.ct .sugg a{color:var(--ink)!important;border-color:var(--line)!important}html[data-theme=dark] body.ct .sugg a:hover{background:var(--line)!important}
html[data-theme=dark] body.ct .sugg span,html[data-theme=dark] body.ct .sugg em{color:var(--ink-3)!important}html[data-theme=dark] body.ct .sugg b{color:var(--ink)!important}

/* drawer */
html[data-theme=dark] body.ct aside.drawer{background:var(--chrome)!important;border-right:1px solid var(--line-2)}
html[data-theme=dark] body.ct aside.drawer .dhead{background:var(--chrome)!important;border-bottom:1px solid var(--new-edge)!important}
html[data-theme=dark] body.ct aside.drawer .iconbtn{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=dark] body.ct .dgt{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .dnav2 a{color:var(--ink)!important}html[data-theme=dark] body.ct .dnav2 a svg{color:var(--accent-ink)!important}
html[data-theme=dark] body.ct .dnav2 a:hover{background:var(--surface)!important}
html[data-theme=dark] body.ct .dnav2 a.on{background:var(--surface)!important;color:var(--ink)!important;box-shadow:inset 2px 0 0 var(--new-edge)!important}
html[data-theme=dark] .ct-getapp-drawer{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=dark] .ct-getapp-drawer img{border-color:var(--line-2)!important}html[data-theme=dark] .ct-getapp-drawer small{color:var(--ink-3)!important}
html[data-theme=dark] .ct-themesw:not(.in-page){background:var(--surface);border-color:var(--line-2)}
html[data-theme=dark] .ct-seg{border-color:var(--new-edge)}html[data-theme=dark] .ct-seg button{color:var(--line-2)}html[data-theme=dark] .ct-seg button+button{border-left-color:var(--new-edge)}
html[data-theme=dark] body.ct .dov{background:rgba(0,0,0,.6)!important}

/* news chips */
html[data-theme=dark] body.ct .fchip{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--line-2)!important}
html[data-theme=dark] body.ct .fchip.on{background:var(--accent)!important;border-color:var(--new-edge)!important;color:var(--on-accent)!important}
html[data-theme=dark] body.ct .chipsep{background:var(--line-2)!important}

/* news cards: newest = bright cyan edge + 3px left rule + dim cyan X; older = dim cyan hairline */
html[data-theme=dark] body.ct .topcard{background:var(--surface)!important;border:1px solid var(--line-2)!important;box-shadow:none!important;color:var(--chrome-ink)!important}
html[data-theme=dark] body.ct .topcard .th{color:var(--chrome-ink)!important}
html[data-theme=dark] body.ct .topcard .tmeta span,html[data-theme=dark] body.ct .topcard .ts{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .topcard.lead{background:var(--chrome)!important;border:1px solid var(--new-edge)!important;border-left:3px solid var(--new-edge)!important}
html[data-theme=dark] body.ct .topcard.lead::before{background-image:url(/static/x-card-dark.svg?v=7c7fd73d7a)!important}
@media(min-width:700px){html[data-theme=dark] body.ct .topcard.lead::before{background-image:url(/static/x-card-desk-dark.svg?v=98c76e9a33)!important}}
html[data-theme=dark] body.ct .topcard .tkp{background:var(--line)!important;color:var(--chrome-ink)!important;border:1px solid var(--line)!important}
html[data-theme=dark] body.ct .topcard.lead .tkp{background:rgba(36,39,42,.85)!important;border-color:var(--line-2)!important}
html[data-theme=dark] body.ct .cat{background:transparent!important;color:var(--line-2)!important;border:1px solid var(--line)!important}
html[data-theme=dark] body.ct .topcard.lead .cat{background:transparent!important;border-color:var(--line-2)!important}
html[data-theme=dark] body.ct .news,html[data-theme=dark] body.ct .list,html[data-theme=dark] body.ct .list.acc-news{background:var(--surface)!important;border-color:var(--line-2)!important}
html[data-theme=dark] body.ct .list>*,html[data-theme=dark] body.ct .news>*{border-color:var(--line)!important}
html[data-theme=dark] body.ct .lgo:not(.mono):not(.cat-ic){background:var(--ink)!important}

/* SPY + model tiles, stats */
html[data-theme=dark] body.ct .ms,html[data-theme=dark] body.ct .ms:not(.mdl){background:var(--surface)!important;border:1px solid var(--line-2)!important;box-shadow:none!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .ms.mdl{background:var(--surface)!important;border:1px solid var(--line-2)!important;border-top:2px solid var(--new-edge)!important}
html[data-theme=dark] body.ct .ms .k,html[data-theme=dark] body.ct .ms .s{color:var(--ink-3)!important}html[data-theme=dark] body.ct .ms .v{color:var(--ink)!important}
html[data-theme=dark] body.ct .up,html[data-theme=dark] body.ct .ms .up,html[data-theme=dark] body.ct .ms .v.up,html[data-theme=dark] body.ct .ms .chg.up{color:var(--up)!important}
html[data-theme=dark] body.ct .down,html[data-theme=dark] body.ct .ms .down,html[data-theme=dark] body.ct .ms .v.down,html[data-theme=dark] body.ct .ms .chg.down{color:var(--down)!important}
html[data-theme=dark] body.ct .stat{background:var(--line)!important;background-image:none!important;border:1px solid var(--line)!important;box-shadow:none!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .stat .k{color:var(--ink-3)!important}html[data-theme=dark] body.ct .stat .v{color:var(--ink)!important}

/* headings, pills, cards, chips, buttons, links */
html[data-theme=dark] body.ct h1,html[data-theme=dark] body.ct h2,html[data-theme=dark] body.ct h3,html[data-theme=dark] body.ct h4{color:var(--ink)}
html[data-theme=dark] body.ct h2::before{background:var(--accent)!important;width:2px!important}
html[data-theme=dark] body.ct .pill{background:var(--surface)!important;border:1px solid var(--line-2)!important;border-top:2px solid var(--ink-2)!important;box-shadow:none!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .pill b,html[data-theme=dark] body.ct .pill .lg-row b{color:var(--ink)!important}html[data-theme=dark] body.ct .pill span{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .card{background:var(--surface)!important;background-image:none!important;border:1px solid var(--line-2)!important;box-shadow:none!important;color:var(--ink)}
html[data-theme=dark] body.ct .chip{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--line-2)!important}
html[data-theme=dark] body.ct .chip.live{border-color:var(--new-edge)!important;color:var(--accent-ink)!important}
html[data-theme=dark] body.ct .chip.flagchip{background:var(--accent)!important;border-color:var(--new-edge)!important;color:var(--on-accent)!important}
html[data-theme=dark] body.ct .btn.pri,html[data-theme=dark] body.ct button.pri,html[data-theme=dark] body.ct .btn:not(.ghost):not(.sec){background:var(--accent)!important;border:1px solid var(--new-edge)!important;color:var(--on-accent)!important}
html[data-theme=dark] body.ct .btn:not(.ghost):not(.sec) *{color:var(--on-accent)!important}
html[data-theme=dark] body.ct .btn.ghost,html[data-theme=dark] body.ct .btn.sec{background:transparent!important;border:1px solid var(--new-edge)!important;color:var(--accent-ink)!important}
html[data-theme=dark] body.ct a{color:var(--accent-ink)}
html[data-theme=dark] body.ct .topcard,html[data-theme=dark] body.ct .news,html[data-theme=dark] body.ct .ms,html[data-theme=dark] body.ct .pill,html[data-theme=dark] body.ct .brand,html[data-theme=dark] body.ct a.row,html[data-theme=dark] body.ct .cmprow{color:var(--chrome-ink)}
html[data-theme=dark] body.ct .muted,html[data-theme=dark] body.ct .small.muted{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .badge{background:var(--accent)!important;color:var(--on-accent)!important}

/* page heroes (Models, Portfolios, Insiders ...) */
html[data-theme=dark] body.ct .hero{background:var(--surface)!important;background-image:none!important;border:1px solid var(--line-2)!important;border-left:2px solid var(--ink-2)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .hero h1{color:var(--ink)!important}html[data-theme=dark] body.ct .hero p{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .hero .hchip,html[data-theme=dark] body.ct .hero .hchip.ok,html[data-theme=dark] body.ct .hero .hchip.warn{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .cmprow.spy{color:var(--ink-3)}
html[data-theme=dark] body.ct .cmpbar{background:var(--line)!important}html[data-theme=dark] body.ct .cmpbar i{background:linear-gradient(90deg,var(--accent-ink),var(--accent))!important}
html[data-theme=dark] body.ct .cmprow.spy .cmpbar i{background:var(--ink)!important}

/* forms */
html[data-theme=dark] body.ct input:not([type=checkbox]):not([type=radio]):not([type=range]),html[data-theme=dark] body.ct select,html[data-theme=dark] body.ct textarea{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct input::placeholder,html[data-theme=dark] body.ct textarea::placeholder{color:var(--ink-3)!important}
html[data-theme=dark] body.ct input:focus,html[data-theme=dark] body.ct select:focus,html[data-theme=dark] body.ct textarea:focus{border-color:var(--new-edge)!important;outline:none;box-shadow:0 0 0 1px var(--new-edge)!important}
html[data-theme=dark] body.ct label{color:var(--line-2)}
html[data-theme=dark] body.ct{accent-color:var(--new-edge)}

/* tables */
html[data-theme=dark] body.ct table{color:var(--ink)}
html[data-theme=dark] body.ct th{color:var(--ink-3)!important;background:transparent!important;border-color:var(--line)!important}
html[data-theme=dark] body.ct td{border-color:var(--line)!important}
html[data-theme=dark] body.ct tr:hover td{background:rgba(62,200,201,.05)}

/* charts (server SVG from charts.py): readable axis/grid, the navy series turns off-white */
html[data-theme=dark] body.ct .chart .grid{stroke:var(--line)!important}
html[data-theme=dark] body.ct .chart .axis,html[data-theme=dark] body.ct .chart text{fill:var(--ink-3)!important}
html[data-theme=dark] body.ct .chart [stroke="var(--ink)"]{stroke:var(--ink)!important}
html[data-theme=dark] body.ct .chart [stroke="var(--accent-ink)"]{stroke:var(--new-edge)!important}
html[data-theme=dark] body.ct .chart [fill="var(--accent-ink)"]{fill:var(--new-edge)!important}
html[data-theme=dark] body.ct .chart [fill="var(--new)"]{fill:var(--ink-3)!important}
html[data-theme=dark] body.ct .legend{color:var(--ink-3)}
html[data-theme=dark] body.ct .legend i[style*="var(--ink)"]{background:var(--ink)!important}
html[data-theme=dark] body.ct .legend i[style*="var(--accent-ink)"]{background:var(--accent)!important}
html[data-theme=dark] body.ct .legend i[style*="var(--new)"]{background:var(--line-2)!important}

/* bottom nav, footer, banners */
html[data-theme=dark] body.ct nav.bottom{background:var(--chrome)!important;border-top:1px solid var(--line-2)!important}
html[data-theme=dark] body.ct nav.bottom a{color:var(--ink-3)!important}html[data-theme=dark] body.ct nav.bottom a.on{color:var(--accent-ink)!important}
html[data-theme=dark] body.ct nav.bottom a.on::before{background:var(--accent)!important;height:1px!important}
html[data-theme=dark] body.ct .foot{border-top:1px solid var(--line-2)!important;color:var(--ink-3)}
html[data-theme=dark] body.ct .flash{background:var(--surface-2)!important;border:1px solid var(--new-edge)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .dhb{background:var(--warn-bg)!important;border:1px solid var(--warn)!important;color:var(--warn)!important}

/* get the app landing */
html[data-theme=dark] .ct-hero-word{color:var(--ink)}html[data-theme=dark] .ct-hero-lede{color:var(--ink-3)}
html[data-theme=dark] .ct-hero-note,html[data-theme=dark] .ct-install-note{color:var(--ink-3)}
html[data-theme=dark] .ct-step-card{background:var(--surface);border:1px solid var(--line-2);border-top:2px solid var(--ink-2);color:var(--ink)}
html[data-theme=dark] .ct-step-card ol{color:var(--line-2)}
@media(min-width:900px){
 html[data-theme=dark] .ct-landing::before{background-image:url(/static/x-landing-dark.svg?v=560ce341e3);opacity:.6}
 html[data-theme=dark] .ct-landing::after{background:radial-gradient(ellipse at center,var(--surface) 0%,rgba(18,19,20,.85) 40%,rgba(18,19,20,0) 72%)}
}

/* dark: model "why it's in" boxes, buy/hold labels, sector chips, tabs, grades */
html[data-theme=dark]{--ix-a:#3EC8C9;--ix-abg:rgba(62,200,201,.08);--ix-b:var(--new-edge);--ix-t:#3EC8C9;--ix-tbg:rgba(62,200,201,.10);--ix-w:#FFB59A;--ix-wbg:rgba(255,138,101,.12)}
html[data-theme=dark] body.ct .whyin{background:var(--surface-2)!important;border-left:2px solid var(--new-edge)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .whyin p,html[data-theme=dark] body.ct .whyin b{color:var(--ink)!important}html[data-theme=dark] body.ct .whyin .wk{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .whyin .wr{background:var(--line)!important;color:var(--new-edge)!important}
html[data-theme=dark] body.ct .blab{background:var(--line)!important;color:var(--line-2)!important}
html[data-theme=dark] body.ct .blab.enter{background:rgba(62,200,201,.12)!important;color:var(--accent-ink)!important}
html[data-theme=dark] body.ct .blab.hold{background:rgba(62,200,201,.08)!important;color:var(--new-edge)!important}
html[data-theme=dark] body.ct .blab.risk{background:rgba(255,138,101,.12)!important;color:var(--down)!important}
html[data-theme=dark] body.ct .sx{background:transparent!important;border:1px solid var(--line);color:var(--line-2)!important}
html[data-theme=dark] body.ct .tabs a{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--line-2)!important}
html[data-theme=dark] body.ct .tabs a.on{background:var(--accent)!important;border-color:var(--new-edge)!important;color:var(--on-accent)!important}
html[data-theme=dark] body.ct .seg span{background:var(--surface)!important;border-color:var(--line-2)!important;color:var(--line-2)!important}
html[data-theme=dark] body.ct .seg input:checked+span{background:var(--accent)!important;border-color:var(--new-edge)!important;color:var(--on-accent)!important}
html[data-theme=dark] body.ct .gN{background:var(--line-2)!important}
html[data-theme=dark] body.ct .rd-imp{color:var(--accent-ink)!important}
html[data-theme=dark] body.ct .rangebar .rg{background:rgba(62,200,201,.30)}html[data-theme=dark] body.ct .rangebar .pm{background:var(--ink)}html[data-theme=dark] body.ct .rangebar .tm{background:var(--accent)}
/* dark: switches, tour, push prompt */
html[data-theme=dark] body.ct .sw{background:var(--line)}html[data-theme=dark] body.ct .sw:checked{background:var(--accent)}
html[data-theme=dark] body.ct .sw::after{background:var(--ink)}html[data-theme=dark] body.ct .sw:checked::after{background:var(--bg)}
html[data-theme=dark] body.ct .tour{background:rgba(0,0,0,.6)}
html[data-theme=dark] body.ct .tour-ring{box-shadow:0 0 0 2px var(--new-edge),0 0 0 9999px rgba(0,0,0,.45)}
html[data-theme=dark] body.ct .tour-card{background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-top:2px solid var(--new-edge);box-shadow:0 14px 40px rgba(0,0,0,.6)}
html[data-theme=dark] body.ct .tour-step{color:var(--accent-ink)}html[data-theme=dark] body.ct .tour-b{color:var(--ink-3)}
html[data-theme=dark] body.ct .tour-dots i{background:var(--line)}html[data-theme=dark] body.ct .tour-dots i.on{background:var(--accent)}
html[data-theme=dark] body.ct .tour-nav .iconbtn{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--ink)!important}
html[data-theme=dark] body.ct .pushprompt{background:var(--surface);border:1px solid var(--line-2);border-left:2px solid var(--new-edge);box-shadow:0 10px 30px rgba(0,0,0,.5)}
html[data-theme=dark] body.ct .pp-ic{background:var(--accent);color:var(--on-accent)}
html[data-theme=dark] body.ct .lgo.mono{color:var(--ink)!important}
html[data-theme=light] body.ct .gN{background:var(--ink-3)}

/* ---------- spacing (Oct 19, round 5): 12px gaps between cards and tiles everywhere, ~18px above section heads. Both themes. ----------
   before: grids 8px (news cards, SPY/model tiles, earnings pills, stats), 6px (return tiles), stacked cards 16px, 24px above h2 */
html body.ct :is(.tops,.mstrip,.strip,.grid2,.grid3,.gtiles,.qgrid,.rtiles,.scen,.rcap,.tgrid,.hsum,.ct-install,.bubsum){gap:12px!important}
html body.ct main .tops{margin-bottom:12px}html body.ct main .bubsum{margin-bottom:12px}
html body.ct main :is(.card,.list,.phero,.shero){margin-top:0;margin-bottom:12px}
html body.ct main .hero{margin-bottom:12px}
html body.ct main h2{margin-top:18px}
html body.ct main h2+:is(.card,.list,.tops,.mstrip,.strip){margin-top:0}
html body.ct .whyin{margin:12px 0 0}html body.ct .whyin+.whyin{margin-top:12px}

/* ====================== refine (Oct 19, round 6) ====================== */
/* lead news headline: General Sans 600 (one heading face site-wide) */

html body.ct .topcard.lead .th{font-family:var(--f-head)!important;font-weight:600!important;font-size:24px!important;line-height:1.18!important;letter-spacing:-.005em}
@media(min-width:700px){html body.ct .topcard.lead .th{font-size:26px!important}}

/* tabular numbers on prices, percentages, returns, tiles, tables and chart labels (Inter has tnum) */
html body.ct :is(.v,.chg,.up,.down,.ms,.rt,.stat,.pill,table,th,td,.chart,.chart text,.cmprow,.rd-v,.legend,.grade,.k,.s,.px,.price,.pct,.ret,.rtiles,.gtiles,.qgrid,.scen,.hsum,.tkp,.badge,.n){font-variant-numeric:tabular-nums}

/* letter-only company logos: light = ink letter on a pale cyan tile (12.9:1); dark keeps the brand-color tile with a white letter */
html[data-theme=light] body.ct .lgo.mono{background:var(--new)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--new-edge);font-weight:700}

/* dark active chip: outlined, cyan text on a faint cyan tint (primary buttons stay filled) */
html[data-theme=dark] body.ct .fchip.on{background:rgba(62,200,201,.12)!important;border:1px solid var(--new-edge)!important;color:var(--accent-ink)!important}

/* translucent blurred sticky header (Point72-style); solid fallback where backdrop-filter is unsupported */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
 html[data-theme=light] body.ct header.top{background:rgba(217,221,224,.82)!important;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}
 html[data-theme=dark] body.ct header.top{background:rgba(18,19,20,.82)!important;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}
}
html body.ct.dopen header.top{-webkit-backdrop-filter:none;backdrop-filter:none}

/* company logo tiles (kind from logos.logo_kind): neutral, consistent, no filters, readable in both themes.
   Selectors carry :not(.mono):not(.cat-ic) + the theme attribute so they outrank the older dark-mode plate rule. */
html[data-theme] body.ct .lgo:not(.mono):not(.cat-ic){box-shadow:none!important;filter:none!important;mix-blend-mode:normal!important}
html[data-theme] body.ct .lgo:not(.mono):not(.cat-ic) img{filter:none!important;mix-blend-mode:normal!important}
html[data-theme=light] body.ct .lgo.lgo-plate:not(.mono):not(.cat-ic){background:var(--surface-2)!important;border:1px solid var(--line)!important}
html[data-theme=dark] body.ct .lgo.lgo-plate:not(.mono):not(.cat-ic){background:var(--ink)!important;border:1px solid var(--ink-3)!important}
html[data-theme=light] body.ct .lgo.lgo-white:not(.mono):not(.cat-ic){background:var(--surface)!important;border:1px solid var(--line)!important}
html[data-theme=dark] body.ct .lgo.lgo-white:not(.mono):not(.cat-ic){background:var(--ink)!important;border:1px solid var(--ink-3)!important}
html[data-theme=light] body.ct .lgo.lgo-dark:not(.mono):not(.cat-ic){background:var(--surface-2)!important;border:1px solid var(--line)!important}
html[data-theme=dark] body.ct .lgo.lgo-dark:not(.mono):not(.cat-ic){background:var(--surface-2)!important;border:1px solid var(--line-2)!important}
html[data-theme] body.ct .lgo.lgo-fill:not(.mono):not(.cat-ic){background:var(--lg-bg,var(--surface))!important;border:0!important}
html[data-theme=light] body.ct .lgo.lgo-fill:not(.mono):not(.cat-ic){box-shadow:0 0 0 1px rgba(20,52,64,.10)!important}
html[data-theme] body.ct .lgo.lgo-fill:not(.mono):not(.cat-ic) img{width:100%!important;height:100%!important;object-fit:cover}
html[data-theme=dark] body.ct .lgo.lgo-fill:not(.mono):not(.cat-ic){box-shadow:0 0 0 1px rgba(255,255,255,.14)!important}

/* get-app hero on phones: larger mark + wordmark (desktop sizes unchanged) */
@media(max-width:699px){html body.ct .ct-hero{padding:40px 0 26px}html body.ct .ct-hero-mark{height:84px;margin-bottom:22px}html body.ct .ct-hero-word{font-size:58px}}

/* pull-to-refresh (touch devices; installed app gets it everywhere, browsers keep their own) */
.ct-ptr{position:fixed;left:50%;top:0;z-index:60;width:36px;height:36px;margin-left:-18px;border-radius:50%!important;display:flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px rgba(20,52,64,.14);transform:translateY(-48px);opacity:0;pointer-events:none;transition:opacity .15s}
.ct-ptr svg{width:20px;height:20px;display:block}
.ct-ptr .ct-ptr-arc{stroke:var(--new-edge);stroke-width:2.6;fill:none;stroke-linecap:round}
.ct-ptr.ready .ct-ptr-arc{stroke:var(--accent-ink)}
.ct-ptr.spin svg{animation:ctptr .7s linear infinite}
html[data-theme=dark] .ct-ptr{background:var(--surface);border-color:var(--line-2);box-shadow:0 2px 10px rgba(0,0,0,.5)}
html[data-theme=dark] .ct-ptr.ready .ct-ptr-arc{stroke:var(--accent)}
@keyframes ctptr{to{transform:rotate(360deg)}}
html body.ct .ct-ptr{border-radius:50%!important}
html.ct-standalone,html.ct-standalone body{overscroll-behavior-y:contain}

/* return-period chips + values (portfolios, models) */
html body.ct .ct-pbar{display:flex;align-items:center;gap:10px;margin:12px 0 4px;flex-wrap:wrap}
html body.ct .ct-pbar-l{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ct-soft,var(--ink-2))}
html body.ct .ct-pchips{display:flex;gap:4px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body.ct .ct-pchips::-webkit-scrollbar{display:none}
html body.ct .ct-pchip{flex:0 0 auto;height:30px;min-width:36px;padding:0 7px;border-radius:4px!important;border:1px solid var(--line);background:var(--surface);color:var(--ink);
  font:600 12px/28px "Inter",system-ui,sans-serif;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent}
html body.ct .ct-pchip.on{background:var(--accent);color:var(--ink);border-color:var(--accent-ink)}
html body.ct .ct-pchip:focus-visible{outline:2px solid var(--new-edge);outline-offset:2px}
html[data-theme=dark] body.ct .ct-pchip{background:var(--surface);border-color:var(--line-2);color:var(--line-2)}
html[data-theme=dark] body.ct .ct-pchip.on{background:rgba(62,200,201,.12);border-color:var(--new-edge);color:var(--accent-ink)}
html body.ct .ct-pv{font-variant-numeric:tabular-nums}
html body.ct .ct-psrc{color:inherit;opacity:.85}
html body.ct .ct-psel{display:flex;align-items:baseline;gap:12px;margin:10px 0 8px;flex-wrap:wrap}
html body.ct .ct-psel .ct-big{font-size:30px;font-weight:700;letter-spacing:-.01em}
html body.ct .ct-psel-s{font-size:13px;color:var(--ct-soft,var(--ink-2));font-variant-numeric:tabular-nums}
html body.ct .ct-pstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
@media(min-width:700px){html body.ct .ct-pstrip{grid-template-columns:repeat(7,minmax(0,1fr))}}
html body.ct .ct-pcell{padding:6px 4px;border:1px solid var(--line);border-radius:4px!important;background:var(--surface);text-align:center;cursor:pointer;min-width:0}
html body.ct .ct-pcell .k{font-size:11px;font-weight:600;color:var(--ink-2)}
html body.ct .ct-pcell .v{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
html body.ct .ct-pcell .s{font-size:9.5px;color:var(--ink-3);margin-top:1px}
html body.ct .ct-pcell.on{border-color:var(--new-edge);box-shadow:inset 0 0 0 1px var(--new-edge)}
html[data-theme=dark] body.ct .ct-pcell{background:var(--surface);border-color:var(--line-2)}
html[data-theme=dark] body.ct .ct-pcell .k,html[data-theme=dark] body.ct .ct-pcell .s{color:var(--ink-3)}
html[data-theme=light] body.ct .up.ct-pv,html[data-theme=light] body.ct .ct-pcell .v.up{color:var(--up)}
html[data-theme=light] body.ct .down.ct-pv,html[data-theme=light] body.ct .ct-pcell .v.down{color:var(--down)}

/* owner: soft-delete a portfolio */
html body.ct .ct-owner-del{display:flex;align-items:center;gap:10px;margin:10px 0 4px}
html[data-theme] body.ct .btn.ct-danger-ghost,html[data-theme] body.ct .ct-danger-ghost{background:transparent!important;color:var(--down)!important;border:1px solid var(--down)!important;height:36px;padding:0 14px;font-weight:600}
html[data-theme] body.ct .btn.ct-danger,html[data-theme] body.ct .ct-danger{background:var(--down)!important;color:var(--white)!important;border:1px solid var(--down)!important;font-weight:600}
html[data-theme] body.ct .btn.ct-danger:disabled{opacity:.45;cursor:not-allowed}
html body.ct dialog.ct-dlg{border:1px solid var(--line);border-radius:4px!important;padding:18px;max-width:min(92vw,420px);width:100%;background:var(--surface);color:var(--ink)}
html body.ct dialog.ct-dlg::backdrop{background:rgba(10,20,25,.45)}
html body.ct dialog.ct-dlg h3{margin:0 0 8px;font-size:18px}
html body.ct dialog.ct-dlg input[name=confirm]{width:100%;height:40px;margin:6px 0 12px;padding:0 10px;border:1px solid var(--line-2);border-radius:4px!important;font:inherit;box-sizing:border-box}
html body.ct .ct-dlg-a{display:flex;justify-content:flex-end;gap:8px}
html[data-theme=dark] body.ct dialog.ct-dlg{background:var(--surface);color:var(--ink);border-color:var(--line-2)}
html[data-theme=dark] body.ct dialog.ct-dlg input[name=confirm]{background:var(--surface);color:var(--ink);border-color:var(--line-2)}
html[data-theme=dark] body.ct .btn.ct-danger-ghost{color:var(--down)!important;border-color:var(--line-2)!important}

/* header L1: lockup on the left, 10px right of the menu button (approved Oct 19) */
@media(max-width:899px){
  html body.ct header.top .toprow{gap:10px}
  .ct-brand{position:static!important;transform:none!important;flex:0 0 auto;margin:0 auto 0 0!important}
}
@media(min-width:900px){
  html body.ct header.top .ct-brand{margin-left:2px!important}
}

/* H1b (approved Oct 19): light theme keeps light pages/cards but uses the dark header + dark bottom nav */
html[data-theme=light] body.ct header.top{background:rgba(18,19,20,.94)!important;-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom-color:transparent!important}
html[data-theme=light] body.ct header.top::after{height:1px!important;background:var(--accent)!important;box-shadow:none!important}
html[data-theme=light] body.ct header.top .ct-word,html[data-theme=light] body.ct header.top .ct-brand{color:var(--chrome-ink)!important}
html[data-theme=light] header.top .ct-mark.ct-mk-l,html[data-theme=light] aside.drawer .dhead .ct-mark.ct-mk-l{display:none!important}
html[data-theme=light] header.top .ct-mark.ct-mk-d,html[data-theme=light] aside.drawer .dhead .ct-mark.ct-mk-d{display:block!important}
html[data-theme=light] body.ct header.top .iconbtn{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=light] body.ct header.top .iconbtn:hover{background:var(--line)!important}
html[data-theme=light] body.ct header.top .dnav a{color:var(--line-2)!important}
html[data-theme=light] body.ct header.top .dnav a.on{color:var(--chrome-ink)!important;background:transparent!important;box-shadow:inset 0 -2px 0 var(--new-edge)!important}
html[data-theme=light] body.ct header.top .dnav a:hover{background:rgba(255,255,255,.06)!important;color:var(--chrome-ink)!important}
html[data-theme=light] body.ct header.top .search input{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=light] body.ct header.top .search input::placeholder{color:var(--ink-3)!important}
html[data-theme=light] body.ct aside.drawer .dhead{background:var(--chrome)!important;border-bottom:1px solid var(--new-edge)!important}
html[data-theme=light] body.ct aside.drawer .dhead .ct-dword,html[data-theme=light] body.ct aside.drawer .dhead .ct-dbrand{color:var(--chrome-ink)!important}
html[data-theme=light] body.ct aside.drawer .dhead .iconbtn,html[data-theme=light] body.ct aside.drawer .dhead button{background:var(--surface)!important;border:1px solid var(--line-2)!important;color:var(--chrome-ink)!important}
html[data-theme=light] body.ct nav.bottom{background:var(--chrome)!important;border-top:1px solid var(--line-2)!important}
html[data-theme=light] body.ct nav.bottom a{color:var(--chrome-ink)!important}
html[data-theme=light] body.ct nav.bottom a.on{color:var(--accent-ink)!important}
html[data-theme=light] body.ct nav.bottom a.on::before{background:var(--accent)!important;height:1px!important}

/* O4 (approved Oct 19): method tags (outline), LIVE (solid cyan), LOOK-BACK / BACKTEST (dashed) + legend */
html body.ct .mtag{display:inline-flex;align-items:center;font:700 10px/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;padding:3px 6px;border-radius:2px!important;vertical-align:3px;margin-left:6px;white-space:nowrap;opacity:1}
html body.ct .mtag.m0{margin-left:0;margin-right:6px}
html body.ct .mtag.none{display:none}
html body.ct .mtag.solid{background:var(--accent);color:var(--ink);border:1px solid var(--accent-ink)}
html body.ct .mtag.out{background:transparent;color:var(--accent-ink);border:1px solid var(--accent-ink)}
html body.ct .mtag.bt{background:var(--surface-2);color:var(--ink-2);border:1px dashed var(--ink-3)}
html body.ct h1 .mtag{vertical-align:6px}
html body.ct .mnote{font-size:12.5px;color:var(--ink-2);margin:4px 0 10px;line-height:1.7}
html body.ct .ct-legend{margin:2px 0 6px}
html body.ct .ct-rsrc{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0 2px}
html body.ct .ct-psel-s .mtag{vertical-align:1px}
html[data-theme=dark] body.ct .mtag.solid{background:var(--accent);color:var(--accent-ink);border-color:var(--new-edge)}
html[data-theme=dark] body.ct .mtag.out{color:var(--accent);border-color:var(--accent-ink)}
html[data-theme=dark] body.ct .mtag.bt{background:transparent;color:var(--ink-2);border-color:var(--ink-3)}
html[data-theme=dark] body.ct .mnote{color:var(--ink-2)}
html body.ct .mtag.xs{font-size:8.5px;padding:2px 4px;letter-spacing:.05em;margin:3px 0 0;vertical-align:0}
html body.ct .ct-rsrc .mtag{margin:0 6px 0 0}

/* size fix (Oct 19): O4 tags at prior density: smaller tags, no extra lines from tags, compact legend/notes */
html body.ct .mtag{font-size:9px;padding:2px 5px;letter-spacing:.06em;vertical-align:2px}
html body.ct .mtag.xs{font-size:8px;padding:2px 4px;letter-spacing:.05em;margin:2px 0 0;vertical-align:1px}
html body.ct h1 .mtag{font-size:9px;vertical-align:5px;margin-left:8px}
html body.ct .mnote{line-height:1.45;margin:2px 0 8px}
html body.ct .ct-legend{font-size:11.5px;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.ct .ct-legend .mtag.xs{margin:0 3px 0 0;vertical-align:1px}
html body.ct .ct-legend .ct-lsep{margin:0 4px 0 1px}
html body.ct .ct-has-edge{position:relative}
html body.ct .mtag.edge{position:absolute;top:-6px;right:8px;margin:0;z-index:1}
html[data-theme=light] body.ct .mtag.edge{background:var(--surface-2)}
html[data-theme=dark] body.ct .mtag.edge{background:var(--surface)}
/* iOS zooms the page when a <16px field is focused and the installed app can stay zoomed: keep fields at 16px on phones */
@media(max-width:899px){html body.ct input:not([type=checkbox]):not([type=radio]):not([type=range]),html body.ct select,html body.ct textarea{font-size:16px!important}}
html body.ct .ct-pcell .mtag.xs{padding:1px 3px;margin-top:1px;font-size:7.5px}

/* slim bottom nav (Oct 19): ~48px bar in browser + app; browser mode adds almost no bottom padding (Safari's own
   toolbar already sits over the home indicator); the installed app keeps a reduced home-indicator pad. Auto-hides on
   scroll down in browser mode only (static/app.js). */
@media(max-width:899px){
  html body.ct{--ct-nav-pb:max(3px, calc(env(safe-area-inset-bottom) * .25))}
  html.ct-standalone body.ct{--ct-nav-pb:max(6px, calc(env(safe-area-inset-bottom) - 12px))}
  @media (display-mode: standalone){html body.ct{--ct-nav-pb:max(6px, calc(env(safe-area-inset-bottom) - 12px))}}
  html body.ct nav.bottom{padding:3px max(4px,env(safe-area-inset-left)) var(--ct-nav-pb) max(4px,env(safe-area-inset-right))!important;
    transition:transform .22s ease;will-change:transform}
  html body.ct nav.bottom a{min-height:42px;gap:2px;font-size:10px;line-height:12px;letter-spacing:.01em}
  html body.ct nav.bottom a svg,html body.ct nav.bottom a.on svg{width:20px!important;height:20px!important;padding:0!important}
  html body.ct nav.bottom a.on::before{top:-3px!important}
  html body.ct nav.bottom.ct-nav-hide{transform:translateY(calc(100% + 2px))}
  html body.ct{padding-bottom:calc(60px + var(--ct-nav-pb))!important}
  html body.ct .pushprompt{bottom:calc(54px + var(--ct-nav-pb))}
}
@media (prefers-reduced-motion: reduce){html body.ct nav.bottom{transition:none!important}}

/* narrow desktop (900-1199px): the longer "Get the Coteau app" button + nav + search must fit without sideways scroll.
   Search and button shrink a little; the nav row scrolls horizontally inside its own box when it still doesn't fit. */
@media(min-width:900px) and (max-width:1199px){
  html body.ct header.top .search{width:150px}
  html body.ct .ct-getapp-top{font-size:12.5px;padding:0 10px}
  html body.ct header.top .dnav{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,var(--ink-3) calc(100% - 18px),transparent)}
  html body.ct header.top .dnav::-webkit-scrollbar{display:none}
  html body.ct header.top .dnav a{flex:0 0 auto}
  html body.ct header.top .tb{flex:0 0 auto}
}

/* wordmark F4 (Oct 19): lowercase coteau in "General Sans" 600, 22px, -0.01em; UI text stays Inter.
   (@font-face for "General Sans" lives in base.html's inline boot CSS so the splash and header get it before paint) */
html body.ct .ct-word{font:600 22px/1 "General Sans",Inter,system-ui,sans-serif;letter-spacing:-.01em;transform:none}
html body.ct .ct-word .ct-mark{top:-1px}
html body.ct .ct-dword{font:600 20px/1 "General Sans",Inter,system-ui,sans-serif;letter-spacing:-.01em}
html body.ct .ct-hero-word{font-family:"General Sans",Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.01em;font-size:44px}
@media(min-width:900px){html body.ct .ct-hero-word{font-size:59px}}
@media(max-width:699px){html body.ct .ct-hero-word{font-size:55px}}

/* bars (Oct 19): header, bottom nav, drawer header and the status-bar strip are SOLID #121314, the dark page colour,
   in every theme/mode. No translucency, blur or gradient. The installed iOS app uses status-bar-style black-translucent,
   so the header itself paints the status-bar strip (padding = the top safe-area inset; 0 in the browser). */
html body.ct header.top,html[data-theme] body.ct header.top{background:var(--chrome)!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important;padding-top:env(safe-area-inset-top,0px)}
html body.ct nav.bottom,html[data-theme] body.ct nav.bottom{background:var(--chrome)!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;opacity:1!important}
html body.ct aside.drawer .dhead,html[data-theme] body.ct aside.drawer .dhead{background:var(--chrome)!important;background-image:none!important;padding-top:calc(12px + env(safe-area-inset-top,0px))}
html body.ct .ct-ptr{top:env(safe-area-inset-top,0px)}

/* nav tap feedback: pressed tab + progress bar until the next page arrives */
html body.ct nav.bottom a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
html body.ct nav.bottom a:active,html body.ct nav.bottom a.ct-tap{opacity:.75}
html.ct-going body.ct::before{content:"";position:fixed;left:0;top:env(safe-area-inset-top,0px);height:2px;width:100%;z-index:9999;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--accent) 40%,var(--accent) 60%,transparent);background-size:50% 100%;background-repeat:no-repeat;animation:ctgo 1s linear infinite}
@keyframes ctgo{from{background-position:-50% 0}to{background-position:150% 0}}

/* Oct 20: phone header tagline (option A) + drawer quick row (Get app + Light/Dark at top) */
html body.ct aside.drawer .ct-dbrand{align-items:flex-start!important}
html body.ct aside.drawer .ct-dbrand .ct-mark{margin-top:0}
html body.ct .ct-dlock{display:flex;flex-direction:column;align-items:flex-start}
html body.ct .ct-dtag{display:block;margin-top:4px;font:500 8px/1 "Inter",system-ui,-apple-system,sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)!important;white-space:nowrap}
html body.ct .cx-dr .cx-quick{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 16px 6px!important;width:auto!important}
html body.ct .cx-qapp{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:9px;background:var(--accent);color:var(--ink);font:600 13px/1 "Inter",system-ui,sans-serif;text-decoration:none;white-space:nowrap}
html body.ct .cx-qtheme{flex:none}

/* ===== Get-the-app page (Oct 20): same look as the v9 share card — big mark over a small "General Sans" "coteau" on #121314 ===== */
html body.ct .ga{margin:-18px calc(50% - 50vw) 0;padding:0}
html body.ct .ga-hero{background:var(--chrome);color:var(--white);text-align:center;padding:56px 24px 44px;display:flex;flex-direction:column;align-items:center}
html body.ct .ga-mark{width:150px;height:auto;display:block}
html body.ct .ga-word{margin-top:0;font:600 48px/1 "General Sans",Inter,system-ui,sans-serif!important;letter-spacing:-.01em;color:var(--surface-2)}
html body.ct .ga-lede{margin:22px auto 0;max-width:300px;font-size:14.5px;line-height:1.5;color:var(--ink-3)}
html body.ct .ga-done{margin:16px 0 0;font-size:13.5px;color:var(--ink-3)}html body.ct .ga-done a{color:var(--accent-ink)}
html body.ct .ga-what,html body.ct .ga-how{max-width:560px;margin:0 auto;padding:30px 20px 4px}
html body.ct .ga-h{margin:0 0 6px;font-size:19px;font-weight:600;letter-spacing:-.01em}
html body.ct .ga-sub{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--ct-soft,var(--ink-2))}
html body.ct .ga-list{display:grid;gap:10px}
html body.ct .ga-list a{display:block;padding:14px 16px;border:1px solid var(--ct-gray,var(--line-2));border-left:3px solid var(--new-edge);background:var(--ct-card,var(--surface));color:inherit!important;text-decoration:none!important;border-radius:4px}
html body.ct .ga-list b{display:block;font-size:15px;margin-bottom:3px}html body.ct .ga-list span{display:block;font-size:13.5px;line-height:1.45;color:var(--ct-soft,var(--ink-2))}
html body.ct .ga-fine{margin:14px 0 0;font-size:12.5px;color:var(--ink-3)}
html body.ct .ga-tabs{display:flex;gap:0;border:1px solid var(--ct-gray,var(--line-2));border-radius:4px;overflow:hidden;margin:0 0 14px}
html body.ct .ga-tabs button{flex:1;height:40px;border:0;background:transparent;color:inherit;font-size:14px;font-weight:500;cursor:pointer;border-radius:0!important}
html body.ct .ga-tabs button+button{border-left:1px solid var(--ct-gray,var(--line-2))}
html body.ct .ga-tabs button[aria-selected=true]{background:var(--chrome);color:var(--surface-2);font-weight:600}
html body.ct .ga-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
html body.ct .ga-steps[hidden]{display:none}
html body.ct .ga-steps li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--ct-gray,var(--line-2));background:var(--ct-card,var(--surface));border-radius:4px;font-size:15px;line-height:1.45}
html body.ct .ga-steps .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--ink);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:-1px}
html body.ct .ga-ic{width:16px;height:16px;vertical-align:-3px}
html body.ct .ga-btn{display:block;width:100%;height:48px;margin:14px 0 0;border:0;border-radius:4px;background:var(--accent);color:var(--ink);font-size:15.5px;font-weight:600;cursor:pointer}
html body.ct .ga-btn[hidden]{display:none}
html body.ct .ga-after{margin:16px 0 0;font-size:13.5px;line-height:1.5;color:var(--ct-soft,var(--ink-2))}
html body.ct .ga-skip{display:block;text-align:center;margin:18px 0 34px;font-size:14px;color:var(--ct-soft,var(--ink-2))!important}
html[data-theme=dark] body.ct .ga-hero{border-bottom:1px solid var(--line)}
html[data-theme=dark] body.ct .ga-list a,html[data-theme=dark] body.ct .ga-steps li{background:var(--surface);border-color:var(--line-2);color:var(--ink)}
html[data-theme=dark] body.ct .ga-list span,html[data-theme=dark] body.ct .ga-sub,html[data-theme=dark] body.ct .ga-after,html[data-theme=dark] body.ct .ga-skip{color:var(--ink-3)!important}
html[data-theme=dark] body.ct .ga-tabs,html[data-theme=dark] body.ct .ga-tabs button+button{border-color:var(--line-2)}
html[data-theme=dark] body.ct .ga-tabs button[aria-selected=true]{background:var(--accent);color:var(--on-accent)}
@media(min-width:900px){html body.ct .ga{margin:-24px calc(50% - 50vw) 0}html body.ct .ga-hero{padding:96px 24px 76px}html body.ct .ga-mark{width:220px}html body.ct .ga-word{margin-top:0;font-size:68px}html body.ct .ga-lede{max-width:420px;font-size:16px}
 html body.ct .ga-what,html body.ct .ga-how{max-width:760px}html body.ct .ga-list{grid-template-columns:repeat(3,1fr)}}

/* ===== Type system (Oct 20): "General Sans" for titles and headlines (matches the wordmark), Inter for everything else ===== */
html body.ct :is(h1,h2,.ga-h,.topcard .th,.topcard.lead .th,.news .h,.ct-hero-word):not(#_){font-family:"General Sans",Inter,system-ui,sans-serif!important;font-weight:600!important;letter-spacing:-.01em!important}
html body.ct h3:not(#_){font-family:"General Sans",Inter,system-ui,sans-serif!important;font-weight:500!important;letter-spacing:-.005em!important}
html body.ct .topcard.lead .th:not(#_){font-size:21px!important;line-height:1.25!important}
/* get-app v2 (Oct 20): two side-by-side choices under the logo, What is Coteau folded, install steps right after */
html body.ct .ga-ctas{display:flex;gap:10px;margin-top:26px;width:100%;max-width:420px}
html body.ct .ga-ctas a{flex:1;display:flex;align-items:center;justify-content:center;height:48px;padding:0 10px;border-radius:4px;font-weight:600;font-size:14.5px;text-decoration:none!important;white-space:nowrap}
html body.ct .ga-b1{background:var(--accent);color:var(--ink)!important;border:1px solid var(--new-edge)}
html body.ct .ga-b2{background:transparent;color:var(--white)!important;border:1px solid var(--ink-2)}
html.ct-standalone body.ct .ga-b2{flex:0 1 240px}
html body.ct .ga-what{max-width:560px;margin:16px auto 0;padding:0 20px}
html body.ct .ga-what summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1px solid var(--ct-gray,var(--line-2));border-radius:4px;background:var(--ct-card,var(--surface));font-weight:600;font-size:15px}
html body.ct .ga-what summary::-webkit-details-marker{display:none}
html body.ct .ga-what summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 4px 0 0}
html body.ct .ga-what[open] summary::after{transform:rotate(-135deg);margin-top:4px}
html body.ct .ga-what[open] summary{margin-bottom:12px}
html body.ct .ga-how{padding-top:22px}
html body.ct .ga-after{margin-bottom:36px}
html[data-theme=dark] body.ct .ga-what summary{background:var(--surface);border-color:var(--line-2);color:var(--ink)}
@media(max-width:360px){html body.ct .ga-ctas a{font-size:13.5px}}
@media(min-width:900px){html body.ct .ga-what{max-width:760px}}
html body.ct .ga-hero a.ga-b2:not(#_){color:var(--white)!important}
html body.ct .ga-hero a.ga-b1:not(#_){color:var(--ink)!important}
@media(max-width:899px){html body.ct .ga-hero{padding:36px 20px 28px}html body.ct .ga-mark{width:132px}html body.ct .ga-word{margin-top:0;font-size:44px}html body.ct .ga-lede{margin-top:16px}html body.ct .ga-ctas{margin-top:20px}}
/* iPhone install guide overlay */
html body.ct .ga-ov{position:fixed;inset:0;z-index:10000;background:rgba(6,7,8,.72);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 16px calc(18px + env(safe-area-inset-bottom))}
html body.ct .ga-ov[hidden]{display:none}
html body.ct .ga-ovc{position:relative;width:100%;max-width:420px;background:var(--surface);color:var(--white);border:1px solid var(--line-2);border-radius:6px;padding:18px 18px 12px;font-size:15px;line-height:1.5}
html body.ct .ga-ovc>b{display:block;font-size:16px;margin-bottom:8px}
html body.ct .ga-ovc ol{margin:0;padding-left:20px}html body.ct .ga-ovc li{margin-bottom:6px}
html body.ct .ga-x{position:absolute;top:6px;right:8px;border:0;background:none;color:var(--ink-3);font-size:24px;line-height:1;cursor:pointer}
html body.ct .ga-arrow{width:44px;height:44px;margin-top:12px;color:var(--accent-ink);animation:gaBob 1s ease-in-out infinite}
@keyframes gaBob{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
html.ga-lock,html.ga-lock body{overflow:hidden}
/* Get the app button: app icon + two lines + soft glow */
html body.ct .ga-ctas a{height:54px}
html body.ct .ga-hero a.ga-b1:not(#_){justify-content:flex-start;gap:10px;padding:0 10px 0 9px;box-shadow:0 0 0 1px rgba(62,200,201,.45),0 6px 24px rgba(62,200,201,.38)}
html body.ct .ga-bic{flex:none;width:36px;height:36px;border-radius:8px;background:var(--chrome);display:flex;align-items:center;justify-content:center}
html body.ct .ga-bic img{width:auto;height:24px}
html body.ct .ga-btx{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;font-size:15px;font-weight:600}
html body.ct .ga-btx small{font-size:11px;font-weight:500;opacity:.72;margin-top:2px}
/* Continue to the site: plain text link, no box, so Get the app is the clear choice */
html body.ct .ga-hero a.ga-b2:not(#_){border:0;background:none;color:var(--ink-3)!important;font-weight:500;flex:0 1 auto;padding:0 6px}
html body.ct .ga-hero a.ga-b1:not(#_){flex:1 1 auto}
html body.ct .ga-ctas{align-items:center;justify-content:center;gap:16px}

/* Get App pill in the top bar: phone + desktop browsers, never in the installed app */
html body.ct .tb .ct-getapp-top{display:inline-flex!important;align-items:center;height:32px;padding:0 11px;margin-right:2px;background:var(--accent)!important;border:0!important;color:var(--ink)!important;font:600 13px/1 "General Sans",Inter,system-ui,sans-serif!important;white-space:nowrap;text-decoration:none!important}
@media(min-width:900px){html body.ct .tb .ct-getapp-top{height:36px;padding:0 14px;font-size:13.5px!important}}
html.ct-standalone body.ct .tb .ct-getapp-top{display:none!important}
/* ---- live mover tiles (TradingView Mini Chart inside Coteau tiles; static/tv.js) ---- */
.mvg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;color-scheme:light;--tv-widget-font-family:"Inter",system-ui,-apple-system,sans-serif;--tv-widget-background-color:transparent;--tv-widget-accent-color:#3EC8C9;--tv-widget-positive-color:var(--up);--tv-widget-positive-area-top-color:rgba(21,128,61,.16);--tv-widget-positive-area-bottom-color:rgba(21,128,61,0);--tv-widget-negative-color:var(--down);--tv-widget-negative-area-top-color:rgba(194,65,12,.14);--tv-widget-negative-area-bottom-color:rgba(194,65,12,0)}
html[data-theme=dark] .mvg{color-scheme:dark;--tv-widget-positive-color:var(--up);--tv-widget-positive-area-top-color:rgba(61,214,140,.16);--tv-widget-positive-area-bottom-color:rgba(61,214,140,0);--tv-widget-negative-color:var(--down);--tv-widget-negative-area-top-color:rgba(255,138,101,.14);--tv-widget-negative-area-bottom-color:rgba(255,138,101,0)}
@media (min-width:600px){.mvg:not(.mvrow){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.mvsec .mvg{width:100%;max-width:100%;gap:10px}.mvg:not(.mvrow){grid-template-columns:repeat(4,minmax(0,1fr))}}
.mvt{box-sizing:border-box;max-width:100%}.mvt .mvw{overflow:hidden}
.mvt{position:relative;display:flex;flex-direction:column;aspect-ratio:1/1.08;min-width:0;background:var(--surface);border:1px solid var(--line-2);border-radius:4px;overflow:hidden}
html[data-theme=dark] .mvt{background:var(--surface);border-color:var(--line-2)}
.mvt.cnew{background:var(--ct-new,var(--new));border-color:var(--ct-new-edge,var(--new-edge));box-shadow:inset 3px 0 0 var(--ct-new-edge,var(--new-edge))}html[data-theme=dark] .mvt.cnew{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--new-edge)}
.mvt .mvh{display:flex;align-items:baseline;gap:6px;padding:8px 10px 0 12px;min-width:0;color:inherit;text-decoration:none!important;border:0!important;background:none!important}
.mvt .mvk{flex:none;font:600 12px/1.2 "General Sans",system-ui,sans-serif;letter-spacing:.01em}
.mvt .mvn{min-width:0;font:500 11.5px/1.2 "Inter",system-ui,sans-serif;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-theme=dark] .mvt .mvn{color:var(--ink-3)}
.mvt .mvw{position:relative;flex:1;min-height:0;display:flex}.mvt .mvw tv-mini-chart{display:block;flex:1;min-width:0;min-height:0}
.mvt .mvf{position:absolute;inset:0;display:flex;flex-direction:column;gap:4px;padding:8px 12px;color:inherit;text-decoration:none!important;border:0!important;background:none!important}
.mvt .mvf .mvfp{font:600 17px/1.2 "General Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums;margin-top:4px}.mvt .mvf b{font:600 14px/1.2 "Inter",system-ui,sans-serif}
.mvt .mvfl{margin-top:auto;font-size:11px;color:var(--ink-3)}
/* desktop: the TradingView mini chart is chart-only (its quote is delayed); Coteau's live price + % sit above it (live.js, ~15 s) */
.mvt.mvlive .mvw{flex-direction:column}.mvt.mvlive .mvf{position:static;flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 12px 2px}
.mvt.mvlive .mvf .mvfp{margin-top:0}.mvt.mvlive .mvfl{display:none}.mvt.mvlive .mvf .mvfp,.mvt.mvlive .mvf b{border-radius:3px}
.mvsec .mvtop{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 2px 8px}
.mvsec .mvtop h2{margin:0;font-family:"General Sans",system-ui,sans-serif;font-weight:600}.mvsec .mvtop a{font:600 13px "Inter",system-ui,sans-serif;color:var(--accent-ink);text-decoration:none}html[data-theme=dark] .mvsec .mvtop a{color:var(--accent-ink)}
.mvseg{display:inline-flex;gap:0;border:1px solid var(--line-2);border-radius:4px;overflow:hidden;margin:2px 0 10px}html[data-theme=dark] .mvseg{border-color:var(--line-2)}
.mvseg button{appearance:none;border:0;background:transparent;color:inherit;font:600 13px/1 "Inter",system-ui,sans-serif;padding:9px 13px;cursor:pointer}.mvseg button+button{border-left:1px solid var(--line-2)}html[data-theme=dark] .mvseg button+button{border-left-color:var(--line-2)}
.mvseg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
/* movers filter chips: one row of small neutral chips (selected = ink fill, design.css .fchip.on); scrolls inside itself if narrow */
.mvchips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 0 10px;padding:1px 0;max-width:100%}.mvchips::-webkit-scrollbar{display:none}
html[data-theme] body.ct .mvchips .fchip{height:28px;padding:0 8px!important;font:500 12px/1 var(--f-body)!important;cursor:pointer;flex:none}
.mvnone{margin:4px 0 8px;font-size:13px}
.mvpane .mvmore{grid-column:1/-1}@media (max-width:899px){html body .mvpane .mvmore.mvfew{display:none}}
@media (min-width:900px) and (max-width:999px){.mvpane:not(.open) .mvt:nth-of-type(n+9){display:none}}@media (max-width:899px){.mvpane:not(.open) .mvt:nth-of-type(n+10){display:none}}@media (min-width:1000px){html body .mvpane .mvmore{display:none}}
.mvnote{font-size:11.5px;line-height:1.45;margin:8px 2px 0}
/* home: one swipeable row on phones, a fixed row of 6 on desktop */
.mvrow{display:grid;grid-auto-flow:column;grid-auto-columns:47%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
.mvrow::-webkit-scrollbar{display:none}.mvrow .mvt{scroll-snap-align:start}
@media (min-width:900px){.mvrow{grid-auto-columns:calc((100% - 30px)/4);scroll-padding:0}}
/* stock page live chart */
.tvchart{padding:0!important;overflow:hidden;border-radius:4px}.tvadv{height:380px}@media (min-width:900px){.tvadv{height:480px}}
.tvadv .tvcr,.tvadv .tvcr a{font:500 11px/22px "Inter",system-ui,sans-serif;color:var(--ink-3)!important;text-decoration:none;padding-left:10px}
.tvph{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:var(--ink-3)}

/* ---- declutter: airier news lists, quick links, "How this works" rows ---- */
html body.ct .list:has(>.news){display:flex;flex-direction:column;gap:12px;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important}
html body.ct .list>.news{background:var(--surface);border:1px solid var(--ct-gray,var(--line-2))!important;border-radius:4px!important;padding:14px 16px!important;min-height:0}
html[data-theme=dark] body.ct .list:has(>.news){background:transparent!important;border:0!important}
html[data-theme=dark] body.ct .list>.news{background:var(--surface)!important;border:1px solid var(--line-2)!important}
html body.ct .list>.news .h{line-height:1.38}html body.ct .list>.news .m{margin-top:6px}
html body.ct .tops{gap:14px!important}
.cx-quicklinks{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:14px 0 4px;padding-bottom:2px}.cx-quicklinks::-webkit-scrollbar{display:none}
html body.ct .cx-quicklinks a{flex:none;padding:8px 12px;border:1px solid var(--ct-gray,var(--line-2));border-radius:4px;font:600 13px/1 "Inter",system-ui,sans-serif;color:inherit!important;text-decoration:none!important;background:var(--surface)}
html[data-theme=dark] body.ct .cx-quicklinks a{background:var(--surface);border-color:var(--line-2)}
html body.ct .cx-quicklinks a:first-child{border-color:var(--new-edge)}
.cx-how{margin:10px 2px 0}.cx-how summary{cursor:pointer;font-weight:600}.cx-how p{margin:6px 0 0;line-height:1.5}

/* ---- compact mover tiles on phones / installed app (<900px): no chart, snapshot price ---- */
.mvt .mvc,.mvasof{display:none}
@media (max-width:899px){
 .mvg{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}
 .mvt{aspect-ratio:auto}.mvt .mvh,.mvt .mvw{display:none}
 .mvt .mvc{display:flex;flex-direction:column;gap:3px;padding:9px 9px 10px 10px;min-width:0;color:inherit;text-decoration:none!important;border:0!important;background:none!important}
 .mvt .mvct{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 11px/1.25 "Inter",system-ui,sans-serif;color:var(--ink-3)}
 html[data-theme=dark] .mvt .mvct{color:var(--ink-3)}
 .mvt .mvct b{font:600 12.5px/1.25 "General Sans",system-ui,sans-serif;color:var(--ct-ink,var(--ink));letter-spacing:.01em}html[data-theme=dark] .mvt .mvct b{color:var(--ink)}
 .mvt .mvcp{font:600 19px/1.15 "General Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:3px;white-space:nowrap}
 .mvt .mvcc{font:600 13px/1.2 "Inter",system-ui,sans-serif;font-variant-numeric:tabular-nums}
 .mvasof{display:block;font-size:11px;margin:6px 2px 0}
 .mvrow{grid-template-columns:none!important;grid-auto-columns:calc((100% - 12px)/3.15)}
}


.mvsec .mvnav{display:inline-flex;align-items:center;gap:6px}.mvsec .mvar{display:none;width:28px;height:28px;border:1px solid var(--line-2);border-radius:4px;background:transparent;color:inherit;font:600 16px/1 "Inter",system-ui,sans-serif;cursor:pointer;padding:0}
html[data-theme=dark] .mvsec .mvar{border-color:var(--line-2)}@media (min-width:900px){.mvsec .mvar{display:inline-block}.mvsec .mvnav a{margin-left:6px}}
/* ---- Top Social Mentions list (home block + /tools/social) ---- */
.smlist{display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:4px;overflow:hidden;background:var(--surface)}
html[data-theme=dark] .smlist{background:var(--surface);border-color:var(--line-2)}
.smlist .smh,.smlist .sml{display:grid;grid-template-columns:22px minmax(0,1fr) auto 56px;align-items:center;gap:8px;padding:9px 12px}
.smlist .smh{padding:7px 12px;font:600 10.5px/1 "Inter",system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}
.smlist .smh span:nth-child(n+3){text-align:right}
html[data-theme=dark] .smlist .smh{color:var(--ink-3);border-bottom-color:var(--line)}
html body.ct .smlist a.sml{color:inherit!important;text-decoration:none!important;border:0!important;border-top:1px solid var(--line)!important;background-image:none!important}
html body.ct .smlist a.sml:first-of-type{border-top:0!important}html[data-theme=dark] body.ct .smlist a.sml{border-top-color:var(--line)!important}
.smlist .sml.cnew{background:var(--ct-new,var(--new));box-shadow:inset 3px 0 0 var(--ct-new-edge,var(--new-edge))}html[data-theme=dark] .smlist .sml.cnew{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--new-edge)}
.smlist .smr{font:600 12px/1 "General Sans",system-ui,sans-serif;color:var(--ink-3);text-align:center}html[data-theme=dark] .smlist .smr{color:var(--ink-3)}
.smlist .smt{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 12.5px/1.3 "Inter",system-ui,sans-serif;color:var(--ink-3)}html[data-theme=dark] .smlist .smt{color:var(--ink-3)}
.smlist .smt b{font:600 14px/1.3 "General Sans",system-ui,sans-serif;color:var(--ct-ink,var(--ink));margin-right:2px}html[data-theme=dark] .smlist .smt b{color:var(--ink)}
.smlist .smm{display:inline-flex;align-items:baseline;gap:6px;justify-content:flex-end;font-variant-numeric:tabular-nums;white-space:nowrap}
.smlist .smm b{font:600 14px/1 "General Sans",system-ui,sans-serif}.smlist .smm i{font:600 11.5px/1 "Inter",system-ui,sans-serif;font-style:normal;color:var(--ink-3);min-width:42px;text-align:right}
.smlist .smm i.smu{color:var(--accent-ink)}html[data-theme=dark] .smlist .smm i.smu{color:var(--accent-ink)}.smlist .smm i.smn{color:var(--accent-ink)}
.smlist .smc{text-align:right;font:600 13px/1 "Inter",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.smcred{font-size:11px;margin:6px 2px 0}.smcred a{color:inherit!important}
.smhome{margin-top:6px}.smseg{flex-wrap:wrap}
@media (max-width:420px){.smseg button{padding:8px 9px;font-size:12px}}
/* ---- live prices (static/live.js) ---- */
.q-up{animation:qUp 1.1s ease-out}.q-dn{animation:qDn 1.1s ease-out}
@keyframes qUp{0%{background:rgba(21,128,61,.28)}100%{background:transparent}}@keyframes qDn{0%{background:rgba(194,65,12,.26)}100%{background:transparent}}
[data-qtag]{display:inline-block;margin-left:4px;padding:1px 4px;border-radius:2px;font:600 9.5px/1.2 "Inter",system-ui,sans-serif;letter-spacing:.03em;text-transform:uppercase;color:var(--accent-ink);border:1px solid currentColor;vertical-align:middle}
html[data-theme=dark] [data-qtag]{color:var(--accent-ink)}[data-qtag][hidden]{display:none}
[data-qlive]{display:inline-flex;align-items:center;gap:5px;font:600 11px/1 "Inter",system-ui,sans-serif;color:var(--ink-3)}
html[data-theme=dark] [data-qlive]{color:var(--ink-3)}
.q-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(62,200,201,.6);animation:qPulse 1.8s infinite}
@keyframes qPulse{0%{box-shadow:0 0 0 0 rgba(62,200,201,.55)}70%{box-shadow:0 0 0 6px rgba(62,200,201,0)}100%{box-shadow:0 0 0 0 rgba(62,200,201,0)}}
@media (prefers-reduced-motion:reduce){.q-dot,.q-up,.q-dn{animation:none}}

/* ---- news slide-in (static/newslive.js) ---- */
.news.nslide{animation:nSlide .45s ease-out}@keyframes nSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
html body.ct .list>.news.cnew{background:var(--ct-new,var(--new))!important;border-color:var(--ct-new-edge,var(--new-edge))!important;box-shadow:inset 3px 0 0 var(--ct-new-edge,var(--new-edge))}
html[data-theme=dark] body.ct .list>.news.cnew{background:var(--surface-2)!important;border-color:var(--line-2)!important;box-shadow:inset 3px 0 0 var(--new-edge)}
.nnew{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 70px);z-index:60;border:0;border-radius:4px;padding:8px 14px;background:var(--accent);color:var(--accent-ink);font:600 13px/1 "Inter",system-ui,sans-serif;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer}
.nnew[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.news.nslide{animation:none}}
/* live movers list: sub-$1 tag + new names sliding in (static/moverslive.js) */
.mvt .mvpn{flex:none;font:600 9px/1 "Inter",system-ui,sans-serif;font-style:normal;color:var(--warn);background:rgba(214,170,60,.16);border-radius:3px;padding:1px 3px;margin-left:4px;vertical-align:1px;letter-spacing:0}
html[data-theme=dark] .mvt .mvpn{color:var(--warn);background:rgba(214,170,60,.14)}
.mvt.mvin{animation:mvIn 1.5s ease-out}
@keyframes mvIn{0%{opacity:.2;transform:translateY(6px);box-shadow:0 0 0 2px rgba(143,196,199,.9)}35%{opacity:1;transform:none}100%{box-shadow:0 0 0 0 rgba(143,196,199,0)}}
@media (prefers-reduced-motion:reduce){.mvt.mvin{animation:none}}
/* thin "SYSTEMATIC STRATEGIES" strip under the #121314 header bar (scrolls away; the header stays sticky) */
html body.ct .ct-tagstrip{background:var(--chrome);color:var(--chrome-mute);text-align:center;font:500 9px/1 "Inter",system-ui,-apple-system,sans-serif;letter-spacing:.24em;text-transform:uppercase;padding:5px 0 6px;white-space:nowrap;overflow:hidden}
@media (min-width:900px){html body.ct .ct-tagstrip{font-size:9.5px;padding:6px 0 7px}}
/* movers status: "Top movers  • Live · 2:58 PM ET" (static/moverslive.js) */
.mvsec .mvtop h2+.mvstat,.mvsec .mvtop .mvstat{display:inline-flex;align-items:center;gap:5px;margin-right:auto;margin-left:2px;font:500 11.5px/1 "Inter",system-ui,sans-serif;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}
.mvsec .mvstat b{font-weight:600;color:var(--up)}.mvsec .mvstat b::after{content:"·";margin-left:5px;color:var(--ink-3);font-weight:400}
.mvsec .mvstat .q-dot{flex:none}
.mvsec .mvstat.mv-delayed b{color:var(--warn)}.mvsec .mvstat.mv-closed b{color:var(--ink-3)}
html[data-theme=dark] .mvsec .mvstat{color:var(--ink-2)}html[data-theme=dark] .mvsec .mvstat b{color:var(--up)}html[data-theme=dark] .mvsec .mvstat.mv-closed b{color:var(--ink-2)}
.mvsec .mvtop-c{justify-content:flex-start;gap:10px}.mvsec .mvtop-c h2{margin:0}
.mvsec .mvstat .q-dot{background:var(--up);animation:mvPulse 1.8s infinite;align-self:center}
@keyframes mvPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@media (prefers-reduced-motion:reduce){.mvsec .mvstat .q-dot{animation:none}}
.mvsec .mvstat.mv-delayed .q-dot,.mvsec .mvstat.mv-closed .q-dot{animation:none;background:var(--ink-3);box-shadow:none}
/* Safari macOS: "File > Add to Dock" popover under the desktop Get App pill (static/app.js) */
.ct-dockpop{position:fixed;z-index:60;display:flex;flex-direction:column;gap:5px;max-width:250px;padding:11px 13px;background:var(--chrome);color:var(--chrome-ink);border:1px solid var(--ink-3);border-radius:6px;box-shadow:0 10px 28px rgba(0,0,0,.28);font:400 12.5px/1.4 "Inter",system-ui,sans-serif}
.ct-dockpop b{color:var(--chrome-ink);font-weight:600;font-size:13px}.ct-dockpop kbd{font:600 11.5px/1 "Inter",system-ui,sans-serif;padding:2px 5px;border:1px solid var(--ink-3);border-radius:3px;background:var(--chrome);color:var(--chrome-ink)}

/* ===== desktop header tidy (Oct 20): same 760px column as the page; menu + logo + nav grouped left with even 24px gaps,
   actions (Get App, search, alerts) grouped right with 8px gaps, everything centered on one line. Search opens as a field. ===== */
@media(min-width:900px){
  html body.ct header.top .wrap.toprow{max-width:760px;padding:0 14px;display:flex;align-items:center;justify-content:flex-start;gap:0}
  html body.ct header.top .menubtn{flex:none;margin:0}
  html body.ct header.top .ct-brand{flex:none;margin:0 0 0 12px!important}
  html body.ct header.top .dnav{flex:0 1 auto!important;min-width:0;display:flex;align-items:center;gap:24px!important;margin:0 0 0 28px;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
  html body.ct header.top .dnav a{flex:none;padding:0!important;height:64px;display:flex;align-items:center;font-size:14px!important;line-height:1}
  html body.ct header.top .tb{flex:none;margin-left:auto;display:flex;align-items:center;gap:8px}
  html body.ct header.top .tb>*{margin:0!important}
  html body.ct .tb .ct-getapp-top{height:34px;padding:0 13px;font-size:13px!important}
  html body.ct header.top .iconbtn{width:34px;height:34px;min-width:34px;min-height:34px;padding:0}
  html body.ct header.top .search{display:none!important}
  html body.ct header.top .sbtn{display:inline-flex!important}
  html body.sopen.ct header.top .search{display:block!important;position:absolute!important;right:14px;left:auto!important;top:60px!important;width:320px!important;padding:8px!important;background:var(--chrome)!important;border:1px solid var(--ink-3);border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.25);z-index:40}
  html body.sopen.ct header.top .search input{width:100%}
}
.mvsec .mvstat .q-dot{width:7px;height:7px;border-radius:50%!important}

.mvxv{font-size:11.5px;margin:6px 2px 0}

/* fonts/general-sans.css */
/* General Sans by Indian Type Foundry, via Fontshare. Free for commercial use under the ITF Free Font License (FFL); see LICENSE-GeneralSans.txt. Self-hosted. */
@font-face{font-family:"General Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/general-sans-500.woff2?v=60bade557d) format("woff2")}
@font-face{font-family:"General Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/general-sans-600.woff2?v=2b65af1fa2) format("woff2")}
@font-face{font-family:"Brand Wordmark Caps";font-style:normal;font-weight:200 700;font-display:swap;src:url(/static/fonts/general-sans-var.woff2?v=7b5937ef19) format("woff2-variations"),url(/static/fonts/general-sans-var.woff2?v=7b5937ef19) format("woff2")}

/* ct-cleanup.css */
/* ===== Coteau cleanup v1 (mock) — one system: neutrals + one cyan + green/red returns ===== */
html body.ct{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;
  --cy:#3EC8C9;--cy-tint:var(--new);--cy-line:var(--new-edge);--muted:var(--ink-2);--faint:var(--ink-3);--card:#FFFFFF;
  --ct-ink:var(--ink);--ct-accent-d:var(--ink);--ct-tile:var(--new);--ct-new:var(--new);--ct-new-edge:var(--new-edge);}
/* dark: crisp near-black. Page #121314, cards one step up, hairline borders, bright text */
html[data-theme=dark] body.ct{--cy-tint:#0F2324;--cy-line:var(--accent-ink);--ink:var(--surface-2);--muted:#A6AEB3;--faint:var(--ink-3);--card:var(--surface);--bg:#121314;--ct-ink:var(--surface-2);}
html[data-theme=dark] body.ct{background:var(--surface)!important}
html[data-theme=dark] body.ct .card.flat,html[data-theme=dark] body.ct .stat{background:transparent!important}
html[data-theme=dark] body.ct .fchip.on{background:var(--surface-2)!important;color:var(--on-accent)!important;border-color:var(--surface-2)!important}
html[data-theme=dark] body.ct aside.drawer{background:var(--chrome)!important;border-right:1px solid var(--line)!important}
html[data-theme=dark] body.ct .cx-more .cx-dr{background:var(--surface)}
/* fonts: Inter everywhere, tabular numbers, General Sans for headings and news headlines */
html body.ct,html body.ct *:not(.ct-word):not(.ct-dword):not(.boot-wm):not(.boot-desk):not(.ga-word):not(.ct-hero-word):not(.bword):not(.bwx){font-family:"Inter",system-ui,-apple-system,sans-serif!important}
/* wordmark: "General Sans" 600 lowercase (logo only) */
html body.ct .ct-word,html body.ct .ct-dword,html body.ct .ga-word,html body.ct .ct-hero-word,.boot-wm{font-family:"General Sans","Avenir Next",Inter,sans-serif!important;font-weight:600!important;letter-spacing:normal!important;text-transform:none!important}
html body.ct .topcard .th,html body.ct .news .h{font-family:var(--f-head)!important}
html body.ct .v,html body.ct .r,html body.ct .big,html body.ct .ct-pv,html body.ct .ct-big,html body.ct table,html body.ct .chg,html body.ct .cmprow b,html body.ct .price,html body.ct .k{font-variant-numeric:tabular-nums!important;letter-spacing:0!important}
html body.ct h1{font:650 24px/1.2 "Inter"!important;letter-spacing:-.01em!important;margin:var(--s4) 0 var(--s1)!important;color:var(--ink)!important}
html body.ct h2{font:600 15px/1.3 "Inter"!important;margin:var(--s5) 0 var(--s2)!important;color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important;border:0!important;padding:0!important;background:none!important}
html body.ct h2::before,html body.ct h2::after{display:none!important}
html body.ct .sub,html body.ct .mnote{font-size:13px!important;line-height:1.45!important;color:var(--muted)!important;margin:0 0 var(--s3)!important}
/* purpose line */
.cx-purpose{font:400 14px/1.45 "Inter";color:var(--muted);margin:0 0 var(--s3)}
/* hero boxes -> plain title */
html body.ct .hero{background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;color:var(--ink)!important}
html body.ct .hero>p{font:400 14px/1.45 "Inter"!important;color:var(--muted)!important;margin:0 0 var(--s3)!important;opacity:1!important}
html body.ct .hero .hchips{margin:0 0 var(--s3)!important}
html body.ct .hero h1{color:var(--ink)!important}
html body.ct .hero h1 .mtag{display:none!important}
/* stale banner quieter */
html body.ct .dhb{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;padding:var(--s2) 0!important;margin:0 0 var(--s2)!important;font-size:12px!important;color:var(--muted)!important;box-shadow:none!important}
html body.ct .dhb svg{width:14px!important;height:14px!important;color:var(--faint)!important}
html body.ct .dhb b{font-weight:500!important}
/* cards: one radius, one border, one padding */
html body.ct .card,html body.ct .list,html body.ct .topcard,html body.ct .mcard,html body.ct .ms{border-radius:10px!important;border:1px solid var(--line)!important;background:var(--card)!important;box-shadow:none!important;background-image:none!important}
html body.ct .card,html body.ct .mcard{padding:var(--s4)!important;margin:0 0 var(--s3)!important}
html body.ct .card.flat{background:transparent!important}
html body.ct .list{overflow:hidden!important;margin:0 0 var(--s3)!important}
html body.ct .list>.row,html body.ct .list>a.row,html body.ct .list>.news{padding:var(--s3) var(--s4)!important;border-bottom:1px solid var(--line)!important;border-left:0!important;min-height:56px}
html body.ct .list>*:last-child{border-bottom:0!important}
html body.ct .row .t{font-weight:600!important;font-size:15px!important;color:var(--ink)!important}
html body.ct .row .n{font-size:12.5px!important;color:var(--muted)!important;margin-top:2px}
html body.ct .mcard.flag,html body.ct .topcard.lead{background:var(--cy-tint)!important;border-color:var(--cy-line)!important;background-image:none!important}
html body.ct .topcard.lead::before,html body.ct .topcard.lead::after,html body.ct .mcard::before{display:none!important}
html body.ct .topcard{padding:var(--s4)!important}
html body.ct .tops{gap:var(--s3)!important;margin-bottom:var(--s4)!important}
/* less per card */
html body.ct .topcard .tmeta .cat+.cat,html body.ct .news .m .cat+.cat,html body.ct .news .m .chip.tk{display:none!important}
html body.ct .grid3 .stat:nth-child(2){display:none!important}
html body.ct .grid3{grid-template-columns:1fr 1fr!important;gap:var(--s2)!important}
html body.ct .stat{background:transparent!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:var(--s2) var(--s3)!important}
html body.ct .mstrip .ms.mdl{display:none!important}
/* ===== 2 chip styles ===== */
/* A: outline pill (categories, tickers, filters, facts) */
html body.ct .cat,html body.ct .chip:not(.live):not(.bt):not(.warn),html body.ct .chip.tk,html body.ct .tkp,html body.ct .hchip,html body.ct .fchip,html body.ct .chip.mdl{background:transparent!important;border:1px solid var(--line)!important;color:var(--muted)!important;border-radius:999px!important;font:500 11.5px/1 "Inter"!important;padding:5px 9px!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;height:auto!important}
html body.ct .cat{font-size:11px!important;padding:3px 8px!important}
html body.ct .fchip{font-size:13px!important;padding:8px 13px!important;color:var(--ink)!important}
html body.ct .fchip.on{background:var(--ink)!important;color:var(--card)!important;border-color:var(--ink)!important}
html body.ct .chipbar{gap:var(--s2)!important;margin:0 0 var(--s4)!important}
/* B: status tags — LIVE solid cyan, BACKTEST/LOOK-BACK dashed */
html body.ct .mtag,html body.ct .chip.live,html body.ct .chip.bt,html body.ct .chip.warn{border-radius:4px!important;font:600 9.5px/1 "Inter"!important;letter-spacing:.04em!important;text-transform:uppercase!important;padding:3px 5px!important;box-shadow:none!important}
html body.ct .mtag.solid,html body.ct .chip.live{background:var(--cy)!important;color:var(--ink)!important;border:1px solid var(--cy)!important}
html body.ct .mtag.bt,html body.ct .chip.bt,html body.ct .mtag.out{background:transparent!important;color:var(--muted)!important;border:1px dashed var(--faint)!important}
html body.ct .chip.warn{background:transparent!important;color:var(--down)!important;border:1px solid currentColor!important}
/* period chips: same control everywhere */
html body.ct .ct-pbar{display:flex!important;align-items:center!important;gap:var(--s2)!important;margin:0 0 var(--s3)!important;padding:0!important;background:none!important;border:0!important}
html body.ct .ct-pbar-l,html body.ct .tiles-label{font:500 12px/1 "Inter"!important;color:var(--muted)!important;text-transform:none!important;letter-spacing:0!important}
html body.ct [data-period]:not(.ct-pcell),html body.ct .ct-pchips button,html body.ct .ct-pchips a{border-radius:999px!important}
html body.ct .ct-legend{font-size:12px!important;margin:0 0 var(--s3)!important}
/* bars on models compare */
html body.ct .cmpbar i{background:var(--cy)!important}
html body.ct .cmpbar{background:var(--line)!important;border-radius:3px!important}
html body.ct .cmprow.spy .cmpbar i{background:var(--faint)!important}
/* links */
html body.ct main a:not(.row):not(.btn):not(.fchip):not(.topcard):not(.news):not(.mcard):not(.cmprow):not(.ms):not(.pill):not(.cx-seg a){color:var(--ink)!important;text-decoration:underline;text-decoration-color:var(--cy);text-underline-offset:2px}
html body.ct .btn{border-radius:8px!important;font:600 13.5px/1 "Inter"!important}
html body.ct .btn.ghost{background:transparent!important;border:1px solid var(--line)!important;color:var(--ink)!important}
html body.ct .up{color:var(--up)!important}html body.ct .down{color:var(--down)!important}
/* ===== sub-segment bar (same spot on every section page) ===== */
.cx-seg{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:0 0 var(--s4);overflow-x:auto;scrollbar-width:none}
.cx-seg a{flex:none;padding:var(--s3) 0 10px;font:500 14px/1 "Inter";color:var(--muted)!important;text-decoration:none!important;border-bottom:2px solid transparent;margin-bottom:-1px}
.cx-seg a.on{color:var(--ink)!important;font-weight:600;border-bottom-color:var(--cy)}
/* ===== new bottom nav ===== */
html body.ct nav.bottom.cx{display:grid!important;grid-template-columns:repeat(5,1fr)!important;background:var(--chrome)!important;border-top:1px solid var(--ink-3)!important}
html body.ct nav.bottom.cx a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;color:var(--chrome-ink)!important;font:500 10.5px/1 "Inter"!important;min-height:46px!important;position:relative}
html body.ct nav.bottom.cx a svg{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.5!important;stroke-linecap:round;stroke-linejoin:round}
html body.ct nav.bottom.cx a.on{color:var(--chrome-ink)!important}
html body.ct nav.bottom.cx a.on svg{stroke:var(--new-edge)!important}
html body.ct nav.bottom.cx a.on::before{content:""!important;position:absolute!important;top:-1px!important;left:28%!important;right:28%!important;height:2px!important;background:var(--accent)!important}
html body.ct nav.bottom.cx a .cx-n{position:absolute;top:6px;left:calc(50% + 8px);background:var(--accent);color:var(--chrome);font:700 9px/14px "Inter";min-width:14px;height:14px;border-radius:7px;padding:0 3px;text-align:center}
html.cx-text body.ct nav.bottom.cx a svg{display:none!important}
html.cx-text body.ct nav.bottom.cx a{font:600 13px/1 "Inter"!important;min-height:44px!important;letter-spacing:0!important}
/* header: drop bell (alerts live in Watchlist tab) */
/* alerts bell stays in the header (Oct 20) */
/* ===== drawer ===== */
html body.ct aside.drawer .cx-dr{padding:var(--s2) 0 var(--s5)}
.cx-dl{font:600 11px/1 "Inter";color:var(--faint);margin:var(--s5) var(--s4) var(--s2);letter-spacing:.02em}
.cx-dr a.cx-row{display:flex;justify-content:space-between;align-items:center;padding:0 var(--s4);min-height:48px;font:500 15px/1.2 "Inter";color:var(--ink)!important;text-decoration:none;border-bottom:1px solid var(--line)}
.cx-dr a.cx-row small{display:block;font:400 12px/1.3 "Inter";color:var(--muted);margin-top:2px}
.cx-dr a.cx-row::after{content:"›";color:var(--faint);font-size:18px}
.cx-dr .cx-tag{margin:var(--s1) var(--s4) 0;font:400 13px/1.45 "Inter";color:var(--muted)}
.cx-dr .cx-theme{display:flex;justify-content:space-between;align-items:center;margin:var(--s5) var(--s4) 0;font:500 14px/1 "Inter";color:var(--ink)}
.cx-dr .ct-seg button{min-width:56px;height:30px;font-size:13px}
html body.ct aside.drawer{background:var(--card)!important}
/* intro card */
.cx-intro{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--cy);border-radius:10px;padding:var(--s4);margin:var(--s3) 0 var(--s4);position:relative}
.cx-intro h3{font:650 16px/1.3 "Inter";margin:0 var(--s5) var(--s1) 0;color:var(--ink)}
.cx-intro p{font:400 13.5px/1.45 "Inter";color:var(--muted);margin:0 0 var(--s2)}
.cx-intro ul{margin:0 0 var(--s3);padding:0 0 0 18px;font:400 13.5px/1.5 "Inter";color:var(--ink)}
.cx-intro ul b{font-weight:600}
.cx-intro .cx-act{display:flex;gap:var(--s2);align-items:center}
.cx-intro .cx-go{background:var(--cy);color:var(--ink)!important;text-decoration:none!important;font:600 14px/1 "Inter";padding:11px 14px;border-radius:8px}
.cx-intro .cx-x{background:none;border:0;color:var(--muted);font:500 14px/1 "Inter";padding:11px 8px}
.cx-intro .cx-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;background:none;color:var(--faint);font-size:18px}
/* footer */
.cx-foot{font:400 12px/1.5 "Inter";color:var(--muted)}
.cx-foot b{display:block;font:600 13px/1.3 "Inter";color:var(--ink);margin-bottom:2px}
/* About */
.cx-about .card h3{font:600 15px/1.3 "Inter";margin:0 0 var(--s1);color:var(--ink)}
.cx-about .card p{font:400 14px/1.5 "Inter";color:var(--muted);margin:0}
.cx-about .cx-lead{font:400 16px/1.5 "Inter";color:var(--ink);margin:0 0 var(--s4)}
/* desktop */
@media (min-width:900px){html body.ct .dnav a{font:500 14px/1 "Inter"!important;text-transform:none!important}}
/* more page as compact list */
.cx-more .cx-dr{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0 0 var(--s4)}
html body.ct .row .r .big{background:none!important;padding:0!important;font-size:16px!important;font-weight:600!important}
html body.ct .row .n .mtag.out{display:none!important}
html body.ct .cx-dr a.cx-row{text-decoration:none!important}
html body.ct .cx-gname{text-align:center;margin:8px auto 4px;max-width:340px}
@media (min-width:900px){html body.ct nav.bottom.cx{display:none!important}}

/* patch-only helpers */
.cx-back{display:inline-block;margin-top:12px;font:500 13px/1 "Inter";color:var(--muted)!important;text-decoration:none!important}
.cx-fine{margin:16px 0}.cx-fine summary{cursor:pointer;font-weight:500}
.cx-tag b{color:var(--ink);font-weight:600}
.ct-hero-lede b{font-weight:600}

/* ship: fund holdings groups, compact rows, intro eyebrow */
html body.ct .row .l{min-width:0}
html body.ct .row .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.ct .list>a.row.cx-crow{min-height:52px;padding-top:10px!important;padding-bottom:10px!important}
html body.ct .cx-crow .t{font-size:14.5px!important}
.cx-gh{font:600 13px/1.2 "Inter";color:var(--muted);margin:var(--s5) 0 var(--s2);letter-spacing:.01em}
.cx-gh span{font-weight:500;color:var(--faint);margin-left:4px;font-variant-numeric:tabular-nums}
.cx-eyebrow{font:600 11px/1 "Inter";letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0 0 6px}
.cx-intro .cx-comp{font-size:12px!important;color:var(--faint)!important;margin:0 0 var(--s3)!important}
.cx-compcard{border-left:3px solid var(--cy)!important}
.ct-hero-lede .cx-sub{display:inline-block;margin-top:6px;font-size:.88em;opacity:.8}
html body.ct .btn.wide{display:flex;justify-content:center;width:100%;padding:12px!important}
html body.ct .cx-seg a{white-space:nowrap}
/* stock page: "What they do" company description, under the charts and before the grades (Oct 21) */
html body.ct .sdesc-b{padding:var(--s3,12px) var(--s4,16px)!important}
html body.ct .sdesc-b p{margin:0;font:400 14px/1.55 "Inter";color:var(--ink);max-width:72ch;overflow-wrap:anywhere}
html body.ct .sdesc-b p.sdesc-fb{color:var(--muted)}
html body.ct .sdesc-m{margin-top:8px;font:500 12px/1.3 "Inter";color:var(--muted)}

/* push.css */
/* Alerts sheet (bell) */
.ps-wrap{position:fixed;inset:0;z-index:80}
.ps-wrap[hidden]{display:none}
.ps-scrim{position:absolute;inset:0;background:rgba(18,19,20,.38)}
.ps-sheet{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--card,var(--surface));color:var(--ink,var(--ink));
 border-top:2px solid var(--new-edge);border-radius:14px 14px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 34px rgba(20,52,64,.22);
 font-family:Inter,system-ui,-apple-system,sans-serif;animation:psUp .18s ease-out}
@keyframes psUp{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
@media(min-width:700px){.ps-sheet{left:auto;right:24px;top:64px;bottom:auto;width:380px;border-radius:6px;border-top:2px solid var(--new-edge);box-shadow:0 14px 40px rgba(20,52,64,.24)}}
.ps-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.ps-top h2{font-family:"General Sans",Inter,sans-serif;font-weight:600;font-size:19px;margin:0;color:var(--ink,var(--ink))}
.ps-x{border:0;background:none;color:var(--muted,var(--ink-2));font-size:17px;width:36px;height:36px;border-radius:50%;cursor:pointer}
.ps-note{margin:6px 0 12px;font-size:14.5px;line-height:1.45;color:var(--muted,var(--ink-2))}
.ps-note a{color:var(--accent-ink);font-weight:600}
.ps-list{margin:2px 0 10px}
.ps-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line,var(--line-2));cursor:pointer}
.ps-row:last-child{border-bottom:0}
.ps-row .ps-t{flex:1;min-width:0}
.ps-row b{display:block;font-weight:600;font-size:15.5px}
.ps-row small{display:block;font-size:13px;color:var(--muted,var(--ink-2));margin-top:1px}
.ps-sw{position:relative;flex:none;width:46px;height:28px}
.ps-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ps-sw i{position:absolute;inset:0;border-radius:14px;background:var(--line-2);transition:background .15s}
.ps-sw i:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.ps-sw input:checked+i{background:var(--accent)}
.ps-sw input:checked+i:after{transform:translateX(18px)}
.ps-sw input:focus-visible+i{outline:2px solid var(--new-edge);outline-offset:2px}
.ps-go{display:block;width:100%;position:sticky;bottom:0;box-shadow:0 -8px 14px var(--card,var(--surface));border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);font:600 16.5px "General Sans",Inter,sans-serif;padding:15px 16px;cursor:pointer}
.ps-go[disabled]{opacity:.6;cursor:default}
.ps-go.ps-done{background:transparent;color:var(--accent-ink);border:1px solid var(--new-edge)}
.ps-foot{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:center;margin-top:10px}
.ps-foot:empty{display:none}
.ps-link{border:0;background:none;padding:6px 2px;font:500 14px Inter,sans-serif;color:var(--muted,var(--ink-2));text-decoration:none;cursor:pointer}
.ps-link:hover{color:var(--ink,var(--ink))}
html[data-theme=dark] .ps-scrim{background:rgba(0,0,0,.55)}
html[data-theme=dark] .ps-sheet{background:var(--surface);color:var(--ink);box-shadow:0 -10px 34px rgba(0,0,0,.6)}
html[data-theme=dark] .ps-top h2{color:var(--ink)}
html[data-theme=dark] .ps-row{border-color:var(--line)}
html[data-theme=dark] .ps-sw i{background:var(--line-2)}
html[data-theme=dark] .ps-sw input:checked+i{background:var(--accent)}
html[data-theme=dark] .ps-go{box-shadow:0 -8px 14px var(--surface)}
html[data-theme=dark] .ps-go.ps-done{box-shadow:none;background:var(--surface)}
html[data-theme=dark] .ps-note a,html[data-theme=dark] .ps-go.ps-done{color:var(--accent-ink)}
html[data-theme=dark] .ps-go.ps-done{border-color:var(--new-edge)}
html[data-theme=dark] .ps-link{color:var(--ink-3)}
html body.ct .ps-sw i{border-radius:4px!important}
html body.ct .ps-sw i:after{border-radius:3px!important}
html body.ct .ps-go{border-radius:4px!important}
html body.ct .ps-sheet{border-radius:0!important}
.ps-go.ps-done{box-shadow:none;background:var(--card,var(--surface))}

/* design.css */
/* =====================================================================
   Coteau design system v1 (design pass, Oct 20 2026) — loaded LAST.
   One token set for every page. Light = default; dark = html[data-theme=dark].
   Brand (locked): chrome #121314, accent #3EC8C9, black/cyan dark theme, seafoam newest highlight.
   Headings + wordmark: General Sans 600 (self-hosted). Body + numbers: Inter, tabular figures.
   ===================================================================== */
html body.ct{
 --chrome:#121314;--nav:#0A1124;--chrome-ink:#F2F4F5;--chrome-mute:#8B9398;--chrome-line:#24272A;
 --accent:#3EC8C9;--accent-ink:#4B5257;--on-accent:#0B1A1B;--key:#1A9FA0;--white:#FFFFFF;--c-news:var(--accent-ink);--c-models:var(--accent-ink);--c-port:var(--accent-ink);--c-ins:var(--accent-ink);--c-earn:var(--accent-ink);--c-res:var(--accent-ink);--c-cat:var(--accent-ink);--c-stock:var(--accent-ink);--c-copy:var(--accent-ink);--c-watch:var(--accent-ink);
 --bg:#F3F4F5;--surface:#FFFFFF;--surface-2:#F7F8F9;--line:#E3E6E8;--line-2:#D3D8DB;
 --ink:#121314;--ink-2:#4B5257;--ink-3:#80878C;
 --up:#12804A;--up-bg:#E7F4EC;--down:#CC3A2F;--down-bg:#FBEAE8;--warn:#9A5B00;--warn-bg:#FBF1E1;
 --new:#DFEAF0;--new-edge:#A8C4D0;
 --r-xs:4px;--r-sm:8px;--r-md:12px;--r-pill:999px;
 --shadow-pop:0 12px 32px rgba(18,19,20,.18);
 --f-head:"General Sans","Inter",system-ui,-apple-system,sans-serif;--f-body:"Inter",system-ui,-apple-system,sans-serif;
 /* legacy names -> tokens (old stylesheets keep working) */
 --cy:var(--accent);--cy-tint:var(--new);--cy-line:var(--new-edge);--muted:var(--ink-2);--faint:var(--ink-3);--card:var(--surface);
 --ct-ink:var(--ink);--ct-accent:var(--accent);--ct-accent-d:var(--accent-ink);--ct-tile:var(--new);--ct-tile-edge:var(--new-edge);--ct-new:var(--new);--ct-new-edge:var(--new-edge);
 --ct-gray:var(--line-2);--ct-soft:var(--ink-3);--ct-card:var(--surface);--ct-page:var(--bg);--ct-header:var(--chrome);--ct-line:var(--line);--ct-edge:var(--accent-ink);--ct-on-accent:var(--on-accent);--ct-muted:var(--ink-3);
 --iz-mut:var(--ink-3);--soft:var(--surface-2);--chip:var(--surface-2);--navy:var(--ink);--royal:var(--accent-ink);--indigo:var(--accent-ink);--azure:var(--accent-ink);--sky:var(--accent);--pale:var(--new);
 --ix-a:var(--accent-ink);--ix-b:var(--accent-ink);--ix-t:var(--accent-ink);--ix-abg:var(--new);--ix-tbg:var(--new);--ix-w:var(--warn);--ix-wbg:var(--warn-bg);--sec:var(--accent);
 --up-bg2:var(--up-bg);--lg-bg:#fff;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--r:12px;
}
html[data-theme=dark] body.ct{
 --accent-ink:#AEB5BA;--key:#3EC8C9;
 --bg:#0B0C0D;--surface:#151719;--surface-2:#1C1F21;--line:#26292C;--line-2:#33383C;
 --ink:#F2F4F5;--ink-2:#AEB5BA;--ink-3:#7A8388;
 --up:#3DD68C;--up-bg:rgba(61,214,140,.12);--down:#FF6B5E;--down-bg:rgba(255,107,94,.12);--warn:#F0B44C;--warn-bg:rgba(240,180,76,.10);
 --new:#1A2022;--new-edge:#3EC8C9;--shadow-pop:0 12px 32px rgba(0,0,0,.55);
}
html body.ct{background:var(--bg)!important;color:var(--ink);font-family:var(--f-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv11" 1}
html[data-theme=light],html[data-theme=light] body.ct{background:var(--bg)}

/* ---------- type scale ---------- */
html[data-theme] body.ct h1,html[data-theme] body.ct .h1,html[data-theme] body.ct .ihead h1{font:600 24px/30px var(--f-head)!important;letter-spacing:-.012em!important;color:var(--ink)!important;margin:6px 0 4px!important;text-transform:none!important}
html[data-theme] body.ct h2,html[data-theme] body.ct .h2{font:600 17px/24px var(--f-head)!important;letter-spacing:-.008em!important;color:var(--ink)!important;text-transform:none!important;border:0!important;padding:0!important;background:none!important}
html[data-theme] body.ct h2::before,html[data-theme] body.ct h2::after{display:none!important}
html[data-theme] body.ct h3{font-family:var(--f-head)!important;letter-spacing:-.005em}
html[data-theme] body.ct .ihead p,html[data-theme] body.ct .cx-purpose,html[data-theme] body.ct p.sub{font-size:14px!important;line-height:20px!important;color:var(--ink-2)!important;margin:0 0 16px!important}
html[data-theme] body.ct .small,html[data-theme] body.ct small{font-variant-numeric:tabular-nums}
html[data-theme] body.ct .price,html[data-theme] body.ct .mvcp,html[data-theme] body.ct .cr b,html[data-theme] body.ct .v,html[data-theme] body.ct [data-qp],html[data-theme] body.ct [data-qc]{font-family:var(--f-body)!important;font-variant-numeric:tabular-nums!important}
html[data-theme] body.ct .up{color:var(--up)!important} html[data-theme] body.ct .down{color:var(--down)!important}
html[data-theme] body.ct a{color:inherit} html[data-theme] body.ct main a:not([class]){color:var(--accent-ink)}

/* ---------- section header row ---------- */
html[data-theme] body.ct .sech{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 12px}
html[data-theme] body.ct .sech h2{margin:0!important}
html[data-theme] body.ct .sech>a,html[data-theme] body.ct .mvtop a,html[data-theme] body.ct .sech .mvnav a{font:500 13px/18px var(--f-body)!important;color:var(--accent-ink)!important;text-decoration:none!important;border:0!important}
html[data-theme] body.ct .hcnt{font:500 13px/1 var(--f-body);color:var(--ink-3);margin-left:4px;vertical-align:1px}

/* ---------- header (navy #0A1124 since Oct 20 evening: the darkest blue stop of the hero/intro-card gradient) ---------- */
html[data-theme] body.ct header.top{background:var(--nav)!important;border:0!important;box-shadow:none!important}
html[data-theme] body.ct header.top .iconbtn{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--chrome-ink)!important;width:40px;height:40px;border-radius:var(--r-sm)!important}
html[data-theme] body.ct header.top .iconbtn:hover{background:rgba(255,255,255,.06)!important}
html[data-theme] body.ct header.top .iconbtn svg{stroke-width:1.75}
html[data-theme] body.ct .ct-getapp-top{height:30px!important;line-height:30px!important;padding:0 12px!important;border-radius:var(--r-pill)!important;background:var(--accent)!important;color:var(--on-accent)!important;font:600 13px/30px var(--f-body)!important;border:0!important;box-shadow:none!important}
html.ct-standalone[data-theme] body.ct .ct-getapp-top,html[data-theme] body.ct .ct-getapp-top[hidden]{display:none!important}
/* lockup */
html[data-theme] body.ct .blk{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1}
html[data-theme] body.ct .bword{display:inline-flex;align-items:baseline;gap:.34em;font:600 21px/1 "General Sans","Inter",system-ui,sans-serif;letter-spacing:-.012em;color:var(--chrome-ink);white-space:nowrap}
html[data-theme] body.ct .bword .bmark{height:.98em;width:auto;align-self:baseline;transform:translateY(.02em)}
html[data-theme] body.ct .blk-md .bword{font-size:23px}
html[data-theme] body.ct .btag{font:500 9.5px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--chrome-mute);margin-top:9px}
html[data-theme] body.ct .ct-brand,html[data-theme] body.ct .ct-dbrand{text-decoration:none!important;display:inline-flex;align-items:center}
html[data-theme] body.ct .ct-brand .ct-word,html[data-theme] body.ct .ct-brand img.ct-mark{display:none!important}
html[data-theme] body.ct .ct-fbrand .bword{color:var(--ink);font-size:19px}
html[data-theme] body.ct .bmark.ct-mk-d{display:none} html[data-theme=dark] body.ct .bmark.ct-mk-d{display:inline-block} html[data-theme=dark] body.ct .bmark.ct-mk-l{display:none}
html[data-theme] body.ct header.top .bmark.ct-mk-d,html[data-theme] body.ct .drawer .bmark.ct-mk-d{display:none}

/* ---------- stale data: one small chip ---------- */
html[data-theme] body.ct .dhb.dhb-chip{display:inline-flex!important;align-items:center;gap:7px;margin:12px 0 0!important;padding:5px 10px!important;border-radius:var(--r-pill)!important;background:var(--warn-bg)!important;color:var(--warn)!important;border:0!important;font:500 12px/16px var(--f-body)!important;text-decoration:none!important;width:auto!important;margin-bottom:4px!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] body.ct .dhb-dot{width:6px!important;height:6px!important;border-radius:50%!important;padding:0!important;background:currentColor;flex:none}

/* ---------- cards, lists, rows: 1px line, radius 12, no shadow ---------- */
html[data-theme] body.ct .card,html[data-theme] body.ct .list,html[data-theme] body.ct .topcard,html[data-theme] body.ct .iz .list,html[data-theme] body.ct .iz .icard,html[data-theme] body.ct .tvchart,html[data-theme] body.ct .whyin,html[data-theme] body.ct .gt,html[data-theme] body.ct .ms,html[data-theme] body.ct .pill.earn{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;box-shadow:none!important}
html[data-theme] body.ct .list{overflow:hidden}
html[data-theme] body.ct .list>.row,html[data-theme] body.ct .list>a.row,html[data-theme] body.ct .list>.news{border-top:1px solid var(--line)!important;border-left:0!important;border-right:0!important;border-bottom:0!important;box-shadow:none!important;border-radius:0!important;background:transparent}
html[data-theme] body.ct .list>.row:first-child,html[data-theme] body.ct .list>a.row:first-child,html[data-theme] body.ct .list>.news:first-child{border-top:0!important}
html[data-theme] body.ct .list[class*="acc-"]{border-top:1px solid var(--line)!important}
/* newest item: ONE highlight everywhere */
html[data-theme] body.ct .cnew,html[data-theme] body.ct .list>.row.cnew,html[data-theme] body.ct .topcard.lead,html[data-theme] body.ct .mvt.cnew,html[data-theme] body.ct .sml.cnew,html[data-theme] body.ct .drow.cnew,html[data-theme] body.ct .news.cnew,html[data-theme] body.ct .iz .list>.row.cnew,html[data-theme] body.ct .ctz .list>.row.cnew{background:var(--new)!important;box-shadow:inset 3px 0 0 var(--new-edge)!important}
html[data-theme] body.ct .mvt.cnew{border-color:var(--new-edge)!important;box-shadow:none!important}
html[data-theme=dark] body.ct .cnew,html[data-theme=dark] body.ct .topcard.lead,html[data-theme=dark] body.ct .list>.row.cnew{box-shadow:inset 3px 0 0 var(--accent)!important}
html[data-theme=dark] body.ct .mvt.cnew{box-shadow:none!important}

/* ---------- buttons ---------- */
html[data-theme] body.ct .btn,html[data-theme] body.ct .ibtn,html[data-theme] body.ct .cx-go,html[data-theme] body.ct .ga-btn{height:40px;padding:0 16px;border-radius:var(--r-sm)!important;background:var(--accent)!important;color:var(--on-accent)!important;font:600 14px/40px var(--f-body)!important;border:0!important;box-shadow:none!important}
html[data-theme] body.ct .ibtn.ghost,html[data-theme] body.ct .cmore{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;border-radius:var(--r-sm)!important}
html[data-theme] body.ct main .iconbtn.small{height:32px;padding:0 12px;border-radius:var(--r-sm)!important;background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;font:600 13px/30px var(--f-body)!important;box-shadow:none!important}

/* ---------- chips: (1) filter pill (2) ticker chip (3) caps label ---------- */
html[data-theme] body.ct .fchip,html[data-theme] body.ct .cx-quicklinks a,html[data-theme] body.ct .hchip,html[data-theme] body.ct .chipbar a{height:32px;display:inline-flex!important;align-items:center;padding:0 14px!important;border-radius:var(--r-pill)!important;background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--ink-2)!important;font:500 13px/1 var(--f-body)!important;box-shadow:none!important;white-space:nowrap;text-decoration:none!important;flex:none}
html[data-theme] body.ct .fchip.on,html[data-theme] body.ct .chipbar a.on{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--bg)!important}
html[data-theme] body.ct .chipbar,html[data-theme] body.ct .cx-quicklinks{display:flex!important;gap:8px!important;overflow-x:auto;scrollbar-width:none;padding:0!important;margin:0 0 16px!important;-webkit-overflow-scrolling:touch}
html[data-theme] body.ct .chipbar::-webkit-scrollbar,html[data-theme] body.ct .cx-quicklinks::-webkit-scrollbar{display:none}
html[data-theme] body.ct .chipsep{display:none}
html[data-theme] body.ct .chip.tk,html[data-theme] body.ct .tkp{display:inline-flex!important;align-items:center;gap:6px;height:24px;padding:0 8px 0 4px!important;border-radius:6px!important;background:var(--surface-2)!important;border:1px solid var(--line)!important;font:600 12px/1 var(--f-body)!important;color:var(--ink)!important;box-shadow:none!important}
html[data-theme] body.ct .chip.tk{padding:0 8px!important}
html[data-theme] body.ct .cat,html[data-theme] body.ct .ctag,html[data-theme] body.ct .sx,html[data-theme] body.ct .chiprow .chip{background:none!important;border:0!important;padding:0!important;font:600 11px/14px var(--f-body)!important;letter-spacing:.05em!important;text-transform:uppercase!important;color:var(--accent-ink)!important;border-radius:0!important;opacity:1!important;margin-right:6px}
html[data-theme] body.ct .chiprow .chip,html[data-theme] body.ct .chiprow span.chip{color:var(--ink-3)!important;background:none!important;border:0!important;padding:0!important}
html[data-theme] body.ct .badge-new,html[data-theme] body.ct .icard .new,html[data-theme] body.ct .inew{display:inline-block;height:18px;padding:0 6px;border-radius:var(--r-xs)!important;background:var(--new)!important;color:var(--accent-ink)!important;border:1px solid var(--new-edge)!important;font:700 10px/16px var(--f-body)!important;letter-spacing:.05em;text-transform:uppercase}
html[data-theme] body.ct .lbl{font:600 11px/14px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}

/* ---------- one tab switcher (segmented) ---------- */
html[data-theme] body.ct .segc,html[data-theme] body.ct .tabs,html[data-theme] body.ct .cx-seg{display:flex!important;gap:0!important;background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:var(--r-sm)!important;padding:2px!important;margin:4px 0 8px!important;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)!important}
html[data-theme] body.ct .segc a,html[data-theme] body.ct .tabs a,html[data-theme] body.ct .cx-seg a{flex:1 0 auto;text-align:center;padding:0 12px!important;height:30px;line-height:30px!important;border-radius:6px!important;font:500 13px/30px var(--f-body)!important;color:var(--ink-2)!important;text-decoration:none!important;border:0!important;background:transparent!important;box-shadow:none!important;white-space:nowrap}
html[data-theme] body.ct .segc a.on,html[data-theme] body.ct .tabs a.on,html[data-theme] body.ct .cx-seg a.on{background:var(--surface)!important;color:var(--ink)!important;font-weight:600!important;box-shadow:0 1px 2px rgba(0,0,0,.08)!important}
html[data-theme=dark] body.ct .segc a.on,html[data-theme=dark] body.ct .tabs a.on{background:var(--line-2)!important}
html[data-theme] body.ct .segc{position:sticky;top:56px;z-index:5}

/* ---------- drawer ---------- */
html[data-theme] body.ct .drawer{background:var(--surface)!important;box-shadow:var(--shadow-pop)!important;display:flex;flex-direction:column}
html[data-theme] body.ct .drawer .dhead{background:var(--chrome)!important;padding:18px 16px 16px 20px!important;align-items:flex-start!important;border:0!important}
html[data-theme] body.ct .drawer .dhead .iconbtn{border:0!important;background:transparent!important;color:var(--chrome-ink)!important;box-shadow:none!important}
html[data-theme] body.ct .cx-dr{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:0 0 12px!important}
html[data-theme] body.ct .cx-dl{font:600 11px/14px var(--f-body)!important;letter-spacing:.06em!important;text-transform:uppercase;color:var(--ink-3)!important;padding:16px 20px 6px!important;margin:0!important;border:0!important}
html[data-theme] body.ct .cx-row{display:flex!important;align-items:center;justify-content:flex-start!important;gap:14px;padding:9px 20px!important;text-align:left!important;border:0!important;background:none!important;text-decoration:none!important;color:var(--ink)!important}
html[data-theme] body.ct .cx-row::after{display:none!important}
html[data-theme] body.ct .cx-row>span{font:600 15px/20px var(--f-body)!important;display:flex!important;flex-direction:column;align-items:flex-start!important;flex:1;min-width:0;margin:0!important;padding:0!important;text-align:left!important}
html[data-theme] body.ct .cx-row small{font:400 12px/16px var(--f-body)!important;color:var(--ink-3)!important;margin:1px 0 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
html[data-theme] body.ct .cx-ic{width:20px;height:20px;flex:none;fill:none;stroke:var(--ink-3);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
html[data-theme] body.ct .cx-quick{margin-top:auto!important;padding:16px 20px 8px!important;display:flex!important;gap:10px;align-items:center;border:0!important}
html[data-theme] body.ct .cx-qapp{flex:1;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;height:40px;border-radius:var(--r-sm)!important;background:var(--accent)!important;color:var(--on-accent)!important;font:600 14px/1 var(--f-body)!important;border:0!important;text-decoration:none!important}
html[data-theme] body.ct .cx-qtheme{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px}
html[data-theme] body.ct .cx-qtheme button{border:0!important;background:transparent!important;color:var(--ink-2)!important;font:500 13px/30px var(--f-body)!important;padding:0 10px!important;border-radius:6px!important;height:32px}
html[data-theme=light] body.ct .cx-qtheme [data-ct-theme-set=light],html[data-theme=dark] body.ct .cx-qtheme [data-ct-theme-set=dark]{background:var(--surface)!important;color:var(--ink)!important;font-weight:600!important;box-shadow:0 1px 2px rgba(0,0,0,.1)!important}
html[data-theme=dark] body.ct .cx-qtheme [data-ct-theme-set=dark]{background:var(--line-2)!important}
html[data-theme] body.ct .cx-legal{display:flex;gap:14px;padding:4px 20px 18px;font:400 12px/16px var(--f-body)}
html[data-theme] body.ct .cx-legal a{color:var(--ink-3)!important;text-decoration:none!important}

/* ---------- bottom nav ---------- */
html[data-theme] body.ct nav.bottom{background:var(--chrome)!important;border-top:1px solid var(--chrome-line)!important;box-shadow:none!important}
html[data-theme] body.ct nav.bottom a{color:var(--chrome-mute)!important;font:500 11px/1 var(--f-body)!important}
html[data-theme] body.ct nav.bottom a.on{color:var(--accent)!important}
html[data-theme] body.ct nav.bottom svg{stroke-width:1.75!important}

/* ---------- news ---------- */
html[data-theme] body.ct .news,html[data-theme] body.ct .topcard{text-decoration:none!important}
html[data-theme] body.ct .tops{display:flex;flex-direction:column;gap:12px;margin:0 0 8px}
html[data-theme] body.ct .topcard{padding:16px!important;display:block}
html[data-theme] body.ct .topcard .th,html[data-theme] body.ct .news .h{font:600 16px/22px var(--f-head)!important;letter-spacing:-.004em!important;color:var(--ink)!important;margin:6px 0 8px!important}
html[data-theme] body.ct .topcard.lead .th{font-size:17px!important;line-height:23px!important}
html[data-theme] body.ct .topcard .ts{font-size:14px!important;line-height:20px!important;color:var(--ink-2)!important;margin-bottom:10px}
html[data-theme] body.ct .tmeta,html[data-theme] body.ct .news .m{font:400 12px/16px var(--f-body)!important;color:var(--ink-3)!important}
html[data-theme] body.ct .ttk{display:flex;gap:6px;flex-wrap:wrap}
html[data-theme] body.ct .list.acc-news{background:transparent!important;border:0!important;display:flex;flex-direction:column;gap:12px;overflow:visible}
html[data-theme] body.ct .list.acc-news>.news{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;padding:14px 16px!important}
html[data-theme] body.ct .list.acc-news>.news.cnew{background:var(--new)!important}
html[data-theme] body.ct .news .h{margin:0 0 6px!important}
html[data-theme] body.ct .news .lgo{flex:none}
html[data-theme] body.ct .cx-fine{margin:16px 0}

/* ---------- home dashboard (layout B) ---------- */
html[data-theme] body.ct .hm-earn .sech{margin-top:8px}
html[data-theme] body.ct.pg-home .hm-movers .sech,html[data-theme] body.ct.pg-home .mvtop{margin:8px 0 10px!important;display:flex;align-items:baseline;justify-content:space-between}
html[data-theme] body.ct .mstrip2{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;padding:9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);white-space:nowrap}
html[data-theme] body.ct .mstrip2::-webkit-scrollbar{display:none}
html[data-theme] body.ct .m2{display:inline-flex;align-items:baseline;gap:6px;font:500 12px/16px var(--f-body);color:var(--ink);text-decoration:none!important}
html[data-theme] body.ct .m2 .k{color:var(--ink-3)} html[data-theme] body.ct .m2 b{font-weight:600}
html[data-theme] body.ct .dcard{padding:12px 12px 8px!important;min-width:0}
html[data-theme] body.ct .dcard .sech{margin:0 0 4px!important}
html[data-theme] body.ct .dcard .sech h2{font-size:15px!important;line-height:20px!important}
html[data-theme] body.ct .dcard .sech a{font-size:12px!important}
html[data-theme] body.ct .smcred{font:400 11px/14px var(--f-body)!important;color:var(--ink-3)!important;margin:6px 0 0!important}
html[data-theme] body.ct .smcred a{color:var(--ink-3)!important;text-decoration:none!important}
html[data-theme] body.ct .dlist{display:flex;flex-direction:column}
html[data-theme] body.ct .drow{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:baseline;padding:6px 4px;border-top:1px solid var(--line);text-decoration:none!important;color:var(--ink);border-radius:4px}
html[data-theme] body.ct .drow:first-child{border-top:0}
html[data-theme] body.ct .drow b{font:600 13px/1 var(--f-body)} html[data-theme] body.ct .drow .dk{font:400 12px/1 var(--f-body);color:var(--ink-3)} html[data-theme] body.ct .drow .dv{font:600 12px/1 var(--f-body)}
html[data-theme] body.ct .hm-news{margin-top:4px}
html[data-theme] body.ct .hm-news .newsh{margin:24px 0 12px}
html[data-theme] body.ct .pill.earn{padding:10px 12px!important;min-width:112px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)!important;text-decoration:none!important}
html[data-theme] body.ct .pill.earn b{color:var(--ink)}
html[data-theme] body.ct .strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}

/* ---------- movers tiles (phone: compact, no chart; desktop: chart tiles) ---------- */
html[data-theme] body.ct .mvt{border-radius:var(--r-sm)!important;border:1px solid var(--line)!important;background:var(--surface)!important;box-shadow:none!important}
html[data-theme] body.ct .mvcp{font-weight:600!important;letter-spacing:-.01em}
html[data-theme] body.ct .mvasof{font:400 11px/14px var(--f-body)!important;color:var(--ink-3)!important;margin:6px 0 0!important}
html[data-theme] body.ct .mvar{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--ink-2)!important;border-radius:var(--r-sm)!important;box-shadow:none!important}

/* ---------- tools page ---------- */
html[data-theme] body.ct .tgl{display:flex;align-items:center;gap:8px;margin:20px 0 8px}
html[data-theme] body.ct .tlist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
html[data-theme] body.ct .trow{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);text-decoration:none!important;color:var(--ink)}
html[data-theme] body.ct .trow:first-child{border-top:0}
html[data-theme] body.ct .trow .ic{width:36px;height:36px;flex:none;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}
html[data-theme] body.ct .trow .tt{flex:1;min-width:0;display:flex;flex-direction:column}
html[data-theme] body.ct .trow .tt b{font:600 15px/20px var(--f-body)} html[data-theme] body.ct .trow .tt span{font:400 12px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .trow .chev{color:var(--ink-3);flex:none}
html[data-theme] body.ct .inia{font-size:12px!important;color:var(--ink-3)!important;margin-top:16px!important}

/* ---------- ideas pages + catalysts ---------- */
html[data-theme] body.ct .iz .ibanner{background:var(--new)!important;border:1px solid var(--new-edge)!important;color:var(--ink)!important;border-radius:var(--r-md)!important}
html[data-theme] body.ct .ihow summary,html[data-theme] body.ct .cx-fine summary,html[data-theme] body.ct details.cx-how summary{font:500 13px/18px var(--f-body)!important;color:var(--ink-3)!important;cursor:pointer}
html[data-theme] body.ct .ctz .cdate{color:var(--accent-ink)!important;font-family:var(--f-body)!important}
html[data-theme] body.ct .ctz h3{font:600 11px/14px var(--f-body)!important;letter-spacing:.06em!important;color:var(--ink-3)!important}
html[data-theme] body.ct .sclink,html[data-theme] body.ct .tkchip{color:var(--accent-ink)!important}
html[data-theme] body.ct .tkchip{background:var(--new)!important;border:1px solid var(--new-edge)!important;border-radius:var(--r-xs)!important;font:600 11px/16px var(--f-body)!important;padding:1px 6px!important}
html[data-theme] body.ct .hero{background:none!important;color:var(--ink)!important;padding:0!important;border:0!important;box-shadow:none!important;margin:6px 0 12px!important}
html[data-theme] body.ct .hero p{color:var(--ink-2)!important}
html[data-theme] body.ct .hero .hchips{display:none}

/* ---------- stock page ---------- */
html[data-theme] body.ct .shero{padding:16px!important}
html[data-theme] body.ct .shero .price{font:600 30px/36px var(--f-body)!important;letter-spacing:-.02em;color:var(--ink)!important}
html[data-theme] body.ct .shero .chg{display:inline-block;padding:2px 6px;border-radius:var(--r-xs);font:600 13px/18px var(--f-body)!important;background:var(--surface-2)}
html[data-theme] body.ct .shero .chg.up{background:var(--up-bg)!important} html[data-theme] body.ct .shero .chg.down{background:var(--down-bg)!important}
html[data-theme] body.ct .chiprow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0!important}
html[data-theme] body.ct .rtiles{gap:8px!important}
html[data-theme] body.ct .rt{background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:var(--r-sm)!important;box-shadow:none!important}
html[data-theme] body.ct .rt .k{color:var(--ink-3)!important;font:600 11px/14px var(--f-body)!important;letter-spacing:.05em}
html[data-theme] body.ct .rt .v{font:600 15px/20px var(--f-body)!important}
html[data-theme] body.ct .rt.up .v{color:var(--up)!important} html[data-theme] body.ct .rt.down .v{color:var(--down)!important}
html[data-theme] body.ct .gna{font:500 13px/1 var(--f-body);color:var(--ink-3);padding:0 6px}
html[data-theme] body.ct .gt .s{color:var(--ink-3)!important}
@media (max-width:899px){html[data-theme] body.ct .tvsec{display:none!important}}

/* ---------- misc ---------- */
html[data-theme] body.ct .foot{color:var(--ink-3)!important;border-top:1px solid var(--line)!important}
html[data-theme] body.ct .foot b{color:var(--ink-2)!important}
html[data-theme] body.ct .foot .flinks a{color:var(--ink-3)!important}
html[data-theme] body.ct .flash{background:var(--new)!important;border:1px solid var(--new-edge)!important;color:var(--ink)!important;border-radius:var(--r-md)!important}
html[data-theme] body.ct table.t th{background:var(--surface-2)!important;color:var(--ink-3)!important}
html[data-theme] body.ct table.t td,html[data-theme] body.ct table.t th{border-color:var(--line)!important}
html[data-theme] body.ct input,html[data-theme] body.ct select,html[data-theme] body.ct textarea{border-radius:var(--r-sm)}
html,html[data-theme] body.ct{overflow-x:hidden}

/* ---------- desktop: 1200px grid, right rail ---------- */
@media (min-width:1100px){
 html[data-theme] body.ct main.wrap,html[data-theme] body.ct.pg-home header.top .wrap{max-width:1200px!important}
 html[data-theme] body.ct:not(.pg-home) header.top .wrap{max-width:868px!important;padding:0 24px!important}
 html[data-theme] body.ct main.wrap{padding-left:24px;padding-right:24px}
 html[data-theme] body.ct:not(.pg-home) main.wrap>*:not(.foot){max-width:820px;margin-left:auto;margin-right:auto}
 html[data-theme] body.ct .dhb.dhb-chip{margin-top:16px!important}
}

html[data-theme] body.ct header .dnav a{color:#AEB5BA!important}
html[data-theme] body.ct header .dnav a.on,html[data-theme] body.ct header .dnav a:hover{color:#F2F4F5!important}
html[data-theme] body.ct #drawer .dhead button.iconbtn{border:0!important;background:transparent!important;color:#F2F4F5!important;box-shadow:none!important}
html[data-theme] body.ct #drawer .dhead button.iconbtn:hover{background:rgba(255,255,255,.08)!important}
@media (min-width:1100px){html[data-theme] body.ct:not(.pg-home) main.wrap>.dhb{display:flex;width:fit-content;margin-left:max(0px,calc(50% - 410px))!important}}
html[data-theme] body.ct main span.chip{background:none!important;border:0!important;padding:0 2px!important;color:var(--ink-3)!important;font:600 11px/16px var(--f-body)!important;letter-spacing:.06em;text-transform:uppercase;box-shadow:none!important}
html[data-theme] body.ct main .shareic svg{width:16px!important;height:16px!important}
/* Safari "Add to Dock" popover: always readable in both themes */
html body.ct .ct-dockpop{background:#FFFFFF!important;color:#3A4045!important;border:1px solid #D5DADC!important;box-shadow:0 10px 28px rgba(0,0,0,.18)!important}
html body.ct .ct-dockpop b{color:#121314!important}
html body.ct .ct-dockpop span{color:#3A4045!important}
html body.ct .ct-dockpop kbd{background:#F1F3F4!important;color:#121314!important;border:1px solid #C9CFD2!important}
html[data-theme=dark] body.ct .ct-dockpop{background:#1A1C1E!important;color:#D5DADC!important;border-color:#33383C!important}
html[data-theme=dark] body.ct .ct-dockpop b{color:#F2F4F5!important}
html[data-theme=dark] body.ct .ct-dockpop span{color:#D5DADC!important}
html[data-theme=dark] body.ct .ct-dockpop kbd{background:#24272A!important;color:#F2F4F5!important;border-color:#3A3F43!important}

/* =====================================================================
   Polish pass (Oct 20 2026): simplified home, Explore, page heads, about steps.
   Spacing scale: 4 / 8 / 12 / 16 / 24 / 32. Radii: 8 (controls), 12 (cards), pill (chips).
   ===================================================================== */
html[data-theme] body.ct .pghead{margin:16px 0 16px}
html[data-theme] body.ct .pghead h1{margin:0 0 4px!important}
html[data-theme] body.ct .pgsub{margin:0;font:400 14px/20px var(--f-body);color:var(--ink-2);max-width:60ch}
html[data-theme] body.ct .pgfine,html[data-theme] body.ct .hm-fine{margin:24px 0 8px;font:400 12px/18px var(--f-body);color:var(--ink-3);max-width:72ch}
html[data-theme] body.ct .sech-sub{font:400 12px/18px var(--f-body);color:var(--ink-3);margin-right:auto}

/* hero */
html[data-theme] body.ct .hx{display:grid;gap:16px;margin:16px 0 8px}
html[data-theme] body.ct .hx-eye{margin:0 0 8px;font:600 11px/16px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
html[data-theme] body.ct h1.hx-h{font:600 28px/34px var(--f-head)!important;letter-spacing:-.02em!important;margin:0 0 12px!important;max-width:22ch;text-wrap:balance}
html[data-theme] body.ct .hx-sub{margin:0 0 16px;font:400 15px/22px var(--f-body);color:var(--ink-2);max-width:52ch}
html[data-theme] body.ct .hx-cta{display:flex;gap:8px;flex-wrap:wrap}
html[data-theme] body.ct .hx-cta .btn{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:var(--r-sm)!important;font:600 15px/1 var(--f-body)!important;text-decoration:none!important;box-shadow:none!important}
html[data-theme] body.ct .hx-pri{background:var(--accent)!important;color:var(--on-accent)!important;border:0!important}
html[data-theme] body.ct .hx-pri:hover{filter:brightness(1.05)}
html[data-theme] body.ct .hx-sec{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line-2)!important}
html[data-theme] body.ct .hx-sec:hover{border-color:var(--ink-3)!important}
html[data-theme] body.ct .hx-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px 16px;min-width:0}
html[data-theme] body.ct .hx-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -4px 12px;padding:0 4px}
html[data-theme] body.ct .hx-tabs::-webkit-scrollbar{display:none}
html[data-theme] body.ct .hx-tabs button{flex:none;height:30px;padding:0 12px;border-radius:var(--r-pill);border:1px solid transparent;background:none;color:var(--ink-2);font:500 13px/1 var(--f-body);cursor:pointer}
html[data-theme] body.ct .hx-tabs button[aria-selected=true]{background:var(--surface-2);border-color:var(--line-2);color:var(--ink);font-weight:600}
html[data-theme] body.ct .hx-stats{display:flex;gap:24px;align-items:flex-end}
html[data-theme] body.ct .hx-stats>div{display:flex;flex-direction:column;gap:2px}
html[data-theme] body.ct .hx-k{font:500 12px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .hx-k::before{content:"";display:inline-block;width:10px;height:2px;border-radius:2px;background:var(--accent);vertical-align:3px;margin-right:6px}
html[data-theme] body.ct .hx-vs .hx-k::before{background:var(--ink-3)}
html[data-theme] body.ct .hx-n{font:600 30px/34px var(--f-head);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
html[data-theme] body.ct .hx-n2{font-size:22px;line-height:34px;color:var(--ink-2)}
html[data-theme] body.ct .hx-u{font:400 12px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .hx-svg{display:block;width:100%;height:150px;margin:12px 0 4px;overflow:visible}
html[data-theme] body.ct .hx-svg polyline{fill:none;stroke-linejoin:round;stroke-linecap:round}
html[data-theme] body.ct .hx-mod{stroke:var(--accent);stroke-width:2.25}
html[data-theme] body.ct .hx-spy{stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:4 4;opacity:.8}
html[data-theme] body.ct .hx-in .hx-mod{stroke-dasharray:2400;stroke-dashoffset:2400;animation:hxDraw 1s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes hxDraw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){html[data-theme] body.ct .hx-in .hx-mod{animation:none;stroke-dasharray:none;stroke-dashoffset:0}}
html[data-theme] body.ct .hx-axis{display:flex;justify-content:space-between;gap:8px;font:400 12px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .hx-axis b{color:var(--ink);font-weight:600}
html[data-theme] body.ct .hx-lbl{margin:8px 0 0;font:400 12px/18px var(--f-body);color:var(--ink-2)}
html[data-theme] body.ct .hx-lbl b{font-weight:600}
html[data-theme] body.ct .hx-tag{display:inline-block;min-width:56px;margin-right:6px;padding:1px 6px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2);font:600 10px/16px var(--f-body);letter-spacing:.06em;text-transform:uppercase;text-align:center}
html[data-theme] body.ct .hx-tag.hx-live{background:var(--new);border-color:var(--new-edge);color:var(--accent-ink)}
html[data-theme] body.ct .hx-more{display:inline-block;margin-top:12px;font:500 13px/18px var(--f-body);color:var(--accent-ink)!important;text-decoration:none}
html[data-theme] body.ct .hx-pane.hx-in{animation:hxFade .35s ease-out}
@keyframes hxFade{from{opacity:.4}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html[data-theme] body.ct .hx-pane.hx-in{animation:none}}

/* how it works (home first visit + about) */
html[data-theme] body.ct .hiw{position:relative;margin:16px 0 0!important;padding:16px!important;border-radius:var(--r-md)!important;background:var(--surface)!important;border:1px solid var(--line)!important}
html[data-theme] body.ct .hiw h2{margin:0 0 12px!important}
html[data-theme] body.ct .hiw-x{position:absolute;top:8px;right:8px;width:36px;height:36px;display:grid;place-items:center;border:0;background:none;color:var(--ink-3);border-radius:var(--r-sm);cursor:pointer}
html[data-theme] body.ct .hiw-x:hover{background:var(--surface-2);color:var(--ink)}
html[data-theme] body.ct .hiw-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}
html[data-theme] body.ct .hiw-steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
html[data-theme] body.ct .hiw-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--new);border:1px solid var(--new-edge);color:var(--accent-ink);font:600 13px/1 var(--f-head)}
html[data-theme] body.ct .hiw-steps b{display:block;font:600 15px/20px var(--f-head);color:var(--ink)}
html[data-theme] body.ct .hiw-steps p{margin:2px 0 4px;font:400 14px/20px var(--f-body);color:var(--ink-2)}
html[data-theme] body.ct .hiw-steps a{font:500 13px/18px var(--f-body);color:var(--accent-ink)!important;text-decoration:none}

/* home sections */
html[data-theme] body.ct.pg-home .hm-movers{margin-top:8px}
html[data-theme] body.ct.pg-home .hm-movers .mvtop{margin:24px 0 12px!important;align-items:center}
html[data-theme] body.ct .hm-socl{padding:4px 12px!important;border-radius:var(--r-md)!important;border:1px solid var(--line)!important;background:var(--surface)!important}
html[data-theme] body.ct .hm-socl .sml{display:grid!important;grid-template-columns:16px minmax(0,1fr) auto 56px!important;gap:8px;align-items:center;padding:10px 0!important;border-top:1px solid var(--line)!important;background:none!important;text-decoration:none!important;border-left:0!important;margin:0!important}
html[data-theme] body.ct .hm-socl .sml:first-child{border-top:0!important}
html[data-theme] body.ct .hm-socl .sml.cnew{background:none!important}
html[data-theme] body.ct .hm-socl .smt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme] body.ct .hm-socl .smt b{font:600 14px/20px var(--f-body);color:var(--ink)}
html[data-theme] body.ct .hm-socl .smt span{display:inline!important;font:400 13px/20px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .hm-socl .smm{font:400 12px/1 var(--f-body);color:var(--ink-3);white-space:nowrap}
html[data-theme] body.ct .hm-socl .smm b{font-weight:500;color:var(--ink-2)}
html[data-theme] body.ct .hm-socl .smm i{display:none!important}
html[data-theme] body.ct .hm-socl .smm b::after{content:" mentions";font-weight:400;color:var(--ink-3)}
html[data-theme] body.ct .hm-socl .smc{display:block!important;text-align:right;font:600 13px/1 var(--f-body)}
html[data-theme] body.ct .hm-socl .smr{font:500 12px/1 var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .hm-cred{margin:8px 0 0;font:400 12px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .hm-cred a{color:var(--ink-3)!important}
html[data-theme] body.ct .hm-newsp .sech{align-items:baseline}
html[data-theme] body.ct .news.empty{padding:16px;border:1px dashed var(--line-2);border-radius:var(--r-md);text-align:center}

/* explore */
html[data-theme] body.ct .xgrid{display:grid;gap:24px}
html[data-theme] body.ct h2.xg-h{margin:0 0 8px!important;font:600 11px/16px var(--f-body)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--ink-3)!important}
html[data-theme] body.ct .hint{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border-radius:50%;border:1px solid var(--line-2);color:var(--ink-3);font:600 10px/1 var(--f-body);vertical-align:1px;cursor:help}

/* about */
html[data-theme] body.ct .hiw-static{margin:0 0 24px!important}
html[data-theme] body.ct h2.ab-h{margin:24px 0 12px!important}
html[data-theme] body.ct details.fold{margin:0 0 8px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;background:var(--surface)!important;box-shadow:none!important}
html[data-theme] body.ct details.fold>summary{list-style:none;cursor:pointer;padding:14px 16px;font:600 15px/20px var(--f-head);color:var(--ink);display:flex;justify-content:space-between;align-items:center}
html[data-theme] body.ct details.fold>summary::-webkit-details-marker{display:none}
html[data-theme] body.ct details.fold>summary::after{content:"";width:8px;height:8px;border-right:1.75px solid var(--ink-3);border-bottom:1.75px solid var(--ink-3);transform:rotate(45deg);margin:-4px 4px 0 12px;transition:transform .2s}
html[data-theme] body.ct details.fold[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
html[data-theme] body.ct details.fold>p{margin:0;padding:0 16px 16px;font:400 14px/21px var(--f-body);color:var(--ink-2)}

/* funds follow */
html[data-theme] body.ct .ffol.on{background:transparent!important;color:var(--accent-ink)!important;border:1px solid var(--new-edge)!important}

/* footer */
html[data-theme] body.ct .cx-foot p{margin:8px 0 12px;font:400 12px/18px var(--f-body);color:var(--ink-3);max-width:72ch}

/* bottom nav: 5 tabs */
html[data-theme] body.ct nav.bottom.cx a{flex:1 1 0;min-width:0;font-size:11px!important}

@media (min-width:900px){
 html[data-theme] body.ct .hx{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center;margin:32px 0 16px}
 html[data-theme] body.ct h1.hx-h{font-size:40px!important;line-height:46px!important}
 html[data-theme] body.ct .hx-sub{font-size:16px;line-height:24px}
 html[data-theme] body.ct .hx-svg{height:190px}
 html[data-theme] body.ct .hiw-steps{grid-template-columns:repeat(3,1fr);gap:24px}
 html[data-theme] body.ct .xgrid{grid-template-columns:1fr 1fr;gap:24px 32px}
}
@media (min-width:1100px){
 html[data-theme] body.ct.pg-home main.wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:32px;align-items:start;grid-auto-flow:row dense}
 html[data-theme] body.ct.pg-home main.wrap>*{grid-column:1/-1;min-width:0}
 html[data-theme] body.ct.pg-home main.wrap>.hm-newsp{grid-column:1;grid-row:span 2}
 html[data-theme] body.ct.pg-home main.wrap>.hm-social{grid-column:2;position:sticky;top:80px}
 html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 html[data-theme] body.ct.pg-home main.wrap>.dhb{justify-self:start}
}
html[data-theme] body.ct .hx-cta a.btn.hx-sec{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line-2)!important}
html[data-theme] body.ct .hx-cta a.btn.hx-pri{background:var(--accent)!important;color:var(--on-accent)!important}
html[data-theme] body.ct .hx-tabs button{border-radius:var(--r-pill)!important}
html[data-theme] body.ct .hiw-n{border-radius:50%!important}
html[data-theme] body.ct .hx-more,html[data-theme] body.ct .hiw-steps a,html[data-theme] body.ct .sech>a{text-decoration:none!important}
html[data-theme] body.ct .hx-more:hover,html[data-theme] body.ct .hiw-steps a:hover{text-decoration:underline!important}

/* =====================================================================
   Restrained color (approved Oct 20): cyan = primary action + active-tab dot + key numbers (home hero stats: #3EC8C9 in dark, deeper #1A9FA0 in light for 3.2:1 on white; Oct 20).
   Labels, links, inactive tabs, chips, captions = grays. Seafoam = newest item in a list (one). Green/red = gains/losses only.
   ===================================================================== */
html[data-theme] body.ct .cat,html[data-theme] body.ct .tmeta .cat,html[data-theme] body.ct [class*="s-"].cat,html[data-theme] body.ct .cx-eyebrow,html[data-theme] body.ct .hx-eye,html[data-theme] body.ct .isec,html[data-theme] body.ct .lbl{color:var(--ink-3)!important;background:none!important;border-color:var(--line-2)!important}
html[data-theme] body.ct .cat::before{display:none!important}
html[data-theme] body.ct main a:not([class]),html[data-theme] body.ct .sech>a,html[data-theme] body.ct .mvtop a,html[data-theme] body.ct .hx-more,html[data-theme] body.ct .hiw-steps a{color:var(--ink-2)!important}
html[data-theme] body.ct .hx-n{color:var(--key)!important}
html[data-theme] body.ct .hiw-n{background:var(--surface-2)!important;border-color:var(--line-2)!important;color:var(--ink)!important}
html[data-theme] body.ct .hx-tag.hx-live{background:var(--surface-2)!important;border-color:var(--line-2)!important;color:var(--ink)!important}
html[data-theme] body.ct .hx-tag.hx-live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--up);margin-right:4px;vertical-align:1px}
/* active tab = white label + small cyan dot (bottom nav and header) */
html[data-theme] body.ct nav.bottom.cx a{position:relative;color:var(--chrome-mute)!important}
html[data-theme] body.ct nav.bottom.cx a.on{color:var(--chrome-ink)!important}
html[data-theme] body.ct nav.bottom.cx a.on::before{content:"";position:absolute;top:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}
html[data-theme] body.ct header .dnav a{position:relative;border:0!important;box-shadow:none!important;background:none!important}
html[data-theme] body.ct header .dnav a.on{color:var(--chrome-ink)!important}
html[data-theme] body.ct header .dnav a.on::after{content:"";position:absolute;left:50%;bottom:12px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent);display:block!important}
/* chips + segmented controls: neutral (selected = ink fill) */
html[data-theme] body.ct .fchip{color:var(--ink-2)!important;background:var(--surface)!important;border:1px solid var(--line-2)!important}
html[data-theme] body.ct .fchip.on{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}
/* seafoam only on the newest item of a news-style list; movers / social / table lists stay neutral */
html[data-theme] body.ct .mvt.cnew,html[data-theme] body.ct .sml.cnew,html[data-theme] body.ct .drow.cnew{background:var(--surface)!important;border-color:var(--line)!important;box-shadow:none!important}
html[data-theme] body.ct .mvt.cnew::before,html[data-theme] body.ct .sml.cnew::before{display:none!important}

html[data-theme] body.ct .ntk{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px}
html[data-theme] body.ct .tkc{font:400 12px/16px var(--f-body);color:var(--ink-3);white-space:nowrap}
html[data-theme] body.ct .tkc b{font-weight:600;color:var(--ink-2)}
html[data-theme] body.ct .hm-cred a,html[data-theme] body.ct .cx-foot .flinks a,html[data-theme] body.ct .pgfine a{text-decoration:none!important;color:var(--ink-3)!important}
html[data-theme] body.ct .cx-foot .flinks a:hover,html[data-theme] body.ct .pgfine a:hover{color:var(--ink)!important}
html[data-theme] body.ct .hm-newsp .acc-news>.news:first-child{background:var(--new)!important;border-color:var(--new-edge)!important}
/* page-level folds + neutral secondary buttons */
html[data-theme] body.ct .ffol{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;box-shadow:none!important}
html[data-theme] body.ct .ffol.on{background:var(--surface-2)!important;color:var(--ink-2)!important}
html[data-theme] body.ct .ffol.on::before{content:"✓ ";}
html[data-theme] body.ct details.sfold{margin:24px 0 0!important}
html[data-theme] body.ct details.sfold .sfold-b{padding:0 16px 16px}
html[data-theme] body.ct details.sfold .sfold-b>h2:first-child{display:none!important}
html[data-theme] body.ct details.sfold .sfold-b .list,html[data-theme] body.ct details.sfold .sfold-b .card{border-left:0!important;border-right:0!important;border-radius:0!important;box-shadow:none!important}
html[data-theme] body.ct h3.fh{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:12px 0;margin:8px 0 0!important;border-top:1px solid var(--line);user-select:none}
html[data-theme] body.ct h3.fh::after{content:"";width:7px;height:7px;border-right:1.75px solid var(--ink-3);border-bottom:1.75px solid var(--ink-3);transform:rotate(45deg);margin:-4px 4px 0 12px;transition:transform .2s}
html[data-theme] body.ct h3.fh[aria-expanded=true]::after{transform:rotate(-135deg);margin-top:4px}
html[data-theme] body.ct .hchip.ok,html[data-theme] body.ct .hchip.warn{color:var(--ink-2)!important;background:var(--surface-2)!important;border-color:var(--line-2)!important}
html[data-theme] body.ct .mvseg{border-color:var(--line-2)!important;background:var(--surface)!important}
html[data-theme] body.ct .mvseg button{background:none!important;color:var(--ink-2)!important;border:0!important}
html[data-theme] body.ct .mvseg button[aria-pressed=true]{background:var(--surface-2)!important;color:var(--ink)!important;font-weight:600!important}
html[data-theme] body.ct a.btn.ghost,html[data-theme] body.ct button.btn.ghost{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;box-shadow:none!important}
html[data-theme] body.ct .mtag.solid,html[data-theme] body.ct .chip.live{background:var(--surface-2)!important;border-color:var(--line-2)!important;color:var(--ink)!important}
html[data-theme] body.ct .ga-steps .n{background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line-2)}
html[data-theme] body.ct .ct-seg button[aria-pressed=true],html[data-theme] body.ct .ct-seg button.on{background:var(--surface-2)!important;color:var(--ink)!important}
html[data-theme] body.ct .ct-pchip{background:var(--surface)!important;color:var(--ink-2)!important;border:1px solid var(--line-2)!important}
html[data-theme] body.ct .ct-pchip.on{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important}
/* header lockup only: X mark slightly smaller relative to the coteau wordmark (drawer/footer/splash/share card unchanged) */
html[data-theme] body.ct header.top .ct-brand .bword .bmark{height:.84em;transform:translateY(.02em)}

/* mark on the left of the wordmark (2026-10-20) */
html[data-theme] body.ct .bword{gap:.26em}

/* =====================================================================
   Compact home (Oct 20 2026, Jason: "best of both worlds"). Phones (<=600px) read like an app dashboard: a short navy
   intro card, the model card, then Top news and Top movers as cards. Desktop keeps the soft-bold website hero, a bit
   tighter, with news beside movers right under it. Same content and order as before; How it works sits below the news.
   ===================================================================== */
html[data-theme] body.ct .hx-sub-s{display:none}
/* modules (cards with a small header + See all) */
html[data-theme] body.ct.pg-home .hm-mod{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;padding:12px 14px!important;margin:12px 0 0!important;min-width:0}
html[data-theme] body.ct.pg-home .hm-mod>.sech,html[data-theme] body.ct.pg-home .hm-mod>.mvtop{margin:0 0 8px!important;padding-top:0!important;display:flex;align-items:center;gap:8px}
html[data-theme] body.ct.pg-home .hm-mod>.sech::before,html[data-theme] body.ct.pg-home .hm-mod>.mvtop::before{display:none!important}
html[data-theme] body.ct.pg-home .hm-mod>.sech h2{font-size:15px!important;line-height:20px!important;margin:0!important}
html[data-theme] body.ct.pg-home .hm-mod>.sech>a{margin-left:auto;font:500 13px/18px var(--f-body)}
html[data-theme] body.ct.pg-home .hm-mod .mvstat{font-size:11px;white-space:nowrap}
/* top news: compact rows inside the card */
html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news{display:block!important;gap:0;margin:0}
html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news>.news{border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:none!important;padding:10px 0!important;margin:0!important;box-shadow:none!important;gap:10px}
html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news>.news:first-child{border-top:0!important;padding-top:4px!important}
html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news>.news:nth-child(n+5){display:none!important}
html[data-theme] body.ct.pg-home .hm-newsp .news .h{font:600 14.5px/20px var(--f-head)!important;margin:0 0 3px!important}
html[data-theme] body.ct.pg-home .hm-newsp .news .m{font-size:12px!important;line-height:16px!important}
html[data-theme] body.ct.pg-home .hm-newsp .news .ntk{display:none!important}
html[data-theme] body.ct.pg-home .hm-newsp .news .lgo{width:28px!important;height:28px!important;flex:none}
/* top movers: gainers / losers switch + filter chips on one scrolling line, then 5 rows */
html[data-theme] body.ct.pg-home .hm-mvctl{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;margin:0 -14px 4px;padding:0 14px 2px}
html[data-theme] body.ct.pg-home .hm-mvctl::-webkit-scrollbar{display:none}
html[data-theme] body.ct.pg-home .hm-gl{display:inline-flex;flex:none;padding:2px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line)}
html[data-theme] body.ct.pg-home .hm-gl button{height:26px;padding:0 12px;border:0;border-radius:var(--r-pill);background:none;color:var(--ink-2);font:500 12.5px/1 var(--f-body);cursor:pointer}
html[data-theme] body.ct.pg-home .hm-gl button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.10)}
html[data-theme] body.ct.pg-home .hm-mvctl .mvchips{display:flex!important;flex:none;gap:6px;margin:0!important;padding:0!important;overflow:visible!important}
html[data-theme] body.ct.pg-home .hm-mvctl .fchip{height:28px!important;padding:0 10px!important;font-size:12px!important;flex:none}
html[data-theme] body.ct.pg-home .mvg.mvlist5{display:block!important;width:auto!important;margin:0!important;overflow:visible!important}
html[data-theme] body.ct.pg-home .mvlist5 .mvt{display:block!important;aspect-ratio:auto!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;min-width:0;width:auto!important;animation:none}
html[data-theme] body.ct.pg-home .mvlist5 .mvt[hidden]{display:none!important}
html[data-theme] body.ct.pg-home .mvlist5 .mvt:not([hidden])~.mvt:not([hidden]){border-top:1px solid var(--line)!important}
html[data-theme] body.ct.pg-home .mvlist5 .mvh,html[data-theme] body.ct.pg-home .mvlist5 .mvw{display:none!important}
html[data-theme] body.ct.pg-home .mvlist5 .mvc{display:grid!important;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:10px;padding:9px 0!important;color:inherit;text-decoration:none!important;border:0!important;background:none!important}
html[data-theme] body.ct.pg-home .mvlist5 .mvct{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:400 12px/18px var(--f-body);color:var(--ink-3)!important}
html[data-theme] body.ct.pg-home .mvlist5 .mvct b{font:600 14px/18px var(--f-body);color:var(--ink)!important;margin-right:4px}
html[data-theme] body.ct.pg-home .mvlist5 .mvcp{font:500 13px/18px var(--f-body)!important;margin:0!important;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}
html[data-theme] body.ct.pg-home .mvlist5 .mvcc{font:600 13px/18px var(--f-body)!important;text-align:right;font-variant-numeric:tabular-nums}
html[data-theme] body.ct.pg-home .mvlist5 .mvcc [data-qtag]{display:block;font:500 10px/12px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct.pg-home .mvlist5 .mvcc [data-qtag][hidden]{display:none}
html[data-theme] body.ct.pg-home .hm-mvnote{margin:6px 0 0;font:400 11px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct.pg-home .hm-movers{margin-top:12px!important}
html[data-theme] body.ct.pg-home .hm-social{margin-top:20px}
html[data-theme] body.ct.pg-home .hm-side>.hm-mod:first-child{margin-top:12px!important}

/* phones: app dashboard */
@media (max-width:600px){
 html[data-theme] body.ct .hx-sub-l{display:none}
 html[data-theme] body.ct .hx-sub-s{display:inline}
 html[data-theme] body.ct.pg-home .hx{background:none!important;padding:0!important;margin:10px 0 0!important;gap:10px!important;color:inherit}
 html[data-theme] body.ct.pg-home .hx::after{display:none!important}
 html[data-theme] body.ct.pg-home .hx-copy{background:var(--grad-hero);border-radius:var(--r-md);padding:14px 14px 12px;color:#F2F4F5;position:relative;overflow:hidden}
 html[data-theme] body.ct.pg-home .hx-copy::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-navfade,var(--grad-brand));opacity:.7}
 html[data-theme] body.ct.pg-home .hx-eye{margin:0 0 6px!important;font-size:10.5px!important;line-height:14px!important}
 html[data-theme] body.ct.pg-home h1.hx-h{font-size:24px!important;line-height:28px!important;margin:0 0 6px!important;max-width:none!important}
 html[data-theme] body.ct.pg-home .hx-sub{font-size:14px!important;line-height:20px!important;margin:0 0 10px!important}
 html[data-theme] body.ct.pg-home .hx-cta{flex-wrap:nowrap;gap:8px}
 html[data-theme] body.ct.pg-home .hx-cta .btn{height:34px!important;padding:0 14px!important;font-size:13.5px!important}
 html[data-theme] body.ct.pg-home .hx .hx-card{box-shadow:none!important;padding:10px 14px 10px!important}
 html[data-theme] body.ct.pg-home .hx-tabs{margin:0 -4px 6px!important}
 html[data-theme] body.ct.pg-home .hx-tabs button{height:28px!important;padding:0 11px!important;font-size:12.5px!important}
 html[data-theme] body.ct.pg-home .hx-stats{gap:20px}
 html[data-theme] body.ct.pg-home .hx-stats>div{display:grid!important;grid-template-columns:auto auto;align-items:baseline;column-gap:5px}
 html[data-theme] body.ct.pg-home .hx-stats .hx-k{grid-column:1/-1}
 html[data-theme] body.ct.pg-home .hx-n{font-size:26px!important;line-height:30px!important}
 html[data-theme] body.ct.pg-home .hx-n2{font-size:19px!important;line-height:30px!important}
 html[data-theme] body.ct.pg-home .hx-svg{height:140px!important;margin:8px 0 2px!important}
 html[data-theme] body.ct.pg-home .hx-lbl{font-size:11px!important;line-height:15px!important;margin-top:4px!important}
 html[data-theme] body.ct.pg-home .hx-tag{min-width:48px;font-size:9.5px!important;line-height:14px!important}
 html[data-theme] body.ct.pg-home .hx-more{margin-top:6px!important;font-size:12.5px!important}
}
/* desktop: website hero, a bit tighter; news beside movers right under it */
@media (min-width:900px){
 html.g2 body.ct.pg-home .hx{padding-top:32px!important;padding-bottom:32px!important;margin-bottom:8px!important}
 html[data-theme] body.ct.pg-home h1.hx-h{font-size:36px!important;line-height:42px!important}
 html[data-theme] body.ct.pg-home .hx-svg{height:170px!important}
}
@media (min-width:1024px){
 html[data-theme] body.ct.pg-home main.wrap>.hm-duo{grid-column:1/-1!important}
 html[data-theme] body.ct.pg-home .hm-duo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}
 html[data-theme] body.ct.pg-home .hm-duo>.hm-mod,html[data-theme] body.ct.pg-home .hm-side>.hm-mod:first-child{margin-top:0!important}
 html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news{display:block!important}
 html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news>.news:nth-child(n+5){display:flex!important}
 html[data-theme] body.ct.pg-home .hm-newsp .list.acc-news>.news:nth-child(n+7){display:none!important}
 html[data-theme] body.ct.pg-home .hm-mod{padding:14px 16px!important}
 html[data-theme] body.ct.pg-home .hm-mvctl{margin:0 0 4px;padding:0 0 2px;flex-wrap:wrap;overflow:visible}
 html[data-theme] body.ct.pg-home .hm-mvctl .mvchips{flex-wrap:wrap}
 html[data-theme] body.ct.pg-home .hm-social{margin-top:16px}
}

/* =====================================================================
   Navy bars (Oct 20, Jason: "both navs should be blue, the darkest of the blue spectrum of the boxes").
   --nav #0A1124 = the darkest clearly-blue stop of the soft-bold hero / intro-card gradient (gradients.css g4:
   #121314 -> #121626 -> #0A1124 -> #1A2D58). Header, desktop nav, phone tab bar and the drawer header, both themes.
   On #0A1124: #F2F4F5 14.5:1, inactive #8B9398 5.1:1, cyan #3EC8C9 7.9:1. --chrome (#121314) stays for non-bar uses.
   ===================================================================== */
html body.ct header.top,html[data-theme] body.ct header.top{background:var(--nav)!important;background-image:none!important}
html body.ct nav.bottom,html[data-theme] body.ct nav.bottom,html body.ct nav.bottom.cx,html[data-theme] body.ct nav.bottom.cx{background:var(--nav)!important;background-image:none!important;border-top:1px solid rgba(62,200,201,.18)!important}
html body.ct aside.drawer .dhead,html[data-theme] body.ct aside.drawer .dhead{background:var(--nav)!important;background-image:none!important}
html[data-theme] body.ct nav.bottom.cx a .cx-n{color:var(--nav)!important}
/* Dark mode only (Oct 20 2026, 10:5x PM): the bars go one step darker, #091022. Light stays #0A1124. */
html[data-theme=dark] body.ct{--nav:#091022}

/* ---- stock logos in mover tiles + social buzz lines ---- */
.mvt .mvc .mvlg{display:none}
html[data-theme] body.ct .smlist .smt{display:flex;align-items:center;gap:0;min-width:0}
html[data-theme] body.ct .smlist .smt .smlg{flex:none;display:inline-flex;margin-right:9px}
html[data-theme] body.ct .smlist .smt b{flex:none;margin-right:6px}
html[data-theme] body.ct .smlist .smt .smnm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme] body.ct .hm-socl .smt .smlg,html[data-theme] body.ct .hm-socl .smt .smlg .lgo{display:inline-flex!important;align-items:center;justify-content:center}
html[data-theme] body.ct .hm-socl .smt .smlg .lgo.mono{color:#fff;font-weight:600;line-height:1}
/* ---- C (between): compact home with richer modules ---- */
html[data-theme] body.ct.pg-home main.wrap>.hv-mv{grid-column:1/-1!important}
html[data-theme] body.ct.pg-home .hv-mv .mvg.hv-cards{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:41%;gap:8px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:4px -14px 0!important;padding:2px 14px 4px!important;scroll-padding:0 14px;width:auto!important;max-width:none!important}
html[data-theme] body.ct.pg-home .hv-cards::-webkit-scrollbar{display:none}
html[data-theme] body.ct.pg-home .hv-cards .mvt{display:block!important;aspect-ratio:auto!important;height:auto!important;min-width:0;scroll-snap-align:start;border:1px solid var(--line)!important;border-radius:var(--r-md)!important;background:var(--surface-2)!important;box-shadow:none!important;animation:none;overflow:hidden}
html[data-theme] body.ct.pg-home .hv-cards .mvt[hidden]{display:none!important}
html[data-theme] body.ct.pg-home .hv-cards .mvt.cnew{border-color:var(--new-edge)!important;background:var(--new)!important}
html[data-theme] body.ct.pg-home .hv-cards .mvh,html[data-theme] body.ct.pg-home .hv-cards .mvw{display:none!important}
html[data-theme] body.ct.pg-home .hv-cards .mvc{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"lg ch" "tk tk" "px px";align-items:center;row-gap:8px;padding:12px!important;color:inherit;text-decoration:none!important;border:0!important;background:none!important}
html[data-theme] body.ct.pg-home .hv-cards .mvc .mvlg{grid-area:lg;display:inline-flex}
html[data-theme] body.ct.pg-home .hv-cards .mvc .mvlg .lgo{width:32px!important;height:32px!important}
html[data-theme] body.ct.pg-home .hv-cards .mvct{grid-area:tk;display:flex;flex-direction:column;gap:1px;min-width:0;white-space:nowrap;overflow:hidden;font:400 12px/16px var(--f-body);color:var(--ink-3)!important}
html[data-theme] body.ct.pg-home .hv-cards .mvct b{font:600 15px/20px var(--f-body);color:var(--ink)!important;letter-spacing:.01em}
html[data-theme] body.ct.pg-home .hv-cards .mvct>span{overflow:hidden;text-overflow:ellipsis}
html[data-theme] body.ct.pg-home .hv-cards .mvcp{grid-area:px;font:600 17px/22px var(--f-body)!important;margin:0!important;font-variant-numeric:tabular-nums;color:var(--ink)}
html[data-theme] body.ct.pg-home .hv-cards .mvcc{grid-area:ch;justify-self:end;display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:var(--r-pill);font:600 12.5px/16px var(--f-body)!important;font-variant-numeric:tabular-nums;background:color-mix(in srgb,currentColor 12%,transparent)}
html[data-theme] body.ct.pg-home .hv-cards .mvcc [data-qtag]{font:500 9.5px/12px var(--f-body);opacity:.75;border:0!important;padding:0!important}
html[data-theme] body.ct.pg-home .hv-cards .mvcc [data-qtag][hidden]{display:none}
/* social buzz inside its module card: rows, logos, mention change back */
html[data-theme] body.ct.pg-home .hv-soc .hm-socl{padding:0!important;border:0!important;background:none!important;border-radius:0!important}
html[data-theme] body.ct.pg-home .hv-soc .smm i{display:inline!important;font:600 11px/1 var(--f-body);font-style:normal;margin-left:6px;min-width:0}
html[data-theme] body.ct.pg-home .hv-soc .smm b::after{content:" mentions"}
html[data-theme] body.ct.pg-home .hv-soc .hm-cred{margin:8px 0 0;font:400 11px/16px var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct.pg-home .hv-soc,html[data-theme] body.ct.pg-home .hv-duo>.hm-newsp{margin-top:12px!important}
@media (min-width:900px){
 html[data-theme] body.ct.pg-home .hv-mv .mvg.hv-cards{grid-auto-columns:calc((100% - 32px)/5);margin:4px 0 0!important;padding:2px 0 4px!important}
 html[data-theme] body.ct.pg-home .hv-mv{margin-top:16px!important}
 html[data-theme] body.ct.pg-home .hv-duo>.hm-mod{margin-top:16px!important}
}
html[data-theme] body.ct.pg-home .hv-cards .mvc{grid-template-columns:32px minmax(0,1fr)!important;column-gap:6px}
html[data-theme] body.ct.pg-home .hv-cards .mvcc{padding:3px 6px;border-radius:999px;font-size:12px!important;gap:3px}
html[data-theme] body.ct.pg-home .hv-duo .hm-newsp .list.acc-news>.news:nth-child(5){display:flex!important}
@media (max-width:600px){html[data-theme] body.ct.pg-home .hv-soc .smt .smnm{display:none!important}}
/* in-between home cards: "<$1" tag sits beside the ticker, name on its own line */
html[data-theme] body.ct.pg-home .hv-cards .mvct{display:block!important}
html[data-theme] body.ct.pg-home .hv-cards .mvct>span{display:block;margin-top:1px}
html[data-theme] body.ct.pg-home .hv-cards .mvct .mvpn{display:inline-block;vertical-align:2px;margin-left:5px;padding:1px 4px;font:600 9.5px/12px var(--f-body);font-style:normal}

/* ---------- Ribbon lockup (Oct 21 2026, Jason approved the all-white M2 ribbon site-wide; the X over "ea" is retired) ----------
   Markup: templates/_brand.html xword() = <span class="bwx"><svg class="brib">…</svg>coteau</span>. The ribbon is 1.12em tall, centred on
   the wordmark line, and sits .28em from the ink of the "c" (c left bearing .027em, ribbon viewBox right pad .004em -> margin .249em).
   Faces use --rb-t/f/s/o/b (top/front/side/fold/back), default white M2; light-page spots switch to the navy ink tones below. */
html body.ct .bword,html body.ct .bwx,.bwx{font-family:"Brand Wordmark","General Sans",system-ui,sans-serif!important;font-weight:600!important}
.bwx{display:inline-flex;align-items:center;letter-spacing:normal!important;font-kerning:normal;font-feature-settings:normal;font-variant-numeric:normal;white-space:nowrap;text-transform:none}
.bwx>svg.brib{display:block;flex:none;height:1.142857em;width:.952381em;margin:0 .18em 0 0;overflow:visible}
html[data-theme] body.ct .bword{align-items:center}
#boot .boot-mk svg.brib{display:block;height:104px;width:86.4px;margin:0}
html[data-theme=light] body.ct .ct-fbrand,html[data-theme=light] body.ct .me-lmark{--rb-t:#1A2D58;--rb-f:#2A3D68;--rb-s:#3E5079;--rb-o:#5D6C8D;--rb-b:#7A87A3;--rb-c:#FFFFFF;--rb-ca:.15}

/* ---------- polish pass (Oct 21 2026): one content column on desktop ----------
   Inner pages: every block (cards, lists, h2s, the footer) sits on the same 820px column as the header, instead of some blocks
   hugging the 1152px wrap's left edge (their own margin shorthands beat the centring rule above). */
@media (min-width:1100px){
 html[data-theme] body.ct:not(.pg-home) main.wrap>*:not(.dhb):not(.ga):not(.ct-landing):not(.hx){margin-left:auto!important;margin-right:auto!important}
 html[data-theme] body.ct:not(.pg-home) main.wrap>.foot{max-width:820px}
}
/* owner "Live" chip: keep its light label on the navy bar (a generic header-link rule was turning it ink-on-navy) */
html[data-theme] body.ct header.top a.ol-live{color:#E8F7F7!important}
html[data-theme] body.ct header.top a.ol-live.ol-off{color:#C9D2DD!important}
/* signed in as owner: Get App + search + bell + Live (+ Owner on desktop) overflowed 390px by ~12px and butted "Watchlist" into
   "Get App" at 1440; the owner already has the app, so drop that CTA from the owner's header */
html[data-owner] body.ct header.top .ct-getapp-top{display:none!important}
/* phones: the small ghost buttons (model hero: Copy this model / Live record / Share) fit on one row instead of orphaning "Share" */
@media (max-width:440px){html[data-theme] body.ct .btn.ghost.sm{padding:0 11px!important;font-size:13px!important;min-height:36px!important;height:auto}}
/* leftover charcoal (#121314 --chrome) surfaces -> the brand navy the header/bottom bar use (--nav: #0A1124 light, #091022 dark) */
html[data-theme] body.ct .ga-hero,html[data-theme] body.ct .ga-bic,html[data-theme=light] body.ct .ga-tabs button[aria-selected=true],
html[data-theme] body.ct .ct-tagstrip,html[data-theme] .ct-dockpop,html[data-theme] .ct-dockpop kbd,
html[data-theme] body.ct .iz .iseg a.on,html[data-theme] body.ct .iz .iseg a.on:visited,html[data-theme] body.ct .iz .mock:before{background-color:var(--nav,#0A1124)!important}
html[data-theme=light] body.ct .ga-tabs button[aria-selected=true]{color:#F2F4F5!important}
/* get-app hero: the wordmark next to the white ribbon is always light (dark mode had it near-invisible, --surface-2 on navy) */
html[data-theme] body.ct .ga-word,html[data-theme] body.ct .ga-word .bwx{color:#F2F4F5!important}
/* charts: lines and gridlines keep their phone weight when the SVG is scaled up on desktop (axis text: app.js chartText) */
html[data-theme] body.ct svg.chart polyline,html[data-theme] body.ct svg.chart line{vector-effect:non-scaling-stroke}
@media (min-width:900px){html[data-theme] body.ct svg.chart polyline{stroke-width:2.2px}}

/* ---------- Wordmark casing switch (Oct 21 2026): <html class="wm-caps"> = COTEAU, General Sans 500 (variable cut), STOCK spacing
   (Jason, Oct 21 3:38 PM: no custom tracking or per-letter kerning; letter-spacing normal, the font's own kerning on), ribbon .22em
   from the ink of the "C" (margin .18em). <html class="wm-lower"> = coteau 600, also stock spacing, gap .28em. Switch: config.BRAND["wordmark_case"]. */
html.wm-caps .bwx,html.wm-caps body.ct .bwx,html.wm-caps body.ct .bword .bwx{font-family:"Brand Wordmark Caps","General Sans",system-ui,sans-serif!important;font-weight:var(--wm-w,500)!important;letter-spacing:normal!important;font-kerning:normal}
html.wm-caps .bwx>svg.brib,html.wm-caps body.ct .bwx>svg.brib{margin-right:.18em}
/* nav: sharp mark pixel-snapped (20x24 = 5 columns of 4 px) and truly centred in the 24px brand box */
html body.ct header.top .bwx>svg.brib{height:24px;width:20px}
html body.ct header.top a.ct-brand{box-sizing:content-box;height:24px}
html.wm-caps #boot .boot-mk svg.brib{margin:0}
html.wm-caps #boot .boot-desk{font-family:"Brand Wordmark Caps","General Sans",system-ui,sans-serif;font-weight:500;font-size:13px;letter-spacing:.32em;padding-left:.32em;margin-top:-1px;color:#F2F4F5}

/* gradients.css */
/* =====================================================================
   "Folded c" blue gradients. Live level = "soft bold": <html class="g1 g2 g3 g4"> (set in base.html).
   g1 subtle / g2 medium / g3 bold are cumulative; g4 softens the bold hero fill, nav line and splash.
   Stops come from logos_v6 concept 1: navy #0E1640 -> #14205A -> azure #2B7FD3 -> cyan #3EC8C9.
   Cyan stays the bright end of every ramp; seafoam stays the newest-item color.
   ===================================================================== */
html body.ct{
 --g-navy-900:#0E1640;--g-navy-800:#14205A;--g-navy-600:#1F4E9A;--g-azure:#2B7FD3;--g-azure-300:#4A9FE3;--g-cyan:#3EC8C9;
 --g-pale-azure:#E1ECFA;--g-azure-night:#172235;
 --grad-brand:linear-gradient(90deg,#14205A 0%,#2B7FD3 55%,#3EC8C9 100%);           /* hairlines, dividers, tab bar */
 --grad-action:linear-gradient(135deg,#4A9FE3 0%,#3EC8C9 100%);                     /* primary buttons: dark text >= 6.2:1 */
 --grad-hero:radial-gradient(120% 140% at 100% 100%,rgba(62,200,201,.12) 0%,rgba(62,200,201,0) 55%),linear-gradient(135deg,#0E1640 0%,#14205A 45%,#1F4E9A 100%); /* white text >= 5.8:1, body #DCE4F2 >= 5.2:1 */
 --grad-edge:linear-gradient(90deg,#14205A 0%,#2B7FD3 70%,#3EC8C9 100%);
 --grad-new:linear-gradient(90deg,#DFEAF0 0%,#E1ECFA 100%);                          /* seafoam -> pale azure */
 --grad-new-edge:#A8C4D0;
}
html[data-theme=dark] body.ct{--grad-new:linear-gradient(90deg,#1A2022 0%,#172235 100%);--grad-new-edge:#3EC8C9}

/* ---------- SUBTLE ---------- */
html.g1 body.ct header.top{box-shadow:none!important;border-bottom:0!important}
html.g1 body.ct header.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad-brand);pointer-events:none}
html.g1 body.ct .hx-cta a.btn.hx-pri,html.g1 body.ct a.ct-getapp,html.g1 body.ct .ct-getapp-top,html.g1 body.ct a.btn.wide,html.g1 body.ct button.btn.wide,html.g1 body.ct .ga-b1{background:var(--grad-action)!important;color:#0B1A1B!important;border:0!important}
html.g1 body.ct .hx-card,html.g1 body.ct .mcard{position:relative;overflow:hidden}
html.g1 body.ct .hx-card::before,html.g1 body.ct .mcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-edge)}

/* ---------- MEDIUM ---------- */
html.g2 body.ct .hx{position:relative;isolation:isolate;padding:24px 16px;margin:0 -16px 8px;background:var(--grad-hero);color:#F2F4F5}
html.g2 body.ct .hx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--grad-brand);opacity:.7}
html.g2 body.ct .hx .hx-eye{color:#C9DCF6!important}
html.g2 body.ct .hx h1.hx-h{color:#FFFFFF!important}
html.g2 body.ct .hx .hx-sub{color:#DCE4F2!important}
html.g2 body.ct .hx .hx-cta a.btn.hx-sec{color:#F2F4F5!important;border-color:rgba(242,244,245,.35)!important}
html.g2 body.ct .hx .hx-card{box-shadow:0 18px 40px rgba(6,10,30,.35)}
html.g2 body.ct .hx-svg .hx-mod{stroke:url(#gStroke)!important}
html.g2 body.ct .hx-svg .hx-area{display:block}
html.g2 body.ct .hx-tag.hx-live{border-color:transparent!important;background:linear-gradient(var(--surface-2),var(--surface-2)) padding-box,var(--grad-edge) border-box!important;border:1px solid transparent!important}
/* active tab: short gradient bar instead of the dot */
html.g2 body.ct nav.bottom.cx a.on::before{width:18px!important;height:3px!important;margin-left:-9px!important;top:0!important;border-radius:0 0 3px 3px!important;background:var(--grad-action)!important}
html.g2 body.ct header .dnav a.on::after{width:20px!important;height:2px!important;margin-left:-10px!important;bottom:10px!important;border-radius:2px!important;background:var(--grad-action)!important}
/* newest item: seafoam blending into pale azure */
html.g2 body.ct .hm-newsp .acc-news>.news:first-child,html.g2 body.ct .cnew:not(.mvt):not(.sml):not(.drow),html.g2 body.ct .topcard.lead{background:var(--grad-new)!important;border-color:var(--grad-new-edge)!important}
/* model page growth chart: azure->cyan line + faint fill (gradients.js adds the defs) */
html.g2 body.ct svg polyline.g-port{stroke:url(#gStroke)!important;stroke-width:2.2!important}
html.g2 body.ct svg polygon.g-area{fill:url(#gFill)}

@media (min-width:900px){
 html.g2 body.ct .hx{margin:0 calc(50% - 50vw) 16px;padding:48px calc(50vw - 50% + 0px);border-radius:0}
}

/* ---------- BOLD ---------- */
html.g3 body.ct .g-mhead{position:relative;isolation:isolate;margin:0 -16px 16px;padding:20px 16px 18px;background:var(--grad-hero);color:#F2F4F5}
html.g3 body.ct .g-mhead h1{color:#FFFFFF!important}
html.g3 body.ct .g-mhead .sub,html.g3 body.ct .g-mhead p{color:#DCE4F2!important}
html.g3[data-theme] body.ct .g-mhead a.cx-back,html.g3 body.ct .g-mhead a.cx-back:visited{color:#C9DCF6!important}
html.g3 body.ct .g-mhead .btn.ghost{color:#F2F4F5!important;border-color:rgba(242,244,245,.35)!important;background:transparent!important}
html.g3 body.ct .g-mhead .mtag{background:rgba(255,255,255,.08)!important;color:#F2F4F5!important;border-color:rgba(255,255,255,.25)!important}
@media (min-width:900px){html.g3 body.ct .g-mhead{margin:0 0 16px!important;max-width:820px;box-sizing:border-box;padding:28px 28px 24px;border-radius:12px}}
html.g3 body.ct .sech,html.g3 body.ct .mvsec .mvtop{position:relative;padding-top:16px!important}
html.g3 body.ct .sech::before,html.g3 body.ct .mvsec .mvtop::before{content:"";position:absolute;left:0;top:0;width:48px;height:2px;border-radius:2px;background:var(--grad-brand)}
html.g3 body.ct .hx .sech::before{display:none}
html.g3 #boot{background:radial-gradient(90% 70% at 70% 80%,rgba(62,200,201,.18),rgba(62,200,201,0) 60%),linear-gradient(160deg,#0E1640 0%,#14205A 50%,#1F4E9A 100%)!important}
html.g3 body.ct .g-mhead,html.g3[data-theme] body.ct .g-mhead{--muted:#C9DCF6;--link:#C9DCF6;--ink-2:#C9DCF6}
html.g3 body.ct .g-mhead a.cx-back{--ink:#C9DCF6} /* beats the long :not() chain in ct-cleanup.css via its token */

/* ---------- BOLD-SOFT (g4): same layout as bold, lighter blue fill; nav line uses the same fade ---------- */
html.g4 body.ct{
 --grad-hero:radial-gradient(90% 120% at 100% 100%,rgba(62,200,201,.06) 0%,rgba(62,200,201,0) 55%),linear-gradient(115deg,#121314 0%,#121626 38%,#15203F 72%,#1A2D58 100%);
 --grad-navfade:linear-gradient(90deg,rgba(20,32,90,0) 0%,#14205A 30%,#2B7FD3 75%,#3EC8C9 100%);
}
html.g4 body.ct header.top::after{background:var(--grad-navfade)!important;height:1px!important;opacity:.9}
html.g4 body.ct .hx::after{background:var(--grad-navfade)!important;opacity:.6}
html.g4 #boot{background:radial-gradient(90% 70% at 70% 80%,rgba(62,200,201,.10),rgba(62,200,201,0) 60%),linear-gradient(160deg,#0A1124 0%,#101E43 55%,#15244B 100%)!important} /* splash starts on the navy bar colour; D1 darker navy (Oct 21 2026; was #172650 55% -> #1A2D58) */

/* accents.css */
/* =====================================================================
   Accent pass (Oct 20 2026). Two cumulative levels behind a class on <html> (base.html):
     acc1 = light touch: cyan labels + active states, gradient top edge on key cards, gradient dividers, cyan links
     acc2 = medium (acc1 + this): gradient-filled active chips/tabs, ramp chart lines + areas, soft cyan-tinted
            featured cards, seafoam back on live tags / step numbers / follow states, gradient bottom-nav indicator
   Switch with one line in base.html: class="... acc1" (light) or "... acc1 acc2" (medium, default).
   Text cyan: #3EC8C9 on dark, #1A9FA0 on light (3.2:1 on white, large/bold text and labels only).
   Gains green / losses red are data and never change here. Loaded after gradients.css.
   ===================================================================== */
html.acc1 body.ct{--acc:#1A9FA0;--acc-tint:rgba(26,159,160,.07);--acc-tint-2:rgba(43,127,211,.05);--acc-edge:rgba(26,159,160,.45)}
html.acc1[data-theme=dark] body.ct{--acc:#3EC8C9;--acc-tint:rgba(62,200,201,.08);--acc-tint-2:rgba(43,127,211,.07);--acc-edge:rgba(62,200,201,.45)}

/* ---------- ACC1: light touch ---------- */
/* section labels / eyebrows */
html.acc1[data-theme] body.ct .hx .hx-eye{color:#3EC8C9!important}
html.acc1[data-theme] body.ct h2.xg-h,html.acc1[data-theme] body.ct .eyebrow,html.acc1[data-theme] body.ct .cx-eyebrow{color:var(--acc)!important}
html.acc1[data-theme] body.ct .mcard .stat .k{color:var(--acc)!important}
/* active states */
html.acc1[data-theme] body.ct .hx-tabs button[aria-selected=true]{color:var(--acc)!important;border-color:var(--acc-edge)!important;background:var(--acc-tint)!important}
html.acc1[data-theme] body.ct .cx-seg a.on,html.acc1[data-theme] body.ct .segc a.on,html.acc1[data-theme] body.ct .tabs a.on{color:var(--acc)!important;box-shadow:inset 0 -2px 0 var(--acc),0 1px 2px rgba(0,0,0,.08)!important}
html.acc1[data-theme] body.ct .fchip.on{background:var(--ink)!important;color:var(--bg)!important;border-color:var(--ink)!important;box-shadow:inset 0 -2px 0 #3EC8C9!important}
html.acc1[data-theme] body.ct .mvseg button[aria-pressed=true]{color:var(--acc)!important}
html.acc1[data-theme] body.ct nav.bottom.cx a.on{color:#F2F4F5!important}
html.acc1[data-theme] body.ct nav.bottom.cx a.on svg{color:#3EC8C9!important}
/* gradient top edge on key cards (hero chart card already has one) */
html.acc1[data-theme] body.ct .mcard,
html.acc1[data-theme] body.ct .card:has(>.chartwrap),html.acc1[data-theme] body.ct .card:has(>.chart),
html.acc1[data-theme] body.ct .card:has(>.tc-h),html.acc1[data-theme] body.ct .shero.card{background:var(--grad-edge) top/100% 2px no-repeat,var(--surface)!important}
/* gradient dividers: section heads (g3 bar, longer), page heads, footer rule */
html.acc1[data-theme] body.ct .sech::before,html.acc1[data-theme] body.ct .mvsec .mvtop::before{width:72px!important;background:var(--grad-navfade,var(--grad-brand))!important}
html.acc1[data-theme] body.ct .pghead{position:relative;padding-bottom:14px}
html.acc1[data-theme] body.ct .pghead::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:2px;border-radius:2px;background:var(--grad-brand)}
html.acc1[data-theme] body.ct .cx-foot{border-top:0!important;position:relative}
html.acc1[data-theme] body.ct .cx-foot::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--grad-navfade,var(--grad-brand));opacity:.8}
/* links: cyan "more" links, cyan hover everywhere in content */
html.acc1[data-theme] body.ct .hx-more,html.acc1[data-theme] body.ct .sech>a,html.acc1[data-theme] body.ct .mvtop a,html.acc1[data-theme] body.ct .hiw-steps a,html.acc1[data-theme] body.ct .more>a,html.acc1[data-theme] body.ct a.more{color:var(--acc)!important}
html.acc1[data-theme] body.ct main a:not(.btn):not(.fchip):hover{color:var(--acc)!important;text-decoration-color:var(--acc)!important}
html.acc1[data-theme] body.ct main a.row:hover .t,html.acc1[data-theme] body.ct main a.mcard:hover h3,html.acc1[data-theme] body.ct main .trow:hover .tt{color:var(--acc)!important}
/* rank ("#1 of 360") cyan in both themes; step numbers cyan */
html.acc1[data-theme] body.ct .wr,html.acc1[data-theme] body.ct .brank{color:var(--acc)!important}
html.acc1[data-theme] body.ct .hiw-n{color:var(--acc)!important;border-color:var(--acc-edge)!important}
/* explore icons pick up the accent */
html.acc1[data-theme] body.ct .trow .ic{color:var(--acc)!important}
/* focus + native controls */
html.acc1[data-theme] body.ct{accent-color:#3EC8C9}
html.acc1[data-theme] body.ct input:focus,html.acc1[data-theme] body.ct select:focus,html.acc1[data-theme] body.ct textarea:focus{border-color:var(--acc)!important;box-shadow:0 0 0 1px var(--acc)!important;outline:none}

/* ---------- ACC2: medium ---------- */
/* gradient-filled active chips / tabs (dark text on the action gradient >= 6.2:1) */
html.acc2[data-theme] body.ct .fchip.on,html.acc2[data-theme] body.ct .ct-pchip.on{background:var(--grad-action)!important;color:#0B1A1B!important;border-color:transparent!important;box-shadow:none!important}
html.acc2[data-theme] body.ct .hx-tabs button[aria-selected=true]{background:var(--grad-action)!important;color:#0B1A1B!important;border-color:transparent!important}
html.acc2[data-theme] body.ct .cx-seg a.on,html.acc2[data-theme] body.ct .segc a.on,html.acc2[data-theme] body.ct .tabs a.on,html.acc2[data-theme] body.ct .ct-seg button.on,html.acc2[data-theme] body.ct .ct-seg button[aria-pressed=true]{background:var(--grad-action)!important;color:#0B1A1B!important;box-shadow:none!important}
html.acc2[data-theme] body.ct .mvseg button[aria-pressed=true]{background:var(--acc-tint)!important;color:var(--acc)!important}
/* sector / category labels in cyan */
html.acc2[data-theme] body.ct .cat,html.acc2[data-theme] body.ct .tmeta .cat,html.acc2[data-theme] body.ct .shero .sx{color:var(--acc)!important}
/* ramp chart lines + areas: stock page chart and price charts that weren't caught by gradients.js */
html.acc2[data-theme] body.ct .hx-svg .hx-mod{stroke-width:2.5!important}
html.acc2[data-theme] body.ct .legend i[style*="3EC8C9"],html.acc2[data-theme] body.ct .legend i[style*="accent"]{background:var(--grad-action)!important}
html.acc2[data-theme] body.ct .bar i{background:linear-gradient(0deg,#2B7FD3,#3EC8C9)!important}
html.acc2[data-theme] body.ct .cmpbar i,html.acc2[data-theme] body.ct .rangebar .rg{background:var(--grad-action)!important}
/* soft cyan-tinted featured cards: first (featured) model card, model page key stats, hero chart card */
html.acc2[data-theme] body.ct .mcard:first-of-type{background:var(--grad-edge) top/100% 2px no-repeat,linear-gradient(135deg,var(--acc-tint) 0%,var(--acc-tint-2) 100%),var(--surface)!important;border-color:var(--acc-edge)!important}
html.acc2[data-theme] body.ct .ct-mstats .stat,html.acc2[data-theme] body.ct .mcard .stat{background:linear-gradient(135deg,var(--acc-tint),transparent 70%),var(--surface)!important}
/* seafoam back where it was: live tags, step numbers, follow-on, health chips */
html.acc2[data-theme] body.ct .chip.live,html.acc2[data-theme] body.ct .mtag.solid{background:var(--new)!important;border-color:var(--new-edge)!important;color:var(--acc)!important}
html.acc2[data-theme] body.ct .hiw-n{background:var(--new)!important;border-color:var(--new-edge)!important}
html.acc2[data-theme] body.ct .ffol.on,html.acc2[data-theme] body.ct .hchip.ok{background:var(--new)!important;border-color:var(--new-edge)!important;color:var(--acc)!important}
html.acc2[data-theme] body.ct .trow .ic{background:var(--new)!important;border-color:var(--new-edge)!important}
/* gradient bottom-nav indicator + cyan label; desktop header underline uses the nav fade */
html.acc2[data-theme] body.ct nav.bottom.cx a.on{color:#3EC8C9!important}
html.acc2[data-theme] body.ct nav.bottom.cx a.on::before{width:28px!important;height:3px!important;margin-left:-14px!important;top:0!important;border-radius:0 0 3px 3px!important;background:var(--grad-action)!important;box-shadow:0 2px 10px rgba(62,200,201,.45)}
html.acc2[data-theme] body.ct header .dnav a.on::after{width:28px!important;margin-left:-14px!important;background:var(--grad-action)!important;box-shadow:0 0 8px rgba(62,200,201,.45)}

/* compact home modules (design.css): gradient top edge (acc1); gradient-filled Gainers/Losers switch (acc2) */
html.acc1[data-theme] body.ct.pg-home .hm-mod{background:var(--grad-edge) top/100% 2px no-repeat,var(--surface)!important}
html.acc1[data-theme] body.ct.pg-home .hm-mod>.sech h2{color:var(--ink)!important}
html.acc1[data-theme] body.ct.pg-home .hm-gl button.on{color:var(--acc)!important}
html.acc2[data-theme] body.ct.pg-home .hm-gl button.on{background:var(--grad-action)!important;color:#0B1A1B!important;box-shadow:none!important}
/* running returns panel (templates/_running.html, Oct 21 2026): live tracked periods vs SPY; dashes when the record is shorter */
.rr{margin:12px 0}.rr .rr-h{display:flex;align-items:center;gap:8px;margin-bottom:2px}.rr .rr-sub{margin-bottom:8px}
.rr table.rr-t{table-layout:fixed}.rr table.rr-t th[scope=col]:first-child{width:28%}
.rr table.rr-t tbody th{text-align:left;font-weight:600;color:var(--ink);padding:7px 4px;border-bottom:1px solid var(--line);font-size:12.5px}
html[data-theme] body.ct #running-returns table.rr-t tbody th{background:transparent!important;color:var(--ink)!important}
.rr table.rr-t tr.rr-na td{color:var(--muted)}.rr table.rr-t tbody tr:last-child th,.rr table.rr-t tbody tr:last-child td{border-bottom:0;font-weight:700}
.rr .rr-foot{margin:8px 0 0;line-height:1.45}
@media (max-width:420px){.rr table.rr-t{font-size:12px}.rr table.rr-t thead th{font-size:11px;padding:6px 2px}.rr table.rr-t td{padding:7px 2px}}

/* sweep.css */
/* =====================================================================
   Quality sweep (Oct 21 2026): legibility + layout fixes, loaded last (base.html, desk too).
   Only overrides; no new components. Targets WCAG AA (4.5:1 body text, 3:1 large) and >= 11px
   labels / >= 12.5px secondary text on phones, 32px+ tap targets.
   ===================================================================== */

/* ---- contrast: muted greys and the light-mode cyan text were under AA ---- */
html body.ct,html[data-theme] body.ct{--ink-3:#61686D}                        /* was #80878C: 3.3:1 on the page -> 5.1:1 */
html[data-theme=dark] body.ct{--ink-3:#8E979C}                                  /* was #7A8388: 4.3:1 on cards -> 6:1 */
html.acc1 body.ct,html.acc1[data-theme=light] body.ct{--acc:#0E7475}            /* cyan text labels: 3.2:1 -> 5.6:1 (fills/edges unchanged) */
html.acc1[data-theme=dark] body.ct{--acc:#3EC8C9}
html[data-theme=dark] body.ct label{color:var(--ink-2)}                         /* form labels were #33383C on #151719 (1.5:1) */
html[data-theme] body.ct .hx .hx-eye{color:var(--acc)!important}
html[data-theme=dark] body.ct .hx .hx-eye{color:#3EC8C9!important}
html[data-theme] body.ct th{color:var(--ink-2)!important}                       /* table headers 3.4:1 -> 7:1 */
html[data-theme] body.ct .so-flag.old{color:var(--warn)!important}
html[data-theme] body.ct .chip.warn{color:var(--warn)!important}

/* ---- tiny type: tags, chips, axis labels, footer ---- */
html[data-theme] body.ct .mtag,html[data-theme] body.ct .chip.live,html[data-theme] body.ct .chip.bt,html[data-theme] body.ct .chip.warn,
html[data-theme] body.ct .hx-tag,html[data-theme] body.ct .ct-psrc{font-size:11px!important;padding:4px 6px!important;letter-spacing:.03em!important}
html[data-theme] body.ct .mtag.solid,html[data-theme] body.ct .chip.live{color:var(--ink)!important}
html[data-theme] body.ct .cg-tk .chip.live{text-decoration:none!important;font:600 12px/1 var(--f-body)!important;padding:8px 10px!important;text-transform:none!important;letter-spacing:0!important;display:inline-flex;min-height:32px;align-items:center}
html[data-theme] body.ct svg .axis,html[data-theme] body.ct text.axis{font-size:10.5px}
html[data-theme] body.ct .cx-foot p{font-size:13px!important;line-height:1.5!important;color:var(--ink-2)!important}
html[data-theme] body.ct .cx-foot .flinks{gap:0 18px}
html[data-theme] body.ct .cx-foot .flinks a{color:var(--ink-2)!important;min-height:36px;display:inline-flex;align-items:center;font-size:13px}
html[data-theme] body.ct .hx-more,html[data-theme] body.ct .sech>a{display:inline-flex;align-items:center;min-height:32px}
html[data-theme] body.ct .cx-dl{font-size:12px!important}
html[data-theme] body.ct .hm-fine,html[data-theme] body.ct .pgfine,html[data-theme] body.ct .inia{font-size:13px!important;line-height:1.5!important}
html[data-theme] body.ct .tiles-label,html[data-theme] body.ct .ct-pbar-l{font-size:13px!important}

/* ---- phone layout: section tabs and short filter rows wrap instead of running off the right edge ---- */
@media (max-width:560px){
 html[data-theme] body.ct .cx-seg{flex-wrap:wrap!important;overflow-x:visible!important;row-gap:2px!important}
 html[data-theme] body.ct .cx-seg a{flex:1 0 auto!important;padding:0 10px!important}
 html[data-theme] body.ct .chipbar:not(:has(>:nth-child(7))){flex-wrap:wrap!important;overflow-x:visible!important;row-gap:8px!important}
 html[data-theme] body.ct .chipbar:not(:has(>:nth-child(7))) a{flex:0 0 auto}
}

/* ---- screener rows: metrics on a full-width line under the name (scanner.css's global .scm column made it one per line) ---- */
html[data-theme] body.ct .scl>.row.scrow{flex-wrap:wrap!important;align-items:flex-start}
html[data-theme] body.ct .scl>.row.scrow>.l{flex:1 1 0;min-width:0}
html[data-theme] body.ct .scl .scrow>.scm{flex:0 0 100%;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:4px 14px!important;overflow:visible!important;font-size:13px;margin:6px 0 0 44px!important;min-width:0;max-width:calc(100% - 44px)}
html[data-theme] body.ct .scl .scrow>.scm>.sx{flex-basis:100%}
html[data-theme] body.ct .scl .scrow>.scm>span{white-space:nowrap}
html[data-theme] body.ct .scl .scm i{color:var(--ink-2)}

/* ---- long lists: progressive "show more" (congress, insiders) ---- */
.sw-more{display:block;width:100%;margin:10px 0 0;min-height:44px;border:1px solid var(--line-2);border-radius:var(--r-sm,8px);background:var(--surface);color:var(--ink);font:600 14px/1 var(--f-body,Inter,sans-serif);cursor:pointer}

/* ---- running returns: compact empty state ---- */
.rr .rr-wait{margin:8px 0 4px;padding:12px;border:1px dashed var(--line-2);border-radius:var(--r-sm,8px);font-size:14px;line-height:1.45;color:var(--ink-2)}
.rr .rr-wait b{color:var(--ink)}
.rr .rr-later{margin:6px 0 0;font-size:13px;color:var(--ink-2)}

/* ---- stock page: grades empty state ---- */
.g-none{margin:0 0 8px;padding:12px;border:1px dashed var(--line-2);border-radius:var(--r-sm,8px);font-size:14px;line-height:1.45;color:var(--ink-2)}

/* ---- grade badges and scanner tags: white text on light-grey / cyan fills was under 3:1 ---- */
html[data-theme=dark] body.ct .grade{color:#0B0C0D}
html[data-theme] body.ct .grade.gD{color:#0B1A1B}
html[data-theme=dark] body.ct .scrs .sq{color:#B9A4F5}
html[data-theme] body.ct .scrs span.sq,html[data-theme] body.ct .sqt{font-size:11px}

/* ---- 13D/13G stake rows: the meta line was clipped mid-link on phones ---- */
html[data-theme] body.ct .stk13 .row div.n{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
/* ---- chart axis labels and the home hero tags ---- */
html[data-theme] body.ct .chart text.axis,html[data-theme] body.ct svg.chart text{font-size:10.5px!important}
html[data-theme] body.ct .hx .hx-tag{font-size:11px!important}
html[data-theme] body.ct .hx .hx-eye{font-size:11.5px!important}
html[data-theme] body.ct .hx .hx-lbl{font-size:12.5px!important}
html[data-theme] body.ct .ct-pstrip .mtag{font-size:10.5px!important;letter-spacing:.01em!important;padding:3px 4px!important;margin-left:0!important}
/* track-record cards are links: no underline on every line */
html[data-theme] body.ct a.card.tcard,html[data-theme] body.ct a.card.tcard *{text-decoration:none!important}
/* scanner method collapsed by default */
.sw-how>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.sw-how>summary::-webkit-details-marker{display:none}
.sw-how>summary::after{content:"Show ▾";font-size:13px;color:var(--acc)}
.sw-how[open]>summary::after{content:"Hide ▴"}

/* beta.css */
/* Beta packaging + scannability layer (Oct 21 2026). Last in the CSS bundle. */
.ct-beta{display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px 2px 7px;border:1px solid rgba(242,244,245,.32);border-radius:999px;font:600 9.5px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,244,245,.78);vertical-align:middle;white-space:nowrap}
.ct-brand{display:inline-flex;align-items:center}
.bt-sheet{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center;background:rgba(6,10,22,.55);padding:0}
.bt-sheet[hidden]{display:none}
.bt-card{width:100%;max-width:520px;background:var(--card,#fff);color:var(--ink,#111);border-radius:20px 20px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 40px rgba(0,0,0,.25)}
@media (min-width:700px){.bt-sheet{align-items:center}.bt-card{border-radius:18px}}
.bt-card h2{margin:4px 0 10px;font-size:21px;line-height:1.25}
.bt-tag{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--chip,#E8EEF3);font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2,#3A4552)}
.bt-list{margin:0 0 18px;padding:0;list-style:none}
.bt-list li{margin:0 0 10px;font-size:15.5px;line-height:1.45;color:var(--ink-2,#2C3540)}
.bt-sub{margin:0 0 12px;font-size:15px;line-height:1.45;color:var(--ink-2,#3A4552)}
.bt-card textarea{width:100%;box-sizing:border-box;min-height:120px;padding:12px;border:1px solid var(--line,#CBD3DC);border-radius:12px;font:16px/1.4 Inter,system-ui,sans-serif;background:var(--bg,#fff);color:inherit;resize:vertical}
.bt-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.bt-btns{display:flex;gap:8px;margin-left:auto}
.bt-msg{font-size:14px;color:var(--ink-2,#3A4552)}
.bt-ver{display:block;margin-top:10px;font-size:13px;color:var(--ink-3,#5B6673)}
/* tap-to-explain */
.ix{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:4px;padding:0;border:1px solid currentColor;border-radius:50%;background:none;color:var(--ink-3,#5B6673);font:600 11px/1 Georgia,serif;font-style:italic;vertical-align:1px;cursor:pointer;opacity:.85}
.ix::before{content:"";position:absolute;width:40px;height:40px}
.ix{position:relative}
.bt-pop{position:absolute;z-index:9100;max-width:280px;padding:11px 13px;border-radius:12px;background:#0F1A36;color:#F2F4F5;font:14px/1.45 Inter,system-ui,sans-serif;box-shadow:0 8px 28px rgba(0,0,0,.3)}
.bt-pop b{display:block;margin-bottom:3px;font-weight:600}
/* one-line plain-English subtitle under a screen title + one-line data takeaway */
.ct-sub{margin:4px 0 12px;max-width:62ch;font-size:15px;line-height:1.45;color:var(--ink-2,#3A4552)}
.hero .ct-sub,.ct-dark .ct-sub{color:rgba(242,244,245,.82)}
.ct-take{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin:0 0 14px;font-size:15px;line-height:1.4;color:var(--ink,#111)}
.ct-take b{font-variant-numeric:tabular-nums}
.ct-up{color:var(--up,#0E7A3E)}.ct-dn{color:var(--dn,#B42318)}
html[data-theme=dark] .ct-up{color:#3DD68C}html[data-theme=dark] .ct-dn{color:#FF7A6E}
/* summary card (home + Desk) */
.td-card{margin:0 0 16px;padding:16px 16px 12px;border-radius:16px;background:var(--card,#fff);border:1px solid var(--line,#E1E6EB)}
.td-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 10px}
.td-h h2{margin:0;font-size:17px}
.td-asof{font-size:13px;color:var(--ink-3,#5B6673);text-align:right}
.td-idx{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0 0 10px}
.td-i{padding:10px 12px;border-radius:12px;background:var(--bg2,#F3F5F7)}
.td-i span{display:block;font-size:13px;color:var(--ink-3,#5B6673)}
.td-i b{display:block;font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums}
.td-list{margin:0;padding:0;list-style:none}
.td-list li{border-top:1px solid var(--line,#E7EBEF)}
.td-list a{display:flex;justify-content:space-between;gap:10px;padding:11px 0;color:inherit;text-decoration:none;font-size:15px;line-height:1.4}
.td-list a::after{content:"›";color:var(--ink-3,#5B6673);font-size:18px;line-height:1}
html[data-theme=dark] .td-card,html[data-theme=dark] .bt-card{background:#15171A;border-color:#2A2E33;color:#ECEEF0}
html[data-theme=dark] .td-i{background:#1E2125}
html[data-theme=dark] .bt-list li,html[data-theme=dark] .bt-sub,html[data-theme=dark] .ct-sub{color:#C9CED4}
html[data-theme=dark] .td-asof,html[data-theme=dark] .td-i span,html[data-theme=dark] .bt-ver{color:#A3AAB2}
/* monogram for a missing logo */
.ct-mono{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#E6ECF2;color:#2C3A4B;font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.02em}
html[data-theme=dark] .ct-mono{background:#2A3038;color:#D8DEE5}

/* no-advice lines: quiet, legible (13px, AA gray), never boxed */
.ct-nfa{margin:6px 0 12px;font-size:13px;line-height:1.4;color:var(--ink-3,#5B6673)}
.ct-nfa a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.ct-nfa a:hover{border-bottom-color:currentColor}
.cx-foot .ct-nfa-full{font-size:13px;line-height:1.45;color:var(--ink-2,#3A4552);margin:8px 0 6px}
html[data-theme=dark] .ct-nfa{color:#A3AAB2}html[data-theme=dark] .cx-foot .ct-nfa-full{color:#C9CED4}
.bt-list li.bt-fine{font-size:13px;line-height:1.45;color:var(--ink-3,#5B6673)}html[data-theme=dark] .bt-list li.bt-fine{color:#A3AAB2}
.bt-disc{max-height:86vh;overflow:auto}.bt-disc p{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ink-2,#3A4552)}
.bt-disc .bt-src{color:var(--ink,#111)}.bt-disc .bt-row a{font-size:14px}
html[data-theme=dark] .bt-disc p{color:#C9CED4}html[data-theme=dark] .bt-disc .bt-src{color:#ECEEF0}

/* ---- Modern finish (Oct 21 2026 beta): shared tokens so public, Desk, owner editor and Access pages match. ----
   One place: --ct-r (card radius), --ct-r-s (controls), --ct-line (hairline), --ct-fill (input fill), --ct-focus (cyan ring),
   --ct-shadow (soft card shadow). The owner editor (constructor branch) should use these same tokens and .ct-mono. */
:root{--ct-r:16px;--ct-r-s:10px;--ct-line:rgba(15,26,54,.10);--ct-line-2:rgba(15,26,54,.16);--ct-fill:#F1F4F7;--ct-fill-h:#EAEEF2;
 --ct-focus:0 0 0 3px rgba(62,200,201,.38);--ct-shadow:0 1px 2px rgba(15,26,54,.04),0 4px 14px rgba(15,26,54,.05);--ct-accent:#1F8F95}
html[data-theme=dark]{--ct-line:rgba(255,255,255,.09);--ct-line-2:rgba(255,255,255,.15);--ct-fill:#1C1F23;--ct-fill-h:#23272C;--ct-shadow:none;--ct-accent:#3EC8C9}
/* inputs: filled, hairline, cyan focus ring; no thick dark outlines */
body.ct input[type=text],body.ct input[type=search],body.ct input[type=email],body.ct input[type=number],body.ct input[type=password],body.ct input[type=date],body.ct input:not([type]),body.ct textarea,body.ct select{
 background-color:var(--ct-fill);border:1px solid var(--ct-line);border-radius:var(--ct-r-s);color:var(--ink);box-shadow:none;outline:none;font:inherit;font-size:16px;min-height:42px;padding:0 12px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background-color .15s}
body.ct textarea{padding:10px 12px;min-height:96px}
body.ct input:hover,body.ct textarea:hover,body.ct select:hover{background-color:var(--ct-fill-h)}
body.ct input:focus,body.ct textarea:focus,body.ct select:focus,body.ct input:focus-visible,body.ct select:focus-visible{border-color:var(--ct-accent);box-shadow:var(--ct-focus);background-color:var(--card,#fff)}
html[data-theme=dark] body.ct input:focus,html[data-theme=dark] body.ct textarea:focus,html[data-theme=dark] body.ct select:focus{background-color:#15171A}
/* custom select (no gray native dropdown) */
body.ct select{-webkit-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235B6673' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
/* checkboxes / radios: brand accent, not OS gray */
body.ct input[type=checkbox],body.ct input[type=radio]{accent-color:var(--ct-accent)}
/* header search keeps its own compact look */
body.ct header.top .search input{min-height:36px;font-size:15px}
/* cards: hairline + very soft shadow, 16px radius; nested boxes lose their frame */
body.ct .card,body.ct .so-card,body.ct .td-card{border:1px solid var(--ct-line);border-radius:var(--ct-r);box-shadow:var(--ct-shadow)}
body.ct .card .card,body.ct .card .stat,body.ct .so-card .card{border:0;box-shadow:none;background:transparent}
body.ct .stat{border:1px solid var(--ct-line);border-radius:12px;box-shadow:none}
/* buttons: one style family */
body.ct .btn{border-radius:var(--ct-r-s);font-weight:600;letter-spacing:0;box-shadow:none}
body.ct .btn.ghost,body.ct .btn.sm.ghost{background:transparent;border:1px solid var(--ct-line-2);color:var(--ink)}
body.ct .btn.ghost:hover{background:var(--ct-fill)}
body.ct .btn:focus-visible,body.ct a:focus-visible,body.ct button:focus-visible{outline:none;box-shadow:var(--ct-focus)}
body.ct .iconbtn{background:transparent;border:0;border-radius:10px}
/* headings 600, section labels small caps gray */
body.ct main h1{font-weight:600;letter-spacing:-.01em}
body.ct main h2{font-weight:600}
body.ct .ct-lbl{margin:22px 0 8px;font:600 12.5px/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3,#5B6673)}
/* numbers: tabular, aligned */
body.ct .v,body.ct .price,body.ct .chg,body.ct td,body.ct .r,body.ct .hx-n,body.ct .td-i b,body.ct .rt .v{font-variant-numeric:tabular-nums}
body.ct table td:not(:first-child),body.ct table th:not(:first-child){text-align:right}
/* tables: thinner rules */
body.ct table{border-collapse:collapse}body.ct table td,body.ct table th{border-bottom:1px solid var(--ct-line)}
/* neutral monogram for tickers without a logo (shared with the owner editor) */
body.ct .lgo.ct-mono,.ct-mono{background:#E6ECF2!important;color:#2C3A4B!important;border:0;border-radius:8px;font-weight:600;letter-spacing:.02em}
html[data-theme=dark] body.ct .lgo.ct-mono,html[data-theme=dark] .ct-mono{background:#2A3038!important;color:#D8DEE5!important}
/* details folds: calm */
body.ct details>summary{cursor:pointer}
/* disclaimer page */
.ct-legal h2{margin:26px 0 8px;font-size:17px;font-weight:600;scroll-margin-top:80px}
.ct-legal p{max-width:68ch;font-size:15px;line-height:1.6;color:var(--ink-2,#3A4552)}
.ct-jump ol{margin:0 0 8px;padding-left:20px;columns:2 220px;column-gap:24px;font-size:14px;line-height:1.9}
.ct-jump a{color:var(--ink-2,#3A4552);text-decoration:none}.ct-jump a:hover{text-decoration:underline}
html[data-theme=dark] .ct-legal p,html[data-theme=dark] .ct-jump a{color:#C9CED4}
/* hypothetical look-back strip sits below live figures, visibly secondary */
body.ct .ct-pstrip-lb .ct-pcell{background:transparent;border:1px dashed var(--ct-line-2)}
body.ct .ct-pstrip-lb .v{opacity:.85}
body.ct .ct-dates{margin:4px 0 10px}
/* quiet contact line, bottom of the nav menu and More */
body.ct .cx-contact{margin:10px 0 4px;padding:0 4px;font-size:13px;line-height:1.4;color:var(--ink-3,#5B6673)}
body.ct .cx-contact a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--ct-line-2)}
body.ct input[type=checkbox]:not(.sw),body.ct input[type=radio]{width:20px;height:20px;min-height:0;padding:0;margin:0;flex:none}
/* BETA chip: soft filled pill, no outline (modern finish); wins over later bundle files */
html[data-theme] body header .ct-beta{border:0!important;border-radius:999px!important;background:rgba(242,244,245,.12)!important;color:rgba(242,244,245,.8)!important;padding:3px 7px 3px 8px!important}
@media(max-width:430px){html.desk body header .ct-beta{display:none!important}}   /* Desk phones: DESK tag + LIVE pill need the room; BETA stays on the splash + tile */
/* new-since-last-visit: tab dot + row label (subtle) */
nav.bottom a{position:relative}
nav.bottom a .ct-dot{position:absolute;top:6px;left:calc(50% + 9px);width:7px;height:7px;border-radius:50%;background:#3EC8C9;box-shadow:0 0 0 2px var(--chrome,#0A1124)}
.ct-newlbl{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:999px;background:rgba(62,200,201,.14);color:#0E6F73;font:600 11px/1.5 Inter,system-ui,sans-serif;letter-spacing:.02em;vertical-align:1px}
html[data-theme=dark] .ct-newlbl{background:rgba(62,200,201,.18);color:#7FE0E1}
/* Light/Dark (and every .ct-seg): soft filled segmented control, no outline or divider; active = raised white thumb */
html[data-theme][lang] body.ct .ct-seg{display:inline-flex;gap:2px;padding:3px;border:0!important;border-radius:11px!important;background:var(--ct-fill)!important;box-shadow:none!important;overflow:visible}
html[data-theme][lang] body.ct .ct-seg button{border:0!important;border-radius:8px!important;height:32px;min-width:64px;padding:0 14px;background:transparent!important;color:var(--ink-3,#5B6673)!important;font-weight:500;box-shadow:none!important}
html[data-theme][lang] body.ct .ct-seg button+button{border-left:0!important}
html.acc2[data-theme][lang] body.ct .ct-seg button[aria-pressed=true],html.acc2[data-theme][lang] body.ct .ct-seg button.on,html[data-theme][lang] body.ct .ct-seg button[aria-pressed=true]{background:#fff!important;color:var(--ink,#121314)!important;font-weight:600;box-shadow:0 1px 2px rgba(15,26,54,.10),0 1px 6px rgba(15,26,54,.06)!important}
html[data-theme=dark][lang] body.ct .ct-seg{background:#1C1F23!important}
html.acc2[data-theme=dark][lang] body.ct .ct-seg button[aria-pressed=true],html[data-theme=dark][lang] body.ct .ct-seg button[aria-pressed=true]{background:#2E333A!important;color:#F2F4F5!important;box-shadow:none!important}
html[data-theme][lang] body.ct .ct-seg button:focus-visible{outline:none!important;box-shadow:var(--ct-focus)!important}
/* drawer (dark chrome) version */
html[data-theme][lang] body.ct .drawer .ct-seg{background:rgba(255,255,255,.08)!important}
html[data-theme][lang] body.ct .drawer .ct-seg button{color:rgba(242,244,245,.7)!important}
html[data-theme][lang] body.ct .drawer .ct-seg button[aria-pressed=true],html.acc2[data-theme][lang] body.ct .drawer .ct-seg button[aria-pressed=true]{background:rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:none!important}
/* ---- Desktop fit (Oct 21 2026 check at 768/1024/1280/1440/1920) ---- */
@media(min-width:768px){html[data-theme] body.ct .chipbar,html[data-theme] body.ct main .strip{flex-wrap:wrap!important;overflow:visible!important;row-gap:8px;-webkit-mask-image:none!important;mask-image:none!important}}
@media(min-width:900px){
  /* header: 1024 squeezed nav into Get App/search (760px row); give the row the page width and tighten the nav */
  html[data-theme] body.ct header.top .wrap.toprow{max-width:1100px!important;padding:0 24px!important}
  html[data-theme] body.ct header.top .tb{margin-left:auto;flex:none}
  html[data-theme] body.ct header.top .dnav{flex:0 1 auto!important;min-width:0}
  /* horizontal chip scrollers wrap on desktop (no hidden off-card chips) */
  html[data-theme] body.ct .chipbar,html[data-theme] body.ct main .strip{flex-wrap:wrap!important;overflow:visible!important;row-gap:8px;-webkit-mask-image:none!important;mask-image:none!important}
  /* reading width for prose on wide screens */
  html[data-theme] body.ct main p:not(.ct-take):not(.ct-nfa),html[data-theme] body.ct main li{max-width:740px!important}
  html[data-theme] body.ct .card svg.chart{overflow:visible}
}
@media(min-width:900px) and (max-width:1179px){
  html[data-theme] body.ct header.top .dnav{gap:18px!important;margin-left:20px!important}
  html[data-theme] body.ct header.top .ct-getapp-top{display:none!important}   /* still in the menu + footer */
}
@media(min-width:1180px){html[data-theme] body.ct header.top .wrap.toprow{max-width:1200px!important}}
/* ---- Home-entry welcome splash (desktop + phone): full-bleed navy in both themes (Oct 21 2026, Jason) ---- */
html.ct-wel-on,html.ct-wel-on body{overflow:hidden}
html[data-theme] body.ct .ct-wel{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:40px 32px;overflow:auto;
 background:radial-gradient(900px 520px at 50% 0%,rgba(62,200,201,.10),transparent 65%),linear-gradient(160deg,#1A2D58 0%,#15203F 55%,#0F1730 100%);color:#F2F4F5}
.ct-wel[hidden]{display:none!important}
html[data-theme] body.ct .ct-wel .ct-wel-card{position:relative;width:100%;max-width:600px;padding:8px 8px 0;background:transparent;border:0;box-shadow:none;border-radius:0;text-align:center;box-sizing:border-box}
.ct-wel-brand{display:flex;flex-direction:column;align-items:center;gap:16px;margin:0 0 30px}
.ct-wel-mark svg.brib{display:block;width:60px;height:auto}
html[data-theme] body.ct .ct-wel .ct-wel-wm .bwx{font-size:32px;color:#FFFFFF!important}
html[data-theme] body.ct .ct-wel .ct-wel-h{margin:0 0 14px!important;padding:0!important;border:0!important;text-align:center!important;color:#FFFFFF!important;font:600 28px/1.25 "General Sans",Inter,system-ui,sans-serif!important;letter-spacing:-.01em}
html[data-theme] body.ct .ct-wel .ct-wel-h::before,html[data-theme] body.ct .ct-wel .ct-wel-h::after{display:none!important}
html[data-theme] body.ct .ct-wel .ct-wel-p{margin:0 auto 30px;max-width:520px;text-align:center;font:400 16.5px/1.6 Inter,system-ui,sans-serif;color:#C9D3E3}
.ct-wel-short{display:none}
.ct-wel-act{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 30px}
html[data-theme] body.ct .ct-wel .ct-wel-go{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:240px;padding:0 28px;border:0!important;border-radius:12px!important;
 background:linear-gradient(120deg,#3E8FD8,#3EC8C9)!important;color:#06212A!important;font:600 16px/1 Inter,system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 20px rgba(62,200,201,.22)!important}
html[data-theme] body.ct .ct-wel .ct-wel-go:hover{filter:brightness(1.05)}
html[data-theme] body.ct .ct-wel .ct-wel-cont{display:inline-block;padding:12px 18px;background:none!important;border:0!important;box-shadow:none!important;border-radius:8px!important;
 color:#D6DEEA!important;font:500 15px/1.2 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer}
html[data-theme] body.ct .ct-wel .ct-wel-cont:hover{color:#FFFFFF!important;text-decoration:underline;text-underline-offset:3px}
html[data-theme] body.ct .ct-wel .ct-wel-go:focus-visible,html[data-theme] body.ct .ct-wel .ct-wel-cont:focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(62,200,201,.55)!important}
html[data-theme] body.ct .ct-wel .ct-wel-qr{display:flex;align-items:center;gap:18px;justify-content:center;margin:0 auto 26px;padding:14px 18px 14px 14px;max-width:420px;border-radius:16px!important;
 background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-align:left}
.ct-wel-qr img{flex:none;width:116px;height:116px;border-radius:12px;background:#fff;padding:6px;box-sizing:border-box}
.ct-wel-qr div{display:flex;flex-direction:column;gap:4px;font:400 14px/1.45 Inter,system-ui,sans-serif;color:#C9D3E3}
.ct-wel-qr b{font-weight:600;color:#FFFFFF;font-size:15px}
.ct-wel-url{color:#AEBBD0;font-size:13px}
html[data-theme] body.ct .ct-wel .ct-wel-nfa{margin:0;font-size:13px;line-height:1.5;color:#A9B6CB}
html[data-theme] body.ct .ct-wel .ct-wel-nfa a{color:#E3E9F2;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(227,233,242,.5)}
/* phone: lighter, no QR */
html[data-theme] body.ct .ct-wel[data-mode=p]{padding:28px 22px}
.ct-wel[data-mode=p] .ct-wel-qr,.ct-wel[data-mode=p] .ct-wel-long{display:none!important}
html[data-theme] body.ct .ct-wel[data-mode=p] .ct-wel-short{display:block;font-size:16px;margin-bottom:28px}
html[data-theme] body.ct .ct-wel[data-mode=p] .ct-wel-h{font-size:23px!important}
html[data-theme] body.ct .ct-wel[data-mode=p] .ct-wel-wm .bwx{font-size:28px}
.ct-wel[data-mode=p] .ct-wel-mark svg.brib{width:54px}
.ct-wel[data-mode=p] .ct-wel-act{align-items:stretch;margin-bottom:24px}
html[data-theme] body.ct .ct-wel[data-mode=p] .ct-wel-go{width:100%;min-width:0}
html[data-theme] body.ct .ct-wel[data-mode=p] .ct-wel-cont{align-self:center}
@media(max-height:760px){html[data-theme] body.ct .ct-wel{padding:20px}.ct-wel-brand{margin-bottom:20px}html[data-theme] body.ct .ct-wel .ct-wel-p,.ct-wel-act{margin-bottom:20px}html[data-theme] body.ct .ct-wel .ct-wel-qr{margin-bottom:18px}}
@media(max-width:430px){html body header .ct-beta{display:none!important}}   /* phones: header row needs the room (bell clipped at 390); BETA stays on the splash, the app tile and the footer version line */
/* splash links: beat the site link colours/underlines */
html[data-theme][lang] body.ct .ct-wel a.ct-wel-cont,html[data-theme][lang] body.ct .ct-wel a.ct-wel-cont:visited{color:#D6DEEA!important;text-decoration:none!important;border:0!important;background:none!important;box-shadow:none!important}
html[data-theme][lang] body.ct .ct-wel a.ct-wel-cont:hover{color:#FFFFFF!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.6)!important}
html[data-theme][lang] body.ct .ct-wel .ct-wel-nfa a,html[data-theme][lang] body.ct .ct-wel .ct-wel-nfa a:visited{color:#E3E9F2!important;text-decoration:underline!important;text-underline-offset:2px;text-decoration-color:rgba(227,233,242,.5)!important;border:0!important;background:none!important}
html[data-theme][lang] body.ct .ct-wel a.ct-wel-go{color:#06212A!important;text-decoration:none!important}
html[data-theme][lang] body.ct .ct-wel .ct-wel-card:focus{outline:none}
/* splash links + focus, by id: the splash sits inside <main>, where "html body.ct main a:not(...)x8 {color:var(--ink)!important}" outranks class selectors (Oct 21 2026 review) */
#ct-wel a.ct-wel-cont,#ct-wel a.ct-wel-cont:visited{color:rgba(255,255,255,.82)!important;-webkit-text-fill-color:currentColor;text-decoration:none!important;background:none!important;border:0!important;box-shadow:none!important}
#ct-wel a.ct-wel-cont:hover{color:#FFFFFF!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.7)!important}
#ct-wel .ct-wel-nfa a,#ct-wel .ct-wel-nfa a:visited{color:#E8EDF5!important;-webkit-text-fill-color:currentColor;text-decoration:underline!important;text-underline-offset:2px;text-decoration-color:rgba(232,237,245,.55)!important}
#ct-wel .ct-wel-nfa a:hover{color:#FFFFFF!important;text-decoration-color:#FFFFFF!important}
#ct-wel a.ct-wel-go,#ct-wel a.ct-wel-go:visited{color:#06212A!important;-webkit-text-fill-color:currentColor;text-decoration:none!important}
#ct-wel .ct-wel-card,#ct-wel .ct-wel-card:focus{outline:none!important;border-radius:16px!important}
#ct-wel .ct-wel-card:focus-visible{outline:2px solid rgba(62,200,201,.6)!important;outline-offset:6px}
#ct-wel a.ct-wel-cont:focus{outline:none!important}
#ct-wel a.ct-wel-cont:focus-visible,#ct-wel .ct-wel-nfa a:focus-visible{outline:2px solid rgba(62,200,201,.7)!important;outline-offset:3px;border-radius:6px}
#ct-wel a.ct-wel-go:focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(62,200,201,.55)!important}
#ct-wel .ct-wel-card:focus,#ct-wel .ct-wel-card:focus-visible{outline:none!important}   /* the panel only takes programmatic focus (Chrome counts that as focus-visible); links keep their own rings */
/* Desktop action row (Oct 21 2026, Jason: "put the QR on the same line"): Get the app + Continue on the left, thin divider, QR card on the right. Stacks under 760px; phone mode unchanged. */
.ct-wel-row{display:block}
#ct-wel[data-mode=d] .ct-wel-card{max-width:720px!important}
#ct-wel .ct-wel-h{display:block!important;margin-left:auto!important;margin-right:auto!important}
#ct-wel[data-mode=d] .ct-wel-long{max-width:540px!important;margin-left:auto!important;margin-right:auto!important}
#ct-wel[data-mode=d] .ct-wel-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:0;margin:0 auto 34px}
#ct-wel[data-mode=d] .ct-wel-row .ct-wel-act{margin:0;padding-right:36px;align-items:center;gap:4px}
#ct-wel[data-mode=d] .ct-wel-row .ct-wel-qr{margin:0;padding:12px 16px 12px 12px;max-width:340px;gap:16px;border-left:0;position:relative}
#ct-wel[data-mode=d] .ct-wel-row .ct-wel-act{border-right:1px solid rgba(255,255,255,.14);margin-right:36px;align-self:stretch;justify-content:center;display:flex;flex-direction:column}
#ct-wel[data-mode=d] .ct-wel-qr img{width:100px;height:100px}
#ct-wel[data-mode=d] .ct-wel-qr div{font-size:13.5px}
/* Jason 3:25 PM: QR card on the LEFT, Get the app + Continue on the RIGHT, divider between (desktop row only). */
#ct-wel[data-mode=d] .ct-wel-row .ct-wel-qr{order:1}
#ct-wel[data-mode=d] .ct-wel-row .ct-wel-act{order:2;border-right:0!important;border-left:1px solid rgba(255,255,255,.14);margin:0 0 0 36px!important;padding:0 0 0 36px!important}
#ct-wel[data-mode=d] .ct-wel-row .ct-wel-cont{padding:10px 18px 4px}
/* Desktop centred brand (Oct 21 2026, Jason "for both"): mark stacked over COTEAU at the true centre of the viewport, larger; below it a short
   line (wv=a), nothing (wv=b) or Models · News · Tools (wv=c), then the one action row; disclaimer pinned at the bottom. Headline + long intro dropped on desktop. */
.ct-wel-tag{display:none}
html[data-theme] body.ct #ct-wel[data-mode=d]{padding:0}
html[data-theme] body.ct #ct-wel[data-mode=d] .ct-wel-card{max-width:none!important;width:100%;min-height:100vh;padding:0 32px;display:grid;grid-template-rows:1fr auto 1fr;justify-items:center}
#ct-wel[data-mode=d] .ct-wel-card::before{content:"";grid-row:1}
#ct-wel[data-mode=d] .ct-wel-brand{grid-row:2;margin:0;gap:22px}
#ct-wel[data-mode=d] .ct-wel-mark svg.brib{width:96px}
html[data-theme] body.ct #ct-wel[data-mode=d] .ct-wel-wm .bwx{font-size:50px}
#ct-wel[data-mode=d] .ct-wel-low{grid-row:3;align-self:start;padding:30px 0 64px;display:flex;flex-direction:column;align-items:center}
#ct-wel[data-mode=d] .ct-wel-h,#ct-wel[data-mode=d] .ct-wel-long{display:none!important}
html[data-theme] body.ct #ct-wel[data-mode=d][data-wv=a] .ct-wel-tag-a,html[data-theme] body.ct #ct-wel[data-mode=d][data-wv=c] .ct-wel-tag-c{display:block;margin:0 0 34px;text-align:center;font:400 17px/1.4 Inter,system-ui,sans-serif;color:#C9D3E3;letter-spacing:.005em}
html[data-theme] body.ct #ct-wel[data-mode=d][data-wv=c] .ct-wel-tag-c{font:500 13.5px/1.4 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#AEBBD0}
#ct-wel .ct-wel-tag-c i{font-style:normal;padding:0 .7em;color:rgba(174,187,208,.6)}
#ct-wel[data-mode=d][data-wv=b] .ct-wel-low{padding-top:44px}
#ct-wel[data-mode=d] .ct-wel-row{margin:0 auto}
html[data-theme] body.ct #ct-wel[data-mode=d] .ct-wel-nfa{position:absolute;left:0;right:0;bottom:26px;text-align:center;margin:0}
@media(max-height:700px){html[data-theme] body.ct #ct-wel[data-mode=d] .ct-wel-card{grid-template-rows:auto auto auto;align-content:center;padding:28px 32px}
 #ct-wel[data-mode=d] .ct-wel-mark svg.brib{width:72px}html[data-theme] body.ct #ct-wel[data-mode=d] .ct-wel-wm .bwx{font-size:40px}
 #ct-wel[data-mode=d] .ct-wel-low{padding-bottom:20px}html[data-theme] body.ct #ct-wel[data-mode=d] .ct-wel-nfa{position:static;grid-row:4}}
/* Phone centred brand (Oct 21 2026, Jason "for both"): same wv=a|b|c as desktop. Mark over COTEAU at the true centre; line under it;
   full-width Get the app + Continue pinned near the bottom; one short disclaimer line at the very bottom. No headline or paragraph. */
html[data-theme] body.ct #ct-wel[data-mode=p]{padding:0;align-items:stretch}
html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-card{max-width:520px!important;min-height:100vh;min-height:100dvh;padding:0 22px;margin:0 auto;display:grid;grid-template-rows:1fr auto 1fr;justify-items:stretch}
#ct-wel[data-mode=p] .ct-wel-card::before{content:"";grid-row:1}
#ct-wel[data-mode=p] .ct-wel-brand{grid-row:2;margin:0;gap:18px}
#ct-wel[data-mode=p] .ct-wel-mark svg.brib{width:76px}
html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-wm .bwx{font-size:38px}
#ct-wel[data-mode=p] .ct-wel-low{grid-row:3;display:flex;flex-direction:column;justify-content:space-between;padding:24px 0 calc(94px + env(safe-area-inset-bottom))}
#ct-wel[data-mode=p] .ct-wel-h,#ct-wel[data-mode=p] .ct-wel-long,#ct-wel[data-mode=p] .ct-wel-short,#ct-wel[data-mode=p] .ct-wel-nfa-long{display:none!important}
html[data-theme] body.ct #ct-wel[data-mode=p][data-wv=a] .ct-wel-tag-a,html[data-theme] body.ct #ct-wel[data-mode=p][data-wv=c] .ct-wel-tag-c{display:block;margin:0;text-align:center;font:400 15.5px/1.4 Inter,system-ui,sans-serif;color:#C9D3E3}
html[data-theme] body.ct #ct-wel[data-mode=p][data-wv=c] .ct-wel-tag-c{font:500 12.5px/1.4 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#AEBBD0}
#ct-wel[data-mode=p] .ct-wel-row{margin-top:auto}
.ct-wel-pbr{display:none}#ct-wel[data-mode=p] .ct-wel-pbr{display:inline}   /* phones: break after the comma, never mid-phrase */
#ct-wel[data-mode=p] .ct-wel-act{margin:0;gap:4px}
html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-cont{padding:12px 18px 6px}
html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-nfa{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));text-align:center;margin:0;font-size:11.5px;white-space:nowrap}
@media(max-height:600px){html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-card{grid-template-rows:auto auto auto;align-content:center;padding:24px 22px}#ct-wel[data-mode=p] .ct-wel-low{padding-bottom:20px}#ct-wel[data-mode=p] .ct-wel-row{margin-top:28px}html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-nfa{position:static;grid-row:4}}
@media(max-width:760px){#ct-wel[data-mode=d] .ct-wel-row{flex-direction:column;margin-bottom:0}
 #ct-wel[data-mode=d] .ct-wel-row .ct-wel-act{order:0;padding:0!important;margin:0 0 30px!important;border:0!important;align-self:center}
 #ct-wel[data-mode=d] .ct-wel-row .ct-wel-qr{margin:0 auto 26px;max-width:420px}}
/* /get-app, simplified (Oct 21 2026): just the install steps. No status pill, no bottom tab bar, no header Get App, short footer. */
html[lang][data-theme] body.ct.pg-ga a.dhb.dhb-chip,html[lang][data-theme] body.ct.pg-ga nav.bottom,html[lang][data-theme] body.ct.pg-ga .ct-getapp-top{display:none!important}
html body.ct.pg-ga{padding-bottom:0!important}
html body.ct.pg-ga .ga-hero{padding:36px 24px 28px}
html body.ct.pg-ga .ga-what{padding-top:8px}
html body.ct.pg-ga .ga-what summary{cursor:pointer}
html body.ct.pg-ga .cx-foot .ct-fbrand,html body.ct.pg-ga .cx-foot>p:not(.ct-nfa-full),html body.ct.pg-ga .cx-foot .bt-ver,
html body.ct.pg-ga .cx-foot .flinks a[href="/about"],html body.ct.pg-ga .cx-foot .flinks a[href="/status"],html body.ct.pg-ga .cx-foot .flinks a[data-feedback]{display:none!important}
html body.ct.pg-ga .cx-foot{padding-top:18px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
/* Home label on phones: two even lines ("Systematic strategies" / "and equity research"), never an orphan word. */
@media(max-width:480px){html body.ct .hx-eye .hx-eye-2{display:block}}

/* Splash BETA (Oct 21 2026, Jason: "remember it's supposed to say beta"): the launch screen's boot-beta tag, tied under COTEAU (same gap-to-size ratio as #boot: .bwx keeps its taller line box, so margin ~0) on the
   desktop row and phone centred splash. Spaced caps, ~55% white, Inter; COTEAU itself keeps stock spacing (no tracking on .bwx). */
#ct-wel .ct-wel-wm{display:flex;flex-direction:column;align-items:center}
html[data-theme] body.ct #ct-wel .ct-wel-beta{display:block;margin:0;padding-left:.32em;font:500 10.5px/1 "Inter",system-ui,-apple-system,sans-serif!important;letter-spacing:.32em;text-transform:uppercase;color:rgba(242,244,245,.55);-webkit-text-fill-color:currentColor}
html[data-theme] body.ct #ct-wel[data-mode=p] .ct-wel-beta{margin-top:-1px;font-size:10px!important}

/* legibility.css */
/* =====================================================================
   Legibility pass (Oct 21 2026), loaded last. Same brand, palette identity and copy:
   1. Tokens: secondary grey, label teal and up/down text shades reach WCAG AA (4.5:1) on page and card
      backgrounds in light and dark.
   2. Phone (<=640px): no running text under 13px (uppercase tags 12.5px), roomier line-height, tables at
      13-14px, chart axes at ~12px, tap targets >= 40px (hit area grown with padding + negative margin
      where the visual size should stay), segmented tabs wrap instead of running off-screen.
   ===================================================================== */
html[lang][data-theme] body.ct{--ink-3:#5F666B;--up:#0B7340;--down:#B8302A;--faint:var(--ink-3)}
html[lang][data-theme=dark] body.ct{--ink-3:#8F989D;--up:#3DD68C;--down:#FF6B5E}
html.acc1[lang]:not([data-theme=dark]) body.ct{--acc:#0D7071}
/* get-app hero sits on the dark chrome in both themes: keep its greys light */
html[lang][data-theme] body.ct .ga-hero .ga-lede,html[lang][data-theme] body.ct .ga-hero a.ga-b2:not(#_){color:var(--chrome-mute)!important}
/* dark: legacy rules painted text with the border colour (1.5:1) */
html[lang][data-theme=dark] body.ct label,html[lang][data-theme=dark] body.ct .ct-seg button,html[lang][data-theme=dark] body.ct .dnav a,
html[lang][data-theme=dark] body.ct .fchip,html[lang][data-theme=dark] body.ct .cat{color:var(--ink-2)!important}
html[lang][data-theme=dark] body.ct .ct-seg button.on,html[lang][data-theme=dark] body.ct .ct-seg button[aria-pressed=true],html[lang][data-theme=dark] body.ct .fchip.on{color:var(--ink)!important}
/* footer copy used the faint grey */
html[lang][data-theme] body.ct .cx-foot p,html[lang][data-theme] body.ct .pgfine,html[lang][data-theme] body.ct details.small.muted>summary{color:var(--ink-2)!important}
/* chart axis labels (all sizes; the SVG scales, so phone gets the bump below) */
html[lang][data-theme] body.ct svg.chart .axis{fill:var(--ink-2)!important}
/* long names wrap instead of being cut off */
html[lang][data-theme] body.ct span.l>div.n,html[lang][data-theme] body.ct span.lt>span.n{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}

/* desktop floors (phone rules below go further) */
html[lang][data-theme] body.ct .stat .k,html[lang][data-theme] body.ct .rt .k,html[lang][data-theme] body.ct div.s,html[lang][data-theme] body.ct .bar span,
html[lang][data-theme] body.ct .q-lab,html[lang][data-theme] body.ct .rd-for,html[lang][data-theme] body.ct .ct-pcell .k,html[lang][data-theme] body.ct .hx-eye{font-size:12.5px!important}
html[lang][data-theme] body.ct .mtag,html[lang][data-theme] body.ct .hx-tag{font-size:11.5px!important}
html[lang][data-theme] body.ct .chip,html[lang][data-theme] body.ct .eyebrow,html[lang][data-theme] body.ct .sx{font-size:12px!important}

@media (max-width:640px){
 html[lang][data-theme] body.ct main{line-height:1.5}
 /* --- small text floors --- */
 html[lang][data-theme] body.ct .small,html[lang][data-theme] body.ct small,html[lang][data-theme] body.ct .muted.small,html[lang][data-theme] body.ct p.small,
 html[lang][data-theme] body.ct .small p,html[lang][data-theme] body.ct .small a,html[lang][data-theme] body.ct .small b,
 html[lang][data-theme] body.ct .card.flat.small,html[lang][data-theme] body.ct .scd p,html[lang][data-theme] body.ct details.gt .more,
 html[lang][data-theme] body.ct .small>.ct-pv:not(.mtag),html[lang][data-theme] body.ct .ct-rsrc,html[lang][data-theme] body.ct .cklist span{font-size:13.5px!important;line-height:1.5!important}
 html[lang][data-theme] body.ct span.l>div.n,html[lang][data-theme] body.ct span.lt>span.n,html[lang][data-theme] body.ct span.l>span.n{font-size:13.5px!important;line-height:1.4!important}
 html[lang][data-theme] body.ct .stat .k,html[lang][data-theme] body.ct .q .k,html[lang][data-theme] body.ct .rt .k,html[lang][data-theme] body.ct div.s,
 html[lang][data-theme] body.ct .sech-sub,html[lang][data-theme] body.ct .legend .lg,html[lang][data-theme] body.ct .dcfform label,
 html[lang][data-theme] body.ct .sdesc-m,html[lang][data-theme] body.ct .whyin .wh,html[lang][data-theme] body.ct .rd-for,html[lang][data-theme] body.ct .ct-pbar-l,
 html[lang][data-theme] body.ct .tt span,html[lang][data-theme] body.ct .hint,html[lang][data-theme] body.ct .pgfine,html[lang][data-theme] body.ct .q-lab,
 html[lang][data-theme] body.ct .ol-pill span,html[lang][data-theme] body.ct .ol-f span,html[lang][data-theme] body.ct .cx-dl,html[lang][data-theme] body.ct .bar span{font-size:13px!important;line-height:1.45!important}
 html[lang][data-theme] body.ct table th{font-size:13px!important;line-height:1.35!important}
 html[lang][data-theme] body.ct table td{font-size:14px!important;line-height:1.4!important}
 /* uppercase badges, tags and eyebrows: 12.5px, still compact */
 html[lang][data-theme] body.ct .mtag,html[lang][data-theme] body.ct .chip,html[lang][data-theme] body.ct .eyebrow,html[lang][data-theme] body.ct h2.xg-h,
 html[lang][data-theme] body.ct .sx,html[lang][data-theme] body.ct .ol-live span,html[lang][data-theme] body.ct .so-flag{font-size:12.5px!important;line-height:1.3!important}
 html[lang][data-theme] body.ct .mtag{padding:3px 6px!important}
 html[lang][data-theme] body.ct .so-score span{font-size:12.5px!important}
 html[lang][data-theme] body.ct .hx-eye,html[lang][data-theme] body.ct .hx-tag{font-size:12.5px!important}
 html[lang][data-theme] body.ct .hx-k,html[lang][data-theme] body.ct .hx-u,html[lang][data-theme] body.ct .hx-lbl,html[lang][data-theme] body.ct .hm-fine,html[lang][data-theme] body.ct .tiles-label{font-size:13px!important;line-height:1.45!important}
 html[lang][data-theme] body.ct .ct-pcell .k{font-size:13px!important}
 html[lang][data-theme] body.ct .ct-pstrip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 html[lang][data-theme] body.ct .ct-pcell .v{font-size:15px!important}
 /* footer + bottom bar */
 html[lang][data-theme] body.ct .cx-foot p{font-size:13px!important;line-height:1.55!important}
 html[lang][data-theme] body.ct .flinks a{font-size:13.5px!important;min-height:40px;display:inline-flex!important;align-items:center}
 html[lang][data-theme] body.ct .cx-legal a{font-size:13px!important;display:inline-block;padding:12px 2px;margin:-12px 0}
 html[lang][data-theme] body.ct nav.bottom a{font-size:12.5px!important}
 html[lang][data-theme] body.ct a.dhb-chip{font-size:13px!important;min-height:40px;display:inline-flex!important;align-items:center}
 /* chart axes: viewBox is 360 wide, so this renders ~12px on a phone */
 html[lang][data-theme] body.ct svg.chart .axis{font-size:12.5px!important}
 html[lang][data-theme] body.ct .hx-axis span{font-size:12.5px!important}
 /* --- tap targets --- */
 html[lang][data-theme] body.ct .ct-seg button{min-height:40px!important}
 html[lang][data-theme] body.ct a.brand.ct-brand{padding:7px 0!important;margin:-7px 0!important}
 html[lang][data-theme] body.ct a.ct-getapp-top,html[lang][data-theme] body.ct a.ol-live{position:relative}
 html[lang][data-theme] body.ct a.ct-getapp-top::after,html[lang][data-theme] body.ct a.ol-live::after,html[lang][data-theme] body.ct button.itip::after,
 html[lang][data-theme] body.ct a.cx-back::after,html[lang][data-theme] body.ct .sech>a::after{content:"";position:absolute;inset:-8px -4px}
 html[lang][data-theme] body.ct button.itip,html[lang][data-theme] body.ct a.cx-back,html[lang][data-theme] body.ct .sech>a{position:relative}
 html[lang][data-theme] body.ct a.cx-back{display:inline-block;font-size:14px!important;padding:6px 0}
 html[lang][data-theme] body.ct .sech>a{font-size:14px!important}
 html[lang][data-theme] body.ct details>summary{min-height:40px;box-sizing:border-box}
 html[lang][data-theme] body.ct details.small>summary,html[lang][data-theme] body.ct details:not([class])>summary{padding-block:10px!important}
 html[lang][data-theme] body.ct .ct-pchip{min-height:40px!important;min-width:44px;font-size:13.5px!important}
 html[lang][data-theme] body.ct .iconbtn.small{min-height:40px!important;min-width:40px}
 html[lang][data-theme] body.ct .so-row .r-src a{display:inline-block;padding:9px 0;margin:-6px 0}
 html[lang][data-theme] body.ct .hx-tabs button{min-height:40px}
 html[lang][data-theme] body.ct .so-tk a{min-height:38px}
 html[lang][data-theme] body.ct .hiw-steps li div>a{display:inline-block;padding:11px 0;margin:-6px 0 -11px;font-size:14px!important}
 /* segmented tabs: wrap to a second row instead of scrolling links off-screen; 38px + 2px gap = 40px rows */
 html[lang][data-theme] body.ct .cx-seg,html[lang][data-theme] body.ct .segc,html[lang][data-theme] body.ct .tabs{flex-wrap:wrap!important;overflow:visible!important;row-gap:2px!important}
 html[lang][data-theme] body.ct .cx-seg a,html[lang][data-theme] body.ct .segc a,html[lang][data-theme] body.ct .tabs a{flex:1 0 auto!important;height:38px!important;line-height:38px!important;font-size:14px!important;padding:0 10px!important}
 /* switches: grow the label, not the visual switch */
 html[lang][data-theme] body.ct label.srow{min-height:44px;align-items:center}
}

/* rationale.css */
/* Author's per-holding notes (rationale.py, templates/_rationale.html): bottom 'Why these holdings' section on hand-built
   portfolio pages, the small 'Note' jump link in holdings rows, and the stock-page card. Quiet: hairline, muted labels. */
html[data-theme] body.ct .rn-jump{display:inline-block;margin-left:6px;padding:1px 6px;font:500 11px/1.5 var(--f-body);letter-spacing:.02em;color:var(--key)!important;background:transparent;border:1px solid var(--line-2);border-radius:var(--r-pill)!important;cursor:pointer;vertical-align:1px;text-decoration:none}
html[data-theme] body.ct .rn-jump:hover,html[data-theme] body.ct .rn-jump:focus-visible{border-color:var(--accent);outline:none}
html[data-theme] body.ct .rn-sec{margin:28px 0 8px;scroll-margin-top:72px}
html[data-theme] body.ct .rn-eb{font:600 11px/1.3 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 4px}
html[data-theme] body.ct .rn-sec h2{margin:0 0 12px}
html[data-theme] body.ct .rn-list{display:flex;flex-direction:column;gap:10px}
html[data-theme] body.ct .rn-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)!important;padding:14px 16px;scroll-margin-top:80px;transition:border-color .4s,box-shadow .4s}
html[data-theme] body.ct .rn-item.rn-hit{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
html[data-theme] body.ct .rn-hd{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:var(--ink)!important;margin:0 0 8px}
html[data-theme] body.ct .rn-id{display:flex;flex-direction:column;min-width:0;flex:1}
html[data-theme] body.ct .rn-id b{font:600 15px/1.2 var(--f-body)}
html[data-theme] body.ct .rn-id span{font:400 13px/1.3 var(--f-body);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] body.ct .rn-w{font:600 15px/1 var(--f-body);font-variant-numeric:tabular-nums;color:var(--ink)}
html[data-theme] body.ct .rn-tx{margin:0 0 8px;font:400 15.5px/1.5 var(--f-body);color:var(--ink);overflow-wrap:anywhere}
html[data-theme] body.ct .rn-up{font:400 12.5px/1.4 var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .rn-up a{color:var(--key)!important}
html[data-theme] body.ct .rn-disc{margin:12px 0 0;font:400 12.5px/1.4 var(--f-body);color:var(--ink-3)}
html[data-theme] body.ct .rn-card{margin:12px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)!important;padding:14px 16px}
html[data-theme] body.ct .rn-ct{display:block;font:600 16px/1.3 var(--f-body);color:var(--ink)!important;text-decoration:none!important}
html[data-theme] body.ct .rn-cw{font:400 13px/1.4 var(--f-body);color:var(--ink-2);margin:2px 0 10px;font-variant-numeric:tabular-nums}
html[data-theme] body.ct .rn-card .rn-disc{margin-top:8px}

/* quicksub.css */
/* 'Get the market emails' card + footer form (templates/_quicksub.html). Navy header band like the email header,
   white body, filled inputs, cyan focus ring. Light + dark. */
.qs-wrap{margin:28px auto}
html body.ct .qs-card{border-radius:16px!important;overflow:hidden;background:var(--surface,#fff);border:1px solid var(--line,#E3E6E8);box-shadow:0 1px 2px rgba(10,17,36,.04),0 6px 20px rgba(10,17,36,.05);margin:0;scroll-margin-top:80px}
.qs-hd{background:#0A1124;color:#F2F4F5;padding:20px 24px 18px;position:relative}
.qs-hd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#4AA3DF,#3EC8C9)}
html body.ct .qs-hd .qs-eye{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#3EC8C9}
html body.ct .qs-card .qs-hd .qs-h,html[data-theme] body.ct .qs-card .qs-hd h1.qs-h,html[data-theme] body.ct .qs-card .qs-hd h2.qs-h{color:#fff!important;margin:0;font-size:24px;line-height:1.2;font-weight:600;color:#fff;letter-spacing:-.01em}
html body.ct .qs-hd .qs-sub{margin:6px 0 0;font-size:15px;line-height:1.45;color:rgba(242,244,245,.78);max-width:62ch}
.qs-bd{padding:20px 24px 18px}
.qs-form{margin:0}
.qs-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
html body.ct .qs-lab{display:block;font-size:13px;font-weight:600;color:var(--ink-2,#4B5257);margin:0 0 6px;padding:0}
.qs-line{display:flex;gap:10px;align-items:stretch}
html body.ct .qs-em{flex:1 1 auto;min-width:0;height:48px;padding:0 14px;font-size:16px!important;background:#F4F6F9!important;border:1px solid transparent!important;border-radius:12px!important;color:var(--ink,#121314);box-shadow:none!important;outline:0;margin:0}
html body.ct .qs-em:focus{border-color:#3EC8C9!important;box-shadow:0 0 0 3px rgba(62,200,201,.28)!important;background:#fff!important}
html body.ct .qs-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border:0;border-radius:12px!important;background:#0A1124;color:#fff;font:600 15px/1 var(--f-body,Inter,sans-serif);cursor:pointer;text-decoration:none;white-space:nowrap;min-width:120px}
html body.ct .qs-btn:hover{background:#16213f}html body.ct .qs-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(62,200,201,.45)}
html body.ct .qs-btn[disabled]{opacity:.7;cursor:progress}
html body.ct .qs-card [hidden],html body.ct .qs-foot [hidden]{display:none!important}
html body.ct .qs-eds{border:0!important;margin:16px 0 0;padding:0;min-width:0;background:none!important}
html body.ct .qs-eds legend{padding:0;margin:0 0 6px}
.qs-edg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qs-go{display:flex;align-items:center;gap:16px;margin-top:16px}html body.ct .qs-go .qs-fine{margin:0}
html body.ct .qs-row .qs-em{width:100%}
html body.ct .qs-ed{border-radius:12px!important;position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line,#E3E6E8);border-radius:12px;cursor:pointer;background:var(--surface,#fff);min-height:56px}
html body.ct .qs-ed input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.qs-box{border-radius:6px!important;flex:0 0 22px;width:22px;height:22px;border-radius:6px;border:1.5px solid #AEB5BA;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}
.qs-box::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.qs-ed input:checked+.qs-box{background:#0A1124;border-color:#0A1124}.qs-ed input:checked+.qs-box::after{opacity:1}
html body.ct .qs-ed:has(input:checked){border-color:#0A1124!important;background:#F7F9FB}
.qs-ed input:focus-visible+.qs-box{box-shadow:0 0 0 3px rgba(62,200,201,.45)}
.qs-edt{display:flex;flex-direction:column;line-height:1.25;min-width:0}.qs-edt b{font-size:15px;font-weight:600;color:var(--ink,#121314)}.qs-edt span{font-size:13px;color:var(--ink-2,#4B5257);margin-top:2px}
html body.ct .qs-fine{margin:12px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink-3,#6B747B)}
html body.ct .qs-err{margin:10px 0 0;font-size:14px;color:#B42318;font-weight:500}
.qs-in{text-align:left;outline:0}
.qs-check{display:grid;grid-template-columns:auto 1fr;column-gap:14px}.qs-check>*:not(.qs-ic){grid-column:2}
.qs-ic{grid-row:span 4;width:44px;height:44px;border-radius:50%;background:rgba(62,200,201,.14);color:#0E7C7D;display:inline-flex;align-items:center;justify-content:center}.qs-ic svg{width:24px;height:24px}
html body.ct .qs-done-t{margin:0;font-size:19px;font-weight:600;color:var(--ink,#121314);line-height:1.3}
html body.ct .qs-done-s{margin:4px 0 0;font-size:15px;color:var(--ink-2,#4B5257);line-height:1.45}
.qs-in .qs-btn{margin-top:14px}
html body.ct .qs-link{background:none;border:0;padding:0;font:inherit;color:var(--accent-ink,#0E7C7D);text-decoration:underline;cursor:pointer;min-height:0}
html body.ct .qs-dev{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#FFF7E6;color:#5C4400;font-size:13px}
.qs-dev>span:first-child{font-weight:700;margin-right:4px}
/* footer form */
.qs-foot{margin:4px 0 18px;padding:16px 0 18px;border-bottom:1px solid var(--line,#E3E6E8);max-width:560px}
html body.ct .qs-foot-l{display:block;font-size:14px;color:var(--ink-2,#4B5257);margin:0 0 8px}.qs-foot-l b{color:var(--ink,#121314);font-weight:600;margin-right:6px}
html body.ct .qs-foot .qs-em,html body.ct .qs-foot .qs-btn{height:44px}
.qs-foot-ok b{color:var(--ink,#121314)}
/* page states (/email/*) */
.qs-page{max-width:560px;margin:28px auto}
.qs-page .qs-bd p{margin:0 0 10px}
.qs-list{list-style:none;margin:12px 0 4px;padding:0;border-top:1px solid var(--line,#E3E6E8)}
.qs-list li{padding:10px 0;border-bottom:1px solid var(--line,#E3E6E8);font-size:15px}.qs-list li span{color:var(--ink-2,#4B5257)}
.qs-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
html body.ct .qs-btn.qs-ghost{background:transparent;color:var(--ink,#121314);border:1px solid var(--line-2,#CDD2D6)}
@media(max-width:600px){
 .qs-hd{padding:18px 18px 16px}html body.ct .qs-hd .qs-h{font-size:22px}.qs-bd{padding:18px 18px 16px}
 .qs-go{flex-direction:column;align-items:stretch;gap:10px}html body.ct .qs-go .qs-btn,html body.ct .qs-in .qs-btn{width:100%}html body.ct .qs-go .qs-fine{text-align:center}
 .qs-edg{gap:8px}html body.ct .qs-ed{padding:10px 12px;gap:10px}
 .qs-wrap{margin:22px auto}
 .qs-foot .qs-line{flex-direction:row}html body.ct .qs-foot .qs-btn{width:auto;min-width:0;padding:0 16px}
}
@media(max-width:360px){.qs-edg{grid-template-columns:1fr}}
html[data-theme=dark] body.ct .qs-card{background:var(--surface);border-color:var(--line)}
html[data-theme=dark] body.ct .qs-em{background:var(--surface-2,#1A2236)!important;color:var(--ink)}
html[data-theme=dark] body.ct .qs-em:focus{background:var(--surface-2,#1A2236)!important}
html[data-theme=dark] body.ct .qs-btn{background:#3EC8C9;color:#0B1A1B}
html[data-theme=dark] .qs-ed{background:transparent;border-color:var(--line)}
html[data-theme=dark] .qs-box{background:transparent;border-color:var(--ink-3)}
html[data-theme=dark] .qs-ed input:checked+.qs-box{background:#3EC8C9;border-color:#3EC8C9}html[data-theme=dark] .qs-ed input:checked+.qs-box::after{border-color:#0B1A1B}
html[data-theme=dark] .qs-ed:has(input:checked){border-color:#3EC8C9;box-shadow:inset 0 0 0 1px #3EC8C9}
html[data-theme=dark] body.ct .qs-dev{background:rgba(255,200,80,.12);color:#F5D48A}
/* fixes after screenshots: site link styles (color, underline gradient) were hiding text on a.qs-btn; heading size */
html[data-theme] body.ct a.qs-btn,html[data-theme] body.ct a.qs-btn:hover{color:#fff!important;text-decoration:none!important;background-image:none!important;border-bottom:0!important}
html[data-theme] body.ct a.qs-btn.qs-ghost{color:var(--ink,#121314)!important;background:transparent!important}
html[data-theme] body.ct .qs-card .qs-hd .qs-h{font-size:24px!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.01em}
@media(max-width:600px){html[data-theme] body.ct .qs-card .qs-hd .qs-h{font-size:22px!important}}
html body.ct .qs-list li{margin:0!important;padding:10px 0!important}
html body.ct .qs-foot .qs-em{background:#fff!important;border:1px solid var(--line-2,#CDD2D6)!important}
html body.ct .qs-foot-l b{display:inline}
html[data-theme][class] body.ct.ct main .qs-card a.qs-btn.qs-btn,html[data-theme][class] body.ct.ct main .qs-card a.qs-btn.qs-btn:hover{color:#fff!important;-webkit-text-fill-color:#fff}
html[data-theme][class] body.ct.ct main .qs-card a.qs-btn.qs-ghost.qs-ghost,html[data-theme][class] body.ct.ct main .qs-card a.qs-btn.qs-ghost.qs-ghost:hover{color:var(--ink,#121314)!important;-webkit-text-fill-color:currentColor}
html[data-theme=dark][class] body.ct.ct main .qs-card a.qs-btn.qs-btn:not(.qs-ghost){color:#0B1A1B!important;-webkit-text-fill-color:#0B1A1B}
html body.ct .qs-foot .qs-foot-l{font-size:14px!important;line-height:1.45;font-weight:400!important}html body.ct .qs-foot .qs-foot-l b{display:block;font-size:15px!important;margin:0 0 2px}
@media(max-width:600px){html body.ct .qs-acts{flex-direction:column;align-items:stretch}html body.ct .qs-acts .qs-btn{width:100%}html body.ct .qs-acts .qs-link{align-self:center;margin-top:2px}}
/* rel2 review (390px): keep "Morning Brief" / "Market Close" on one line in the two-up picker */
@media(max-width:430px){html body.ct .qs-ed{padding:10px 10px;gap:8px}.qs-edt b{font-size:14px;white-space:nowrap}.qs-edt span{font-size:12.5px}}

/* edit.css */
/* Coteau owner pages (Edit hub, portfolio editor, review, history, Access, site content, Desk sign-in). Oct 21 2026 v2:
   modern finish: filled inputs with hairline/no border + cyan focus ring, one card per step, hairline rows, segmented
   controls instead of native selects, switches instead of checkboxes, navy primary / outline secondary buttons, 8px grid.
   Every rule is scoped to body.ox (owner pages only), so this file is safe in the shared site bundle. Mobile-first (390). */
body.ox{--ox-fill:#F4F6F9;--ox-fill-2:#EBEEF3;--ox-hair:rgba(10,17,36,.08);--ox-hair-2:rgba(10,17,36,.14);--ox-cyan:#3EC8C9;--ox-cyan-ink:#167E80;--ox-cyan-bg:rgba(62,200,201,.12);
 --ox-navy:#0A1124;--ox-muted:#6B747B;--ox-ring:0 0 0 3px rgba(62,200,201,.28);--ox-card:#FFFFFF;--ox-shadow:0 1px 2px rgba(10,17,36,.04),0 4px 16px rgba(10,17,36,.04)}
html[data-theme=dark][lang] body.ox.ox.ct{--ox-fill:#1C1F23;--ox-fill-2:#24282D;--ox-hair:rgba(242,244,245,.08);--ox-hair-2:rgba(242,244,245,.16);--ox-cyan-ink:#7FE0E1;--ox-cyan-bg:rgba(62,200,201,.14);--ox-muted:#9AA2A8;--ox-card:#151719;--ox-shadow:none}
body.ox [hidden]{display:none!important}
body.ox{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}   /* fixed bottom nav never covers the last control */
body.ox.ed-pg{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
body.ox.ed-pg nav.bottom{display:none!important}
body.ox .ed{max-width:1240px;margin:0 auto;padding:8px 0 0}
/* ---------- type ---------- */
body.ox .ed-crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ox-muted);margin:0 0 8px;flex-wrap:wrap}
body.ox .ed-crumbs a{color:var(--ox-muted);text-decoration:none}body.ox .ed-crumbs b{color:var(--ink);font-weight:500;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ox .ed-head h1{font-family:"General Sans",Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.015em;margin:0 0 8px;font-size:28px;line-height:1.15}
body.ox .ed-head .sub{margin:0 0 24px;font-size:15px;line-height:1.5;color:var(--ox-muted);font-weight:400}
body.ox .ed-head .sub a{color:var(--ox-cyan-ink);text-decoration:none;font-weight:500}
body.ox .ed-step{font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ox-cyan-ink);margin:0 0 8px}
body.ox .ed-h{display:flex;align-items:baseline;gap:8px;font-family:"General Sans",Inter,system-ui,sans-serif;font-weight:600;font-size:20px;letter-spacing:-.01em;margin:0 0 8px}
body.ox .ed-h small{font:400 14px Inter,system-ui,sans-serif;color:var(--ox-muted);margin-left:auto}
body.ox .ed-h3{font:600 15px Inter,system-ui,sans-serif;margin:24px 0 8px}body.ox .ed-h3 small{font:400 13px Inter,system-ui,sans-serif;color:var(--ox-muted)}
body.ox .ed-hint{color:var(--ox-muted);font-size:15px;margin:0 0 16px;line-height:1.5}
body.ox .ed-prevlab{font:600 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ox-muted);margin:0 0 12px}
body.ox .small{font-size:14px}
/* ---------- surfaces ---------- */
body.ox .ed-grid{display:flex;flex-direction:column;gap:16px}
body.ox .ed-main,body.ox .ed-side{display:flex;flex-direction:column;gap:16px;min-width:0}
body.ox .ed-card,body.ox .dk.card,body.ox .me-login.card{background:var(--ox-card)!important;border:1px solid var(--ox-hair)!important;border-radius:16px!important;padding:24px 16px!important;box-shadow:var(--ox-shadow)!important;margin:0}
body.ox .ed-banner{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;background:var(--ox-fill);border-radius:12px!important;padding:12px 16px;margin:0 0 16px;font-size:15px}
body.ox .ed-banner-a{display:flex;gap:8px}
body.ox .ed-warn{background:#FFF7E6;color:#6E4A00;border-radius:12px!important;padding:12px 16px;font-size:14px;line-height:1.5;margin:0 0 16px;border:0}
body.ox .ed-err{background:#FDEEEE;color:#8A2323;border-radius:12px!important;padding:12px 16px;font-size:14px;margin:8px 0;border:0}
body.ox .ed-ok{background:#E9F7EF;color:#1E5B33;border-radius:12px!important;padding:16px;font-size:15px;line-height:1.5;border:0}
html[data-theme=dark][lang] body.ox.ox.ct .ed-warn{background:rgba(201,134,26,.14);color:#F0C67A}html[data-theme=dark][lang] body.ox.ox.ct .ed-err{background:rgba(178,59,59,.16);color:#F1A9A9}html[data-theme=dark][lang] body.ox.ox.ct .ed-ok{background:rgba(46,139,87,.16);color:#8FD9AE}
body.ox .ed-empty{color:var(--ox-muted);font-size:15px;text-align:center;padding:24px 8px;background:var(--ox-fill);border-radius:12px!important;margin:8px 0}
/* ---------- inputs: filled, hairline, cyan focus ---------- */
html[data-theme][lang] body.ox.ox.ct input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),html[data-theme][lang] body.ox.ox.ct textarea,html[data-theme][lang] body.ox.ox.ct select{
 background:var(--ox-fill)!important;border:1px solid transparent!important;border-radius:12px!important;color:var(--ink)!important;font:400 16px/1.4 Inter,system-ui,sans-serif!important;box-shadow:none!important;outline:none!important;-webkit-appearance:none;appearance:none;transition:border-color .12s,box-shadow .12s,background .12s}
html[data-theme][lang] body.ox.ox.ct input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):hover,html[data-theme][lang] body.ox.ox.ct textarea:hover{border-color:var(--ox-hair-2)!important}
html[data-theme][lang] body.ox.ox.ct input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,html[data-theme][lang] body.ox.ox.ct textarea:focus,html[data-theme][lang] body.ox.ox.ct select:focus{background:var(--ox-card)!important;border-color:var(--ox-cyan)!important;box-shadow:var(--ox-ring)!important}
html[data-theme][lang] body.ox.ox.ct input::placeholder,html[data-theme][lang] body.ox.ox.ct textarea::placeholder{color:#9AA3AA!important;opacity:1}
body.ox .ed-f{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}body.ox .ed-f>span{font-size:14px;color:var(--ink);font-weight:500}body.ox .ed-f small{font-weight:400;color:var(--ox-muted)}
body.ox .ed-f input,body.ox .ed-f textarea{width:100%;box-sizing:border-box;padding:12px 16px!important}body.ox .ed-f input{min-height:48px}
/* ---------- switches (every checkbox on owner pages) ---------- */
html[data-theme][lang] body.ox.ox.ct input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:0 0 44px;width:44px;height:26px;border-radius:99px!important;background:var(--ox-fill-2)!important;border:1px solid var(--ox-hair-2)!important;position:relative;cursor:pointer;margin:0;transition:background .15s,border-color .15s;box-shadow:none!important}
html[data-theme][lang] body.ox.ox.ct input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%!important;background:#fff;box-shadow:0 1px 3px rgba(10,17,36,.25);transition:left .15s}
html[data-theme][lang] body.ox.ox.ct input[type=checkbox]:checked{background:var(--ox-cyan)!important;border-color:var(--ox-cyan)!important}html[data-theme][lang] body.ox.ox.ct input[type=checkbox]:checked::after{left:20px}
html[data-theme][lang] body.ox.ox.ct input[type=checkbox]:focus-visible{box-shadow:var(--ox-ring)!important}
body.ox .ed-chk,body.ox .ol-chk,body.ox .ox-sw{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:16px;margin:0;padding:12px 0;min-height:48px;border-top:1px solid var(--ox-hair);cursor:pointer}
body.ox .ed-chk input,body.ox .ol-chk input,body.ox .ox-sw input{order:2}
body.ox .ox-sw span{display:flex;flex-direction:column;gap:2px}body.ox .ox-sw b{font-weight:500}body.ox .ox-sw small{font-size:14px;color:var(--ox-muted);line-height:1.4}
/* ---------- buttons ---------- */
html[data-theme][lang] body.ox.ox.ct .btn,html[data-theme][lang] body.ox.ox.ct a.btn,html[data-theme][lang] body.ox.ox.ct button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:auto!important;min-height:44px;padding:0 20px!important;border-radius:12px!important;
 background:var(--ox-navy)!important;color:#fff!important;border:1px solid var(--ox-navy)!important;font:600 15px/1.2 Inter,system-ui,sans-serif!important;box-shadow:none!important;text-decoration:none;cursor:pointer;letter-spacing:0;transition:filter .12s,background .12s}
html[data-theme=dark][lang] body.ox.ox.ct .btn,html[data-theme=dark][lang] body.ox.ox.ct a.btn,html[data-theme=dark][lang] body.ox.ox.ct button.btn{background:var(--ox-cyan)!important;border-color:var(--ox-cyan)!important;color:#0A1124!important}
html[data-theme][lang] body.ox.ox.ct .btn:hover{filter:brightness(1.12)}html[data-theme][lang] body.ox.ox.ct .btn:focus-visible{box-shadow:var(--ox-ring)!important;outline:none}
html[data-theme][lang] body.ox.ox.ct .btn:disabled{opacity:.45;cursor:default;filter:none}
html[data-theme][lang] body.ox.ox.ct a.btn.ghost,html[data-theme][lang] body.ox.ox.ct button.btn.ghost,html[data-theme][lang] body.ox.ox.ct .btn.ghost{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ox-hair-2)!important}
html[data-theme][lang] body.ox.ox.ct .btn.ghost:hover{background:var(--ox-fill)!important;filter:none}
html[data-theme][lang] body.ox.ox.ct .btn.sm,html[data-theme][lang] body.ox.ox.ct a.btn.sm,html[data-theme][lang] body.ox.ox.ct button.btn.sm{min-height:40px!important;padding:0 16px!important;font-size:14px!important}
html[data-theme][lang] body.ox.ox.ct .btn.text{background:transparent!important;border-color:transparent!important;color:var(--ox-cyan-ink)!important;padding:0 8px!important}
html[data-theme][lang] body.ox.ox.ct .ed-danger,html[data-theme][lang] body.ox.ox.ct .btn.ghost.ed-danger{color:#B23B3B!important;border-color:transparent!important;background:transparent!important}
html[data-theme=dark][lang] body.ox.ox.ct .ed-danger{color:#F1A9A9!important}
body.ox .ed-ib{width:40px;height:40px;border-radius:50%!important;border:0;background:transparent;color:var(--ox-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .12s,color .12s}
body.ox .ed-ib:hover{background:var(--ox-fill);color:var(--ink)}body.ox .ed-ib svg{width:18px;height:18px;display:block}
body.ox .ed-ib:focus-visible{box-shadow:var(--ox-ring);outline:none}
/* segmented control */
body.ox .ed-seg{display:inline-flex;gap:4px;padding:4px;background:var(--ox-fill);border-radius:12px!important;border:0;overflow:visible}
body.ox .ed-seg button,body.ox .ed-seg a{border:0;background:transparent;padding:0 12px;min-height:36px;min-width:36px;border-radius:9px!important;font:500 14px/36px Inter,system-ui,sans-serif;color:var(--ox-muted);cursor:pointer;text-decoration:none;white-space:nowrap;text-align:center}
body.ox .ed-seg button.on,body.ox .ed-seg a.on,body.ox .ed-seg button[aria-pressed=true]{background:var(--ox-card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(10,17,36,.1),0 0 0 1px var(--ox-hair)}
/* ---------- search + suggestions ---------- */
body.ox .ed-search{position:relative}
body.ox .ed-search input{width:100%;box-sizing:border-box;min-height:52px;padding:0 16px 0 44px!important;font-size:17px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%239AA3AA' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px 50%!important}
body.ox .ed-sugg{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--ox-card);border:1px solid var(--ox-hair);border-radius:16px!important;z-index:30;overflow:hidden;box-shadow:0 16px 40px rgba(10,17,36,.14);max-height:60vh;overflow-y:auto;padding:4px}
body.ox .ed-sugg button{display:flex;width:100%;gap:12px;align-items:center;background:none;border:0;border-radius:12px!important;padding:8px 12px;min-height:52px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
body.ox .ed-sugg button.on,body.ox .ed-sugg button:hover{background:var(--ox-fill)}
body.ox .ed-sugg button span{color:var(--ox-muted);font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}body.ox .ed-none{padding:16px;color:var(--ox-muted)}
/* monogram / logo */
body.ox .ed-lg{flex:0 0 36px;width:36px;height:36px;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;background:var(--ox-fill-2);color:#2A3442;font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.02em;overflow:hidden;box-shadow:inset 0 0 0 1px var(--ox-hair)}
html[data-theme=dark][lang] body.ox.ox.ct .ed-lg{color:#C9D0D5}
body.ox .ed-lg.has{background:#fff}body.ox .ed-lg img{width:100%;height:100%;object-fit:contain;display:block}
body.ox .ed-lg.cash{color:var(--ox-cyan-ink);background:var(--ox-cyan-bg)}
/* ---------- step 1: names (hairline rows) ---------- */
body.ox .ed-names{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column}
body.ox .ed-name{display:grid;grid-template-columns:24px 36px minmax(0,1fr) 40px 40px;grid-template-areas:"g l n p x" ". . t t t";align-items:center;column-gap:8px;row-gap:8px;background:var(--ox-card);padding:12px 0;border-bottom:1px solid var(--ox-hair);touch-action:pan-y}
body.ox .ed-name:last-child{border-bottom:0}
body.ox .ed-name .ed-grip{grid-area:g}body.ox .ed-name .ed-lg{grid-area:l}body.ox .ed-name .ed-nm{grid-area:n}body.ox .ed-name .ed-theme{grid-area:t}body.ox .ed-name .ed-pin{grid-area:p}body.ox .ed-name .ed-x{grid-area:x}
body.ox .ed-grip{cursor:grab;color:#A9B1B7;display:flex;align-items:center;justify-content:center;user-select:none;touch-action:none;height:40px;border-radius:8px!important}
body.ox .ed-grip svg{width:14px;height:14px}body.ox .ed-grip:focus-visible{box-shadow:var(--ox-ring);outline:none}
body.ox .ed-nm{min-width:0;display:flex;flex-direction:column;gap:2px}body.ox .ed-nm b{font-size:16px;font-weight:600;letter-spacing:.01em}
body.ox .ed-nm span{color:var(--ox-muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme][lang] body.ox.ox.ct input.ed-theme{min-height:40px;font-size:15px!important;padding:0 12px!important;box-sizing:border-box;width:100%}
body.ox .ed-pin.on{color:var(--ox-cyan-ink);background:var(--ox-cyan-bg)}
body.ox .ed-drag{position:fixed;z-index:50;box-shadow:0 16px 40px rgba(10,17,36,.18);pointer-events:none;opacity:.97;border-radius:12px!important;padding-left:8px;padding-right:8px}
body.ox .ed-ph{border-radius:12px!important;list-style:none;background:var(--ox-cyan-bg);margin:4px 0}
body.ox .ed-row-acts{margin-top:16px}
body.ox .ed-grip-i svg{width:12px;height:12px;vertical-align:-1px}body.ox .ed-pin-i svg{width:14px;height:14px;vertical-align:-2px}
/* ---------- step 2: allocations ---------- */
body.ox .ed-alloc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
body.ox .ed-al{display:grid;grid-template-columns:36px minmax(0,1fr) 112px;grid-template-areas:"l n w" "m m m" "msg msg msg" "why why why" "rn rn rn";align-items:center;column-gap:12px;row-gap:8px;padding:12px 0;border-bottom:1px solid var(--ox-hair)}
body.ox .ed-al:last-child{border-bottom:0}body.ox .ed-al .ed-lg{grid-area:l}body.ox .ed-al .ed-nm{grid-area:n}body.ox .ed-al .ed-w{grid-area:w}body.ox .ed-al .ed-meth{grid-area:m}body.ox .ed-al .ed-msg{grid-area:msg}body.ox .ed-al .ed-why{grid-area:why}
body.ox .ed-w{position:relative}
html[data-theme][lang] body.ox.ox.ct .ed-w input{width:100%;box-sizing:border-box;min-height:48px;font:600 18px/1 Inter,system-ui,sans-serif!important;text-align:right;padding:0 32px 0 12px!important;font-variant-numeric:tabular-nums}
body.ox .ed-w em{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--ox-muted);font-size:16px;pointer-events:none}
html[data-theme][lang] body.ox.ox.ct .ed-w input.bad{border-color:#C9861A!important;box-shadow:0 0 0 3px rgba(201,134,26,.2)!important}
body.ox .ed-msg{font-size:14px;color:#8A5A00;background:#FFF7E6;border-radius:10px!important;padding:8px 12px}
body.ox .ed-why{font-size:14px}
/* method weights panel (only when "Method weights" is on) */
body.ox .ed-meth{display:none}
body.ox .ed.ed-mw-on .ed-meth{display:flex;flex-direction:column;gap:8px;background:var(--ox-fill);border-radius:12px!important;padding:12px}
body.ox .ed-mrow{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
body.ox .ed-mlab{display:flex;align-items:center;gap:4px;font:500 14px Inter,system-ui,sans-serif;color:var(--ink)}
body.ox .ed-meth .ed-seg{background:var(--ox-fill-2)}body.ox .ed-meth .ed-seg button{min-height:32px;line-height:32px;min-width:32px;padding:0 10px;font-size:14px}
body.ox .ed-i{width:24px;height:24px;border-radius:50%!important;border:0;background:transparent;color:var(--ox-muted);font:500 15px/24px Inter,system-ui,sans-serif;cursor:pointer;padding:0}
body.ox .ed-i:hover,body.ox .ed-i[aria-expanded=true]{color:var(--ox-cyan-ink);background:var(--ox-cyan-bg)}
body.ox .ed-help{font-size:14px;line-height:1.45;color:var(--ox-muted);margin:0;padding:8px 12px;background:var(--ox-card);border-radius:10px!important}
body.ox .ed-lock-sw{display:flex;align-items:center;gap:8px}
body.ox .ed-helpers{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}
body.ox .ed-helpers .ed-sp{flex:1}
body.ox .ed-mwt{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 8px;border-radius:99px!important;border:1px solid var(--ox-hair-2);background:transparent;color:var(--ink);font:500 14px Inter,system-ui,sans-serif;cursor:pointer}
body.ox .ed-mwt i{width:32px;height:20px;border-radius:99px!important;background:var(--ox-fill-2);position:relative;box-shadow:inset 0 0 0 1px var(--ox-hair-2);transition:background .15s}
body.ox .ed-mwt i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%!important;background:#fff;box-shadow:0 1px 2px rgba(10,17,36,.25);transition:left .15s}
body.ox .ed-mwt[aria-pressed=true] i{background:var(--ox-cyan);box-shadow:none}body.ox .ed-mwt[aria-pressed=true] i::after{left:14px}
body.ox .ed-fold{margin-top:16px;font-size:15px}body.ox .ed-fold summary{cursor:pointer;color:var(--ox-cyan-ink);font-weight:500;list-style:none}body.ox .ed-fold summary::-webkit-details-marker{display:none}
body.ox .ed-fold summary::before{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin:0 10px 2px 2px;transition:transform .15s}
body.ox .ed-fold[open] summary::before{transform:rotate(45deg)}body.ox .ed-fold div{margin-top:8px;line-height:1.55}
/* ---------- step 3: text ---------- */
body.ox .ed-ex{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:16px;padding:0 0 16px;border-bottom:1px solid var(--ox-hair)}
html[data-theme][lang] body.ox.ox.ct .ed-ex .ed-ext{min-height:44px;font-weight:600!important}body.ox .ed-ex .ed-exb{grid-column:1/-1}body.ox .ed-ex input,body.ox .ed-ex textarea{padding:12px!important;box-sizing:border-box;width:100%}
body.ox .ed-exa{display:flex;gap:0;grid-row:1;grid-column:2}
body.ox .ed-noter{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;font-size:14px}body.ox .ed-noter span{color:var(--ox-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.ox .ed-noter b{color:var(--ink);font-weight:600}
html[data-theme][lang] body.ox.ox.ct .ed-noter input{min-height:44px;padding:0 12px!important;box-sizing:border-box;width:100%;font-size:15px!important}
/* ---------- meter (side card) ---------- */
body.ox .ed-mtop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
body.ox .ed-left{font:500 15px Inter,system-ui,sans-serif;color:var(--ox-muted)}body.ox .ed-left b{font:600 32px/1 "General Sans",Inter,system-ui,sans-serif;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
body.ox .ed-tot{font-size:14px;color:var(--ox-muted)}body.ox .ed-tot b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}
body.ox .ed-bar{height:6px;border-radius:99px!important;background:var(--ox-fill-2);overflow:hidden;margin:12px 0 8px}
body.ox .ed-bar i{display:block;height:100%;width:0;border-radius:99px!important;background:var(--ox-cyan);transition:width .18s ease}
body.ox .ed-meter.full .ed-bar i{background:#2E8B57}body.ox .ed-meter.full .ed-left b{color:#2E8B57}
body.ox .ed-mnote{font-size:14px;color:var(--ox-muted)}
/* ---------- preview ---------- */
body.ox .ed-ptitle{font-family:"General Sans",Inter,system-ui,sans-serif;font-weight:600;font-size:22px;margin:0 0 8px;line-height:1.2}
body.ox .ed-pblurb{margin:0 0 16px;font-size:15px;line-height:1.5}
body.ox .ed-pnote{background:var(--ox-fill);border-radius:12px!important;padding:12px 16px;font-size:14px;margin:0 0 16px}
body.ox .ed-plist .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--ox-hair)}
body.ox .ed-plist .l{display:flex;gap:12px;align-items:center;min-width:0}body.ox .ed-plist .lt{display:flex;flex-direction:column;min-width:0}body.ox .ed-plist .t{font-weight:600}
body.ox .ed-plist .n{font-size:14px;color:var(--ox-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.ox .ed-plist .r{text-align:right;flex:0 0 auto;font-variant-numeric:tabular-nums}
body.ox .ed-pwhy{font-size:13px;color:var(--ox-muted);line-height:1.4;white-space:normal}
body.ox .ed-pmore{font-size:14px;color:var(--ox-muted);margin:8px 0}body.ox .ed-pdisc{margin:16px 0 0}
body.ox .ed-bk{display:flex;flex-direction:column;gap:8px}
body.ox .ed-bkr{display:grid;grid-template-columns:minmax(0,1.2fr) 1fr 56px;gap:8px;align-items:center;font-size:14px}body.ox .ed-bkr span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ox .ed-bkr i{height:6px;background:var(--ox-fill-2);border-radius:99px!important;overflow:hidden}body.ox .ed-bkr i b{display:block;height:100%;background:var(--ox-cyan);border-radius:99px!important}body.ox .ed-bkr em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
body.ox .ed-bthead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}body.ox .ed-bthead .ed-prevlab{margin:0}
body.ox .ed-btsvg{width:100%;height:112px;margin:8px 0}body.ox .ed-btsvg path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}body.ox .ed-btsvg .port{stroke:var(--ox-cyan)}body.ox .ed-btsvg .spy{stroke:#A7B3C6;stroke-dasharray:4 3}
body.ox .ed-bttab{width:100%;font-size:14px;border-collapse:collapse;margin:8px 0}body.ox .ed-bttab th{font-weight:500;color:var(--ox-muted);text-align:right;padding:4px 0}body.ox .ed-bttab td{text-align:right;padding:4px 0;font-variant-numeric:tabular-nums}body.ox .ed-bttab td:first-child,body.ox .ed-bttab th:first-child{text-align:left}
body.ox .ed-bttab .dot{display:inline-block;width:8px;height:8px;border-radius:50%!important;margin-right:8px}body.ox .ed-bttab .dot.port{background:var(--ox-cyan)}body.ox .ed-bttab .dot.spy{background:#A7B3C6}
body.ox #bt-run{margin:8px 0}
/* ---------- floating action pill (sticky % left) ---------- */
body.ox .ed-bar-actions{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border:1px solid var(--ox-hair);border-radius:20px!important;box-shadow:0 10px 30px rgba(10,17,36,.14);overflow:hidden}
html[data-theme=dark][lang] body.ox.ox.ct .ed-bar-actions{background:rgba(21,23,25,.92)}
body.ox .ed-pbar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ox-fill-2)}body.ox .ed-pbar i{display:block;height:100%;width:0;background:var(--ox-cyan);transition:width .18s ease}
body.ox .ed-bar-actions.full .ed-pbar i{background:#2E8B57}
body.ox .ed-mini{display:flex;flex-direction:column;line-height:1.1;font:500 12px Inter,system-ui,sans-serif;color:var(--ox-muted);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}
body.ox .ed-mini b{font:600 20px/1.1 "General Sans",Inter,system-ui,sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-transform:none}
body.ox .ed-bar-actions.full .ed-mini b{color:#2E8B57}
body.ox .ed-status{flex:1;font-size:13px;color:var(--ox-muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme][lang] body.ox.ox.ct .ed-bar-actions .btn{min-height:44px;padding:0 16px!important;white-space:nowrap}
/* ---------- review sheet ---------- */
body.ox .ed-sheet{position:fixed;inset:0;z-index:60;background:rgba(10,17,36,.4);display:flex;align-items:flex-end;justify-content:center}
body.ox .ed-sheet-in{background:var(--ox-card);width:100%;max-width:560px;border-radius:20px 20px 0 0!important;padding:12px 16px calc(16px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto;box-sizing:border-box;box-shadow:0 -10px 40px rgba(10,17,36,.18)}
body.ox .ed-sheet-in::before{content:"";display:block;width:40px;height:4px;border-radius:99px!important;background:var(--ox-hair-2);margin:0 auto 16px}
body.ox .ed-sheet-in h2{font:600 20px "General Sans",Inter,system-ui,sans-serif;margin:0 0 8px}
body.ox .ed-eff{font-size:15px;line-height:1.55;color:var(--ink);margin:0 0 16px}
body.ox .ed-diff{display:flex;flex-direction:column;margin:0 0 16px;border-top:1px solid var(--ox-hair)}
body.ox .ed-diff span{display:flex;justify-content:space-between;font-size:15px;padding:12px 0;border-bottom:1px solid var(--ox-hair);font-variant-numeric:tabular-nums}
body.ox .ed-diff span em{font-style:normal;color:var(--ox-muted)}body.ox .ed-diff .in b{color:#1E7A48}body.ox .ed-diff .out b{color:#B23B3B}
body.ox .ed-sheet-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}html[data-theme][lang] body.ox.ox.ct .ed-sheet-acts .btn{min-height:48px;width:100%;box-sizing:border-box}
body.ed-noscroll{overflow:hidden}
body.ox .ed-toast{position:fixed;left:50%;bottom:104px;transform:translateX(-50%);background:var(--ox-navy);color:#fff;padding:12px 16px;border-radius:12px!important;font-size:14px;z-index:70;transition:opacity .3s}body.ox .ed-toast.go{opacity:0}
/* ---------- hub + lists + history ---------- */
body.ox .eh-grid{display:grid;grid-template-columns:1fr;gap:8px}
body.ox .eh-tile{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--ink);background:var(--ox-card);border:1px solid var(--ox-hair);border-radius:16px!important;padding:16px;box-shadow:var(--ox-shadow);min-height:72px;transition:border-color .12s}
body.ox .eh-tile:hover{border-color:var(--ox-hair-2)}
body.ox .eh-tile::after{content:"";flex:0 0 8px;height:8px;border-right:1.5px solid #A9B1B7;border-top:1.5px solid #A9B1B7;transform:rotate(45deg);margin-right:4px}
body.ox .eh-ic{flex:0 0 40px;height:40px;border-radius:50%!important;background:var(--ox-cyan-bg);color:var(--ox-cyan-ink);display:inline-flex;align-items:center;justify-content:center}body.ox .eh-ic svg{width:20px;height:20px}
body.ox .eh-tile>span:nth-child(2){flex:1;min-width:0}
body.ox .eh-tile b{font:600 16px Inter,system-ui,sans-serif;display:block;margin-bottom:4px}body.ox .eh-tile span span{font-size:14px;color:var(--ox-muted);line-height:1.45}
body.ox .el-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--ox-hair);text-decoration:none;color:var(--ink);min-height:56px}
body.ox .el-row:last-child{border-bottom:0}body.ox .el-row .el-m{flex:1;min-width:0}body.ox .el-row b{font-weight:600;display:block;font-size:16px;margin-bottom:2px}body.ox .el-row small{color:var(--ox-muted);font-size:14px;line-height:1.45}
body.ox .el-row .el-note{font-size:15px;margin-top:8px;line-height:1.5}
body.ox a.el-row::after{content:"";flex:0 0 8px;height:8px;border-right:1.5px solid #A9B1B7;border-top:1.5px solid #A9B1B7;transform:rotate(45deg);margin-right:4px}
body.ox .el-row form{margin:0}
body.ox .el-chip{font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;border-radius:99px!important;padding:6px 8px;background:var(--ox-fill);color:var(--ox-muted);white-space:nowrap}
body.ox .el-chip.ok{background:rgba(46,139,87,.1);color:#1E7A48}body.ox .el-chip.dr{background:#FFF3DA;color:#8A5A00}
body.ox .ed-list{padding:8px 16px!important}
/* ---------- Access ---------- */
body.ox .ac-p{padding:16px 0;border-bottom:1px solid var(--ox-hair)}body.ox .ac-p:last-child{border-bottom:0;padding-bottom:0}body.ox .ac-p:first-of-type{padding-top:0}
body.ox .ac-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}body.ox .ac-top .ed-lg{flex-basis:40px;width:40px;height:40px;font-size:14px}
body.ox .ac-top b{font:600 17px Inter,system-ui,sans-serif;display:block}body.ox .ac-top small{font-size:14px;color:var(--ox-muted)}
body.ox .ac-tg{display:flex;flex-direction:column}body.ox .ac-tg form{margin:0}
body.ox .ac-acts{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}body.ox .ac-acts form{margin:0}
body.ox .ac-sw{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;border:0;border-top:1px solid var(--ox-hair);border-radius:0!important;padding:12px 0;background:none;font:400 16px Inter,system-ui,sans-serif;color:var(--ink);cursor:pointer;min-height:56px;text-align:left}
body.ox .ac-sw>span{display:flex;flex-direction:column;gap:2px}body.ox .ac-sw>span b{font-weight:500}body.ox .ac-sw>span small{font-size:14px;color:var(--ox-muted);line-height:1.4}
body.ox .ac-sw i{flex:0 0 44px;width:44px;height:26px;border-radius:99px!important;background:var(--ox-fill-2);position:relative;transition:background .15s;box-shadow:inset 0 0 0 1px var(--ox-hair-2)}
body.ox .ac-sw i:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%!important;background:#fff;box-shadow:0 1px 3px rgba(10,17,36,.25);transition:left .15s}
body.ox .ac-sw.on i{background:var(--ox-cyan);box-shadow:none}body.ox .ac-sw.on i:after{left:21px}
body.ox .ac-sw:focus-visible{box-shadow:var(--ox-ring);outline:none;border-radius:8px!important}
body.ox .ac-sw.compact{width:auto;border-top:0;padding:0;min-height:44px;gap:8px;font-size:14px;color:var(--ox-muted)}
body.ox .ac-code{font:600 24px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;background:var(--ox-fill);border-radius:12px!important;padding:16px;text-align:center;user-select:all;word-break:break-all}
body.ox .ac-new{border-color:var(--ox-cyan)!important}
body.ox .ac-form .ed-f:first-of-type{margin-top:0}body.ox .ac-form .btn{width:100%;margin-top:16px}
body.ox .ac-note{margin:16px 0 0;font-size:14px;color:var(--ox-muted);line-height:1.5}
/* site content tabs */
body.ox .es-tabs{display:flex;overflow-x:auto;margin:0 0 16px;width:100%;box-sizing:border-box;scrollbar-width:none}body.ox .es-tabs::-webkit-scrollbar{display:none}
body.ox .es-tabs a{flex:1 0 auto}
body.ox .es-card .ed-sheet-acts{margin-top:8px}
/* ---------- Desk sign-in (/desk, /me/login) ---------- */
body.ox .dk{max-width:420px;margin:24px auto 40px;text-align:center}
body.ox .dk-tile{display:block;margin:0 auto 8px;border-radius:22px!important;box-shadow:0 10px 30px rgba(10,17,36,.18)}
body.ox .dk h1{margin:16px 0 8px;font-weight:600}body.ox .dk form{display:flex;flex-direction:column;gap:16px;margin-top:16px;text-align:left}
html[data-theme][lang] body.ox.ox.ct .dk form input[type=password]{font-size:18px!important;letter-spacing:.08em;min-height:52px;padding:0 16px!important}
body.ox .dk-steps{text-align:left;margin:16px 0 8px;display:flex;flex-direction:column;gap:12px}
body.ox .dk-st{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45}
body.ox .dk-st b{flex:0 0 24px;height:24px;border-radius:50%!important;background:var(--ox-cyan-bg);color:var(--ox-cyan-ink);display:inline-flex;align-items:center;justify-content:center;font:600 12px Inter,system-ui,sans-serif}
body.ox .dk-st em{font-style:normal;font-weight:600}body.ox .dk-st svg{vertical-align:-3px}
body.ox .dk-open{display:block;margin-top:16px}
html[data-theme][lang] body.ox.ox.ct .dk .btn,html[data-theme][lang] body.ox.ox.ct .me-login .btn{width:100%;min-height:48px}
body.ox .me-login .ol-f{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}body.ox .me-login .ol-f input{min-height:52px;padding:0 16px!important}
body.ox .me-login .ol-chk{border-top:0;font-size:15px;color:var(--ox-muted)}
/* ---------- wide screens ---------- */
@media(min-width:700px){body.ox .eh-grid{grid-template-columns:1fr 1fr;gap:16px}}
@media(min-width:1100px){body.ox .eh-grid{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:1000px){
 body.ox .ed.ed-wide{position:relative;left:50%;width:min(1200px,calc(100vw - 64px));max-width:none!important;margin-left:0!important;margin-right:0!important;transform:translateX(-50%)}
 body.ox .ed-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:24px}
 body.ox .ed-side{position:sticky;top:88px}
 body.ox .ed-card{padding:24px!important}
 body.ox .ed-name{grid-template-columns:24px 36px minmax(0,1fr) 200px 40px 40px;grid-template-areas:"g l n t p x"}
 body.ox .ed-al{grid-template-columns:36px minmax(0,1fr) 120px;grid-template-areas:"l n w" "m m m" "msg msg msg" "why why why" "rn rn rn"}
 body.ox .ed-sheet{align-items:center}body.ox .ed-sheet-in{border-radius:20px!important;padding:24px}body.ox .ed-sheet-in::before{display:none}
 body.ox .ed-head h1{font-size:32px}
 body.ox .ed-bar-actions{left:auto;right:24px;bottom:24px;width:auto;max-width:640px}
 body.ox .ed-status{max-width:200px}
}
body.ox .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-theme][lang] body.ox.ox.ct.ed-pg nav.bottom{display:none!important}
body.ox .ed-meth .ed-seg button{box-sizing:border-box;min-width:32px;padding:0 6px}
body.ox .ed-meth .ed-seg.ed-slv button{padding:0 12px}
body.ox label.ox-sw b,body.ox label.ed-chk span{font-weight:500;font-size:16px;color:var(--ink)}body.ox label.ox-sw small{font-weight:400}
body.ox .ed-meth .ed-seg.ed-conv{gap:2px}body.ox .ed-meth .ed-seg.ed-conv button{width:28px;min-width:28px;padding:0}
/* the site-wide underlined-link rule (ct-cleanup.css) is for text links; owner tiles, rows, tabs and crumbs are not */
html[data-theme][lang] body.ox.ox.ct main a.eh-tile,html[data-theme][lang] body.ox.ox.ct main a.el-row,html[data-theme][lang] body.ox.ox.ct main .es-tabs a,html[data-theme][lang] body.ox.ox.ct main .ed-crumbs a,html[data-theme][lang] body.ox.ox.ct main a.btn{text-decoration:none!important}
html[data-theme][lang] body.ox.ox.ct main .ed-crumbs a{color:var(--ox-muted)!important}
html[data-theme][lang] body.ox.ox.ct main .ed-head .sub a{color:var(--ox-cyan-ink)!important;text-decoration:none!important}
html[data-theme][lang] body.ox.ox.ct main .es-tabs a.on{color:var(--ink)!important}
/* "Important disclosures" placeholder link (/desk and Desk home; polish swaps in the shared sheet) */
.ox-disc{margin:24px 0 8px;text-align:center;font-size:13px}
html[data-theme][lang] body.ct main .ox-disc a,body.ct .ox-disc a{color:var(--ink-3,#7A8388)!important;text-decoration:none!important;font-weight:400}
body.ox .es-tabs a{padding:0 8px}
html[data-theme][lang] body.ox.ox.ct .dk.card,html[data-theme][lang] body.ox.ox.ct .me-login.card,html[data-theme][lang] body.ox.ox.ct .ed-card{border-radius:16px!important}
/* Desk app nav (/desk, /me, /me/*): small "DESK" tag after the COTEAU wordmark, same baseline. Public pages: no tag. */
html.desk body.ct header.top a.ct-brand .dk-tag{display:inline;vertical-align:baseline;margin-left:.45em;font:500 12px/1 "General Sans","Brand Wordmark",Inter,system-ui,sans-serif;letter-spacing:.14em;color:rgba(255,255,255,.6);white-space:nowrap;text-decoration:none}
/* phones: the tag never crowds search / bell / LIVE: the LIVE pill drops its label (dot stays, aria-label keeps the name) */
@media(max-width:430px){html.desk body.ct header.top a.ol-live span{display:none}html.desk body.ct header.top a.ol-live{padding:0 8px;gap:0;margin-right:2px}}
@media(max-width:350px){html.desk body.ct header.top a.ct-brand .dk-tag{display:none}}
html.desk body.ct header.top a.ct-brand .bwx{align-items:baseline}html.desk body.ct header.top a.ct-brand .bwx>svg{align-self:center}

/* ---------- step 2: per-holding author's note ("Why it's here"; hand-built portfolios only, rationale.py) ---------- */
body.ox .ed-al .ed-rn{grid-area:rn;margin:-2px 0 0 48px}
html[data-theme][lang] body.ox.ox.ct .ed-rnb{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 0;font:500 14px/1.2 Inter,system-ui,sans-serif;color:var(--ox-cyan-ink);cursor:pointer;border-radius:8px!important}
html[data-theme][lang] body.ox.ox.ct .ed-rnb:focus-visible{box-shadow:var(--ox-ring)}
html[data-theme][lang] body.ox.ox.ct .ed-rnb::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px;transition:transform .15s}
html[data-theme][lang] body.ox.ox.ct .ed-rn.open .ed-rnb::after{transform:rotate(-135deg) translateY(-1px)}
body.ox .ed-rnchip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px!important;background:var(--ox-cyan-bg);color:var(--ox-cyan-ink);font:600 11.5px/1.4 Inter,system-ui,sans-serif;letter-spacing:.02em}
body.ox .ed-rnchip i{width:6px;height:6px;border-radius:50%!important;background:var(--ox-cyan)}
body.ox .ed-rnw{margin:6px 0 4px}
html[data-theme][lang] body.ox.ox.ct textarea.ed-rnt{width:100%;box-sizing:border-box;min-height:84px;resize:vertical;font:400 16px/1.45 Inter,system-ui,sans-serif!important}
body.ox .ed-rnf{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-top:6px;font-size:12.5px;color:var(--ox-muted)}
body.ox .ed-rnc{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}body.ox .ed-rnc.near{color:#8A5A00}
body.ox .ed-rnh{color:#8A5A00}
body.ox .ed-pvn{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--ox-hair-2);border-radius:999px!important;font:500 11px/1.5 Inter,system-ui,sans-serif;color:var(--ox-cyan-ink);vertical-align:1px}
@media (max-width:380px){body.ox .ed-al .ed-rn{margin-left:0}}
body.ox .ed-al{row-gap:0!important}body.ox .ed-al>.ed-meth,body.ox .ed-al>.ed-msg,body.ox .ed-al>.ed-why{margin-top:8px}body.ox .ed-al>.ed-rn{margin-top:4px}
/* Desk: one combined tag "DESK BETA" (Oct 21 2026): BETA lighter and smaller on the same baseline, shown at every width */
html.desk body.ct header.top a.ct-brand .dk-tag .dk-beta{margin-left:.5em;font-size:10px;font-weight:500;letter-spacing:.16em;color:rgba(255,255,255,.42);text-transform:uppercase}
@media(max-width:350px){html.desk body.ct header.top a.ct-brand .dk-tag{display:inline}html.desk body.ct header.top a.ct-brand .dk-tag .dk-beta{display:none}}
@media(max-width:400px){
 html.desk body.ct header.top a.ct-brand .dk-tag{font-size:11px;letter-spacing:.1em;margin-left:.38em}
 html.desk body.ct header.top a.ct-brand .dk-tag .dk-beta{font-size:9px;letter-spacing:.1em;margin-left:.42em}
 html.desk body.ct header.top .tb .iconbtn{width:34px!important;min-width:34px!important;padding:0!important}
 html.desk body.ct header.top .toprow{gap:6px!important}
 html.desk body.ct header.top .ct-brand{margin-left:4px!important}
}
/* LIVE pill (Oct 21 2026 review): soft filled rounded pill, no outline, always says LIVE (overrides the phone dot-only rule above) */
html.desk body.ct header.top a.ol-live{border-radius:999px!important;border:0!important;background:rgba(62,200,201,.18)!important;box-shadow:none!important;height:24px;padding:0 9px 0 8px;gap:5px}
html.desk body.ct header.top a.ol-live.ol-off{background:rgba(255,255,255,.10)!important}
@media(max-width:430px){html.desk body.ct header.top a.ol-live span{display:inline!important}html.desk body.ct header.top a.ol-live{padding:0 8px 0 7px!important;gap:4px!important;margin-right:0!important}html.desk body.ct header.top a.ol-live span{font-size:10.5px!important;letter-spacing:.05em}}
@media(max-width:400px){
 html.desk body.ct header.top a.ct-brand .dk-tag{font-size:10.5px;letter-spacing:.08em;margin-left:.34em}
 html.desk body.ct header.top a.ct-brand .dk-tag .dk-beta{font-size:8.5px;letter-spacing:.08em;margin-left:.36em}
 html.desk body.ct header.top .tb .iconbtn{width:32px!important;min-width:32px!important}
 html.desk body.ct header.top .toprow{gap:4px!important}
}
@media(max-width:374px){html.desk body.ct header.top .tb .iconbtn{width:30px!important;min-width:30px!important}html.desk body.ct header.top a.ol-live{padding:0 6px!important;gap:3px!important}html.desk body.ct header.top a.ol-live span{font-size:10px!important;letter-spacing:.04em}}
