/* =====================================================================
   "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,#121314 0%,#131A33 55%,#1A2D58 100%)!important}
