/* EZPZ Learn Center — built on the live theme3 tokens (Poppins, #9467FE
   primary, #1C2E9E headings, #F0F5FF body) plus the tier colors already
   established in the member dashboard sidebar, so Free/Pro/Premium/Elite
   read the same way here as they do inside the app. Layout is a three pane
   docs shell (category rail, content, on-page nav) so it scales to full
   width on desktop instead of a centered column with dead gutters. */

:root{
  --lc-primary:#9467FE;
  --lc-primary-dark:#5e2fbd;
  --lc-secondary:#362465;
  --lc-secondary-dark:#1c1140;
  --lc-heading:#1C2E9E;
  --lc-body-bg:#F0F5FF;
  --lc-card-bg:#ffffff;
  --lc-text:#4B5178;
  --lc-text-soft:#7E87BF;
  --lc-text-faint:#A6ADD4;
  --lc-border:#DCE4F7;

  --lc-free:#0d9488;
  --lc-free-b:#34d399;
  --lc-pro:#2563eb;
  --lc-pro-b:#60a5fa;
  --lc-premium:#6759d1;
  --lc-premium-b:#a99ef5;
  --lc-elite:#b45309;
  --lc-elite-b:#f59e0b;

  --lc-radius-sm:8px;
  --lc-radius-md:14px;
  --lc-radius-lg:22px;
  --lc-shadow:0 6px 24px -8px rgba(54,36,101,0.14);
  --lc-shadow-lg:0 20px 48px -18px rgba(54,36,101,0.28);

  --lc-shell-max:1720px;
  --lc-rail-w:266px;
}

.learn-body{ background:var(--lc-body-bg); }
body.learn-body #loader{ display:none !important; }

.learn-shell, .lc-topbar-inner{
  font-family:'Poppins', ui-sans-serif, system-ui, sans-serif;
  color:var(--lc-text);
}
.learn-shell h1, .learn-shell h2, .learn-shell h3, .learn-shell h4{
  font-family:'Poppins', ui-sans-serif, system-ui, sans-serif;
  color:var(--lc-heading);
  font-weight:700;
  text-wrap:balance;
  margin:0;
}
.learn-shell .mono{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
}
.learn-shell a{ color:inherit; text-decoration:none; }
.learn-shell .container-narrow{ max-width:760px; }

/* ---------- Top strip (mobile category toggle) ---------- */
.lc-topbar{ display:none; background:var(--lc-card-bg); border-bottom:1px solid var(--lc-border); position:sticky; top:0; z-index:60; }

/* Backdrop behind the mobile category drawer — it was never styled, so the
   drawer used to open over a fully live page with no way to see what closes it. */
.lc-nav-scrim{
  position:fixed; inset:0; z-index:45;
  background:rgba(28,17,64,0.45);
  opacity:0; transition:opacity .2s ease;
}
.lc-nav-scrim.is-on{ opacity:1; }
.lc-nav-scrim[hidden]{ display:none; }
.lc-topbar-inner{ max-width:var(--lc-shell-max); margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:14px; }
.lc-crumb-home{ font-weight:700; color:var(--lc-heading); font-size:15px; display:flex; align-items:center; gap:8px; }
.lc-nav-toggle{
  width:38px; height:38px; border-radius:9px; border:1px solid var(--lc-border); background:var(--lc-card-bg);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; cursor:pointer; flex-shrink:0;
}
.lc-nav-toggle span{ width:18px; height:2px; background:var(--lc-secondary); border-radius:2px; transition:transform .2s ease, opacity .2s ease; }
.lc-nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.lc-nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.lc-nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* ---------- Shell grid: category rail + main content ---------- */
.learn-shell{
  max-width:var(--lc-shell-max);
  margin:0 auto;
  padding:36px 32px 100px;
  display:grid;
  grid-template-columns: var(--lc-rail-w) minmax(0,1fr);
  gap:44px;
  align-items:start;
}
.learn-main{ min-width:0; }

/* ---------- Persistent category rail ---------- */
.lc-catnav{
  position:sticky; top:28px; max-height:calc(100vh - 56px); overflow-x:hidden; overflow-y:auto;
  display:flex; flex-direction:column; gap:2px; padding:2px 10px 8px 0;
  scrollbar-width:thin;
  scrollbar-color: color-mix(in srgb, var(--lc-primary) 48%, #cfc4ee) transparent;
}
html body.learn-body nav.lc-catnav::-webkit-scrollbar{
  -webkit-appearance:none !important;
  width:1px !important;
  height:1px !important;
  background:transparent !important;
}
html body.learn-body nav.lc-catnav::-webkit-scrollbar-button{
  display:none !important;
  width:0 !important;
  height:0 !important;
}
html body.learn-body nav.lc-catnav::-webkit-scrollbar-track{
  background:transparent !important;
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
  border-radius:99px;
  margin:12px 0;
}
html body.learn-body nav.lc-catnav::-webkit-scrollbar-thumb{
  background: color-mix(in srgb, var(--lc-primary) 48%, #d9d0f3) !important;
  background-color: color-mix(in srgb, var(--lc-primary) 48%, #d9d0f3) !important;
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
  border:none !important;
  border-radius:99px;
  min-height:48px;
}
html body.learn-body nav.lc-catnav::-webkit-scrollbar-thumb:hover,
html body.learn-body nav.lc-catnav::-webkit-scrollbar-thumb:active{
  background: color-mix(in srgb, var(--lc-primary) 68%, #c4b6ea) !important;
  background-color: color-mix(in srgb, var(--lc-primary) 68%, #c4b6ea) !important;
}
.lc-rail-icon{
  width:17px; height:17px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--lc-text-faint); font-size:14px; line-height:1;
}
.lc-rail-icon i{ width:auto; font-size:inherit; color:inherit; }

.lc-catnav-all{
  display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:500; color:var(--lc-text);
  padding:7px 10px; border-radius:8px; margin-bottom:10px;
}
.lc-catnav-all:hover{ background:color-mix(in srgb, var(--lc-secondary) 6%, transparent); color:var(--lc-heading); }
.lc-catnav-all:hover .lc-rail-icon{ color:var(--lc-primary); }
.lc-catnav-all.is-active{
  background:color-mix(in srgb, var(--lc-primary) 9%, transparent);
  color:var(--lc-primary-dark); font-weight:600;
}
.lc-catnav-all.is-active .lc-rail-icon{ color:var(--lc-primary); }

.lc-catnav-label{
  font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--lc-text-faint); padding:10px 10px 6px;
  border-top:1px solid var(--lc-border); margin-top:2px;
}
.lc-catnav-list{ display:flex; flex-direction:column; gap:1px; }
.lc-catnav-group{ --accent: var(--lc-primary); }

.learn-shell .lc-catnav a,
.learn-shell .lc-catnav-item,
.learn-shell .lc-catnav-all,
.learn-shell .lc-catnav-page{
  -webkit-transition:none;
  -ms-transition:none;
  transition:none;
}

.lc-catnav-item{
  display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:500; color:var(--lc-text);
  padding:7px 8px 7px 10px; border-radius:8px;
  background-color:transparent; background-image:none;
}
.lc-catnav-item > span:not(.lc-rail-icon):not(.lc-catnav-caret){
  flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.lc-catnav-item em{
  font-style:normal; font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:10.5px; font-weight:500; color:var(--lc-text-faint);
  background:none; padding:0; min-width:1.4em; text-align:right;
}
.lc-catnav-caret{
  width:13px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center;
  color:var(--lc-text-faint); font-size:9px;
  transition:transform .18s ease, color .18s ease;
}
.lc-catnav-item:hover{
  background-color:color-mix(in srgb, var(--lc-secondary) 6%, transparent);
  background-image:none; color:var(--lc-heading);
}
.lc-catnav-item:hover .lc-rail-icon,
.lc-catnav-item:hover .lc-catnav-caret{ color:var(--lc-primary); }
.lc-catnav-item.is-active{
  background-color:color-mix(in srgb, var(--lc-primary) 9%, transparent);
  background-image:none; color:var(--lc-primary-dark); font-weight:600;
}
.lc-catnav-item.is-active .lc-rail-icon,
.lc-catnav-item.is-active em{ color:var(--lc-primary); }

/* An open section is marked by weight and a turned caret, not a coloured slab. */
.lc-catnav-group.is-open > .lc-catnav-item{
  color:var(--lc-heading); font-weight:600;
}
.lc-catnav-group.is-open > .lc-catnav-item .lc-rail-icon{ color:var(--lc-primary); }
.lc-catnav-group.is-open > .lc-catnav-item .lc-catnav-caret{
  transform:rotate(90deg); color:var(--lc-primary);
}
.lc-catnav-group.is-open > .lc-catnav-item em{ opacity:0; }

.lc-catnav-pages{
  display:none;
  flex-direction:column; gap:0;
  margin:2px 0 8px 19px;
  padding:2px 0;
  border-left:1px solid var(--lc-border);
}
.lc-catnav-group.is-open > .lc-catnav-pages{ display:flex; }
.lc-catnav-page{
  position:relative; display:block;
  font-size:13px; line-height:1.4; font-weight:400; color:var(--lc-text-soft);
  padding:7px 10px 7px 14px; border-radius:0 7px 7px 0;
}
/* The guide line lights up beside whichever page you are on. */
.lc-catnav-page::before{
  content:''; position:absolute; left:-1px; top:4px; bottom:4px; width:2px;
  border-radius:2px; background:transparent;
}
.lc-catnav-page:hover{
  color:var(--lc-heading);
  background:color-mix(in srgb, var(--lc-secondary) 5%, transparent);
}
.lc-catnav-page:hover::before{ background:var(--lc-text-faint); }
.lc-catnav-page.is-active{
  color:var(--lc-primary-dark); font-weight:600;
  background:color-mix(in srgb, var(--lc-primary) 8%, transparent);
}
.lc-catnav-page.is-active::before{ background:var(--lc-primary); }

/* ---------- Breadcrumb ---------- */
.lc-crumbs{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:13px; color:var(--lc-text-soft); margin-bottom:22px;
}
.lc-crumbs a{ color:var(--lc-text-soft); }
.lc-crumbs a:hover{ color:var(--lc-primary); }
.lc-crumbs .sep{ opacity:.5; }
.lc-crumbs .current{ color:var(--lc-heading); font-weight:600; }

/* ---------- Tier badge ---------- */
.lc-tier{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:11px; font-weight:600; letter-spacing:.04em;
  padding:4px 10px 4px 8px; border-radius:99px;
  color:var(--tc); background:color-mix(in srgb, var(--tc) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--tc) 32%, transparent);
  white-space:nowrap;
}
.lc-tier::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--tc); }
.lc-tier-free{ --tc:var(--lc-free); }
.lc-tier-pro{ --tc:var(--lc-pro); }
.lc-tier-premium{ --tc:var(--lc-premium); }
.lc-tier-elite{ --tc:var(--lc-elite); }

/* ---------- Hub hero ---------- */
.lc-hero{
  position:relative; overflow:visible;
  background:linear-gradient(120deg, var(--lc-secondary-dark) 0%, var(--lc-secondary) 62%, var(--lc-primary-dark) 130%);
  border-radius:var(--lc-radius-lg);
  color:#fff;
  margin-bottom:44px;
  box-shadow:var(--lc-shadow-lg);
  display:grid; grid-template-columns: minmax(0,1fr) minmax(300px, 380px);
  align-items:center; gap:48px;
  padding:48px 44px;
}
.lc-hero.is-compact{
  padding:36px 40px;
  margin-bottom:32px;
  gap:40px;
  grid-template-columns: minmax(0,1fr) minmax(290px, 360px);
}
.lc-hero.is-compact h1{ font-size:clamp(24px,2.4vw,34px); }
.lc-hero::before{
  content:'';
  position:absolute; inset:0;
  border-radius:inherit;
  background:
    radial-gradient(560px 320px at 96% -14%, rgba(148,103,254,0.5), transparent 65%),
    radial-gradient(360px 260px at -6% 118%, rgba(245,158,11,0.16), transparent 60%);
  pointer-events:none;
}
.lc-hero-inner{ position:relative; min-width:0; }
.lc-eyebrow{
  font-family:'JetBrains Mono', monospace; font-size:11.5px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#c9bdff; margin-bottom:14px;
  display:flex; align-items:center; gap:8px;
}
.lc-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--lc-elite-b); }
.lc-hero h1{ color:#fff; font-size:clamp(26px,2.6vw,38px); line-height:1.15; margin-bottom:14px; }
.lc-hero p{ color:rgba(255,255,255,0.78); font-size:15.5px; line-height:1.6; max-width:56ch; }
.lc-hero-meta{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:18px; font-size:12.5px;
}
.lc-hero-meta > *{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px; border-radius:99px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14);
  color:rgba(255,255,255,0.82); white-space:nowrap;
}
.lc-hero-meta a{ transition:background .18s ease, color .18s ease, border-color .18s ease; }
.lc-hero-meta a:hover{ background:rgba(255,255,255,0.18); border-color:rgba(255,255,255,0.3); color:#fff; }
.lc-hero .lc-tier{ margin-bottom:12px; }

.lc-search{ position:relative; max-width:420px; z-index:6; }
.lc-search input{
  width:100%; padding:13px 16px 13px 44px; border-radius:99px; border:none;
  background:rgba(255,255,255,0.96); color:var(--lc-secondary-dark);
  font-family:'Poppins'; font-size:14.5px; box-shadow:var(--lc-shadow);
}
.lc-search input:focus{ outline:3px solid rgba(148,103,254,0.45); }
.lc-search svg{ position:absolute; left:16px; top:50%; transform:translateY(-50%); opacity:.55; color:var(--lc-secondary); z-index:1; pointer-events:none; }
.lc-search-results{
  position:absolute; left:0; right:0; top:calc(100% + 8px);
  margin:0; padding:8px; list-style:none;
  background:var(--lc-card-bg); border:1px solid var(--lc-border);
  border-radius:14px; box-shadow:var(--lc-shadow-lg);
  max-height:min(360px, 50vh); overflow:auto; z-index:8;
}
.lc-search-hit{
  display:flex; flex-direction:column; gap:2px;
  padding:10px 12px; border-radius:10px; cursor:pointer;
}
.lc-search-hit:hover, .lc-search-hit.is-active{
  background:color-mix(in srgb, var(--lc-primary) 10%, #fff);
}
.lc-search-hit-kind{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--lc-primary);
}
.lc-search-hit-title{ font-size:14px; font-weight:600; color:var(--lc-heading); }
.lc-search-hit-blurb{
  font-size:12.5px; color:var(--lc-text-soft); line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.lc-search-empty{ padding:12px; font-size:13px; color:var(--lc-text-soft); }
.lc-empty{ margin-top:18px; font-size:14.5px; color:var(--lc-text-soft); }

/* ---------- Hero aside: the search panel that fills the right half ---------- */
.lc-hero-aside{ position:relative; min-width:0; z-index:6; }
.lc-hero-card{
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.16);
  border-radius:18px; padding:18px;
  backdrop-filter:blur(8px);
  box-shadow:0 18px 40px -26px rgba(8,4,28,0.9);
}
.lc-hero-card-label{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-size:12px; font-weight:500; color:rgba(255,255,255,0.72);
  margin-bottom:10px;
}
.lc-kbd{
  font-family:'JetBrains Mono', ui-monospace, monospace; font-size:11px; line-height:1;
  padding:4px 8px; border-radius:6px; color:rgba(255,255,255,0.8);
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.2);
}
.lc-hero-card .lc-search{ max-width:none; }
.lc-hero-chips{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:14px;
}
.lc-hero-chips-label{
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,0.5); margin-right:2px;
}
.lc-hero-chip{
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-size:12px; padding:5px 11px; border-radius:99px;
  color:rgba(255,255,255,0.85);
  background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.16);
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.lc-hero-chip:hover{ background:rgba(255,255,255,0.2); border-color:rgba(255,255,255,0.32); color:#fff; }

/* ---------- Category grid ---------- */
.lc-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:16px; }

.lc-cat-card{
  --accent: var(--lc-primary);
  background:var(--lc-card-bg); border:1px solid var(--lc-border); border-radius:var(--lc-radius-md);
  padding:22px; box-shadow:var(--lc-shadow); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex; flex-direction:column; gap:11px; height:100%; border-top:3px solid var(--accent);
}
.lc-cat-card:hover{ transform:translateY(-3px); box-shadow:var(--lc-shadow-lg); border-color:var(--accent); }
.lc-cat-icon{
  width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--accent, var(--lc-primary)) 14%, transparent); color:var(--accent, var(--lc-primary)); font-size:18px;
}
.lc-cat-card h2{ font-size:16.5px; margin:0; }
.lc-cat-card p{ font-size:13px; color:var(--lc-text-soft); line-height:1.5; margin:0; flex:1; }
.lc-cat-count{
  font-family:'JetBrains Mono'; font-size:11px; color:var(--accent); font-weight:600;
  display:flex; align-items:center; gap:6px;
}
/* rotate a small on-brand accent palette across cards so the grid isn't monotone */
.lc-cat-card:nth-child(4n+1){ --accent: var(--lc-primary); }
.lc-cat-card:nth-child(4n+2){ --accent: var(--lc-pro); }
.lc-cat-card:nth-child(4n+3){ --accent: var(--lc-free); }
.lc-cat-card:nth-child(4n+4){ --accent: var(--lc-elite); }

/* ---------- Page card (category listing) ---------- */
.lc-page-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(340px,1fr)); gap:12px; align-items:stretch; }
.lc-page-card{
  display:flex; align-items:center; gap:16px; justify-content:space-between;
  background:var(--lc-card-bg); border:1px solid var(--lc-border); border-radius:var(--lc-radius-sm);
  padding:16px 18px; box-shadow:0 1px 2px rgba(54,36,101,0.05); transition:border-color .15s ease, transform .15s ease;
}
.lc-page-card-head{ display:flex; align-items:center; gap:12px; min-width:0; flex:1; }
.lc-page-icon{
  width:36px; height:36px; border-radius:10px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--lc-primary) 14%, transparent); color:var(--lc-primary);
}
.lc-page-card-aside{ flex-shrink:0; }
.lc-page-empty{ color:var(--lc-text-soft); }
.lc-page-card:hover{ border-color:var(--lc-primary); transform:translateX(2px); }
.lc-page-card .pc-title{ font-weight:600; color:var(--lc-heading); font-size:15px; margin:0; }
.lc-page-card .pc-tag{ font-size:12.5px; color:var(--lc-text-soft); margin-top:3px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lc-page-card .pc-arrow{ opacity:.4; flex-shrink:0; }
.lc-page-card:hover .pc-arrow{ opacity:1; color:var(--lc-primary); }

/* ---------- Page detail layout ---------- */
.lc-detail-head{ margin-bottom:32px; }
.lc-detail-head .lc-tier{ margin-bottom:16px; }
.lc-detail-head h1{ font-size:clamp(24px,2.6vw,34px); margin-bottom:12px; }
.lc-detail-head .tagline,
.lc-detail-head .lc-tagline{ font-size:16px; color:var(--lc-text-soft); max-width:62ch; line-height:1.6; margin:0; }
.lc-detail-meta{ font-size:13px; color:var(--lc-text-soft); margin:12px 0 0; }

.lc-toc-compact{
  display:none; flex-wrap:wrap; gap:8px 14px; margin:0 0 22px;
}
.lc-toc-compact a{
  font-size:13px; color:var(--lc-text-soft); padding:4px 0;
  border-bottom:2px solid transparent;
}
.lc-toc-compact a:hover, .lc-toc-compact a.is-active{
  color:var(--lc-primary); border-bottom-color:var(--lc-primary);
}

.lc-screenshots{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:16px; margin-bottom:36px;
}
.lc-screenshots:has(.lc-screenshot:only-child){ grid-template-columns:1fr; }
.lc-screenshot{
  margin:0; border-radius:var(--lc-radius-md); overflow:hidden; border:1px solid var(--lc-border);
  box-shadow:var(--lc-shadow-lg); background:var(--lc-card-bg);
}
.lc-screenshot img{ width:100%; height:auto; display:block; }
.lc-screenshot figcaption{
  padding:10px 14px; font-size:12.5px; font-weight:600; color:var(--lc-text-soft);
  border-top:1px solid var(--lc-border);
}

.lc-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:44px;
  align-items:start;
}
.lc-article-col{ min-width:0; display:flex; flex-direction:column; gap:28px; }

.lc-section{ margin-bottom:36px; }
.lc-section h2{
  font-size:19px; margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--lc-border);
  display:flex; align-items:center; gap:10px;
}
.lc-section h2 .sn{
  font-family:'JetBrains Mono'; font-size:12px; color:var(--lc-primary); background:rgba(148,103,254,0.1);
  width:24px; height:24px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}
.lc-section p{ font-size:15.5px; line-height:1.75; color:var(--lc-text); margin:0 0 14px; max-width:68ch; }
.lc-section p:last-child{ margin-bottom:0; }

/* Unique CKEditor article body — a reading surface, not text loose on the page */
.lc-prose,
.lc-article-col > .lc-section{
  background:var(--lc-card-bg);
  border:1px solid var(--lc-border);
  border-radius:var(--lc-radius-lg);
  padding:40px clamp(32px, 3.4vw, 60px);
  box-shadow:var(--lc-shadow);
}
/* The card fills the column; running text keeps a readable measure inside it,
   while tables, screenshots, tabs and card grids use the full width. */
.lc-article-col > .lc-section{ margin-bottom:0; }
.lc-prose{
  font-size:16.5px; line-height:1.78; color:var(--lc-text);
  text-wrap:pretty;
}
.lc-prose > *:first-child{ margin-top:0; }
.lc-prose > *:last-child{ margin-bottom:0; }
.lc-prose h2{
  font-size:clamp(20px,1.5vw,23px); letter-spacing:-0.012em; line-height:1.3;
  margin:52px 0 16px; padding-bottom:12px; border-bottom:1px solid var(--lc-border);
  scroll-margin-top:96px; position:relative;
}
.lc-prose h2:first-child{ margin-top:0; }
.lc-prose .lc-section > h2{ margin-top:0; }
.lc-prose h3{
  font-size:17.5px; letter-spacing:-0.006em; margin:34px 0 10px; color:var(--lc-heading);
  scroll-margin-top:96px; position:relative;
}
/* The paragraph that opens the guide reads as a lede. */
.lc-prose > h2:first-child + p{ font-size:18px; line-height:1.7; color:var(--lc-text); }
.lc-prose p{ margin:0 0 18px; max-width:76ch; }
.lc-prose ul, .lc-prose ol{ margin:0 0 20px; padding-left:1.35em; max-width:76ch; }
/* theme3 resets li to list-style:none, so the markers are put back here. */
.lc-prose li{ margin:0 0 9px; padding-left:2px; }
.lc-prose ul > li{ list-style:disc outside; }
.lc-prose ol > li{ list-style:decimal outside; }
.lc-prose ul ul > li{ list-style-type:circle; }
.lc-prose li::marker{ color:var(--lc-primary); font-weight:600; }
.lc-prose strong{ color:var(--lc-heading); font-weight:600; }
.lc-prose hr{ border:0; border-top:1px solid var(--lc-border); margin:36px 0; }
.lc-prose code{
  font-family:'JetBrains Mono', ui-monospace, monospace; font-size:0.88em;
  background:var(--lc-body-bg); border:1px solid var(--lc-border);
  border-radius:6px; padding:1px 6px; color:var(--lc-heading);
}
/* Link-dense paragraphs: a quiet underline that firms up on hover. */
.lc-prose a{
  color:var(--lc-primary-dark);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-decoration-color:color-mix(in srgb, var(--lc-primary) 40%, transparent);
  text-underline-offset:3px;
  transition:color .15s ease, text-decoration-color .15s ease;
}
.lc-prose a:hover{ color:var(--lc-primary); text-decoration-color:currentColor; }
/* Hover anchors on headings, the way every docs site links a section. */
.lc-anchor{
  position:absolute; left:-26px; top:0; width:22px;
  font-family:'JetBrains Mono', ui-monospace, monospace; font-weight:600;
  color:var(--lc-text-faint); text-decoration:none; opacity:0;
  transition:opacity .15s ease, color .15s ease;
}
.lc-prose h2:hover .lc-anchor,
.lc-prose h3:hover .lc-anchor,
.lc-anchor:focus-visible{ opacity:1; }
.lc-anchor:hover{ color:var(--lc-primary); }
.lc-prose img{ max-width:100%; height:auto; display:block; border-radius:var(--lc-radius-md); }
.lc-prose figure{ margin:0 0 24px; }
.lc-prose figure figcaption,
.lc-prose .lc-screenshot figcaption{
  padding:10px 14px; font-size:12.5px; font-weight:600; color:var(--lc-text-soft);
}
.lc-prose table{
  width:100%; border-collapse:separate; border-spacing:0; margin:0 0 26px; font-size:14.5px;
  border:1px solid var(--lc-border); border-radius:var(--lc-radius-md); overflow:hidden;
}
.lc-prose th, .lc-prose td{
  padding:11px 14px; text-align:left; border-bottom:1px solid var(--lc-border);
}
.lc-prose tr:last-child td{ border-bottom:0; }
.lc-prose th{
  background:var(--lc-body-bg); color:var(--lc-heading);
  font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  white-space:nowrap;
}
.lc-prose tbody tr:nth-child(even) td{ background:color-mix(in srgb, var(--lc-body-bg) 45%, #fff); }
.lc-prose tbody tr:hover td{ background:color-mix(in srgb, var(--lc-primary) 5%, #fff); }
.lc-prose .lc-table-scroll{ overflow-x:auto; margin:0 0 26px; -webkit-overflow-scrolling:touch; }
.lc-prose .lc-table-scroll table{ margin:0; min-width:520px; }
.lc-prose blockquote{
  margin:0 0 20px; padding:12px 16px; border-left:3px solid var(--lc-primary); max-width:76ch;
  color:var(--lc-text-soft); background:color-mix(in srgb, var(--lc-primary) 6%, #fff);
  border-radius:0 var(--lc-radius-sm) var(--lc-radius-sm) 0;
}
.lc-prose .lc-screenshot-slot{ display:none; }

.lc-media-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin:0 0 36px;
}
.lc-media-grid .lc-screenshot{ margin:0; }
@media (max-width: 700px){
  .lc-media-grid{ grid-template-columns:1fr; }
}

.lc-tabs{ margin:0 0 36px; }
.lc-tablist{
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px;
  border-bottom:1px solid var(--lc-border); padding-bottom:8px;
}
.lc-tab-btn{
  font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer;
  background:transparent; border:1px solid transparent; border-radius:8px;
  padding:7px 12px; color:var(--lc-text-soft);
}
.lc-tab-btn:hover{ color:var(--lc-heading); background:var(--lc-body-bg); }
.lc-tab-btn.is-active,
.lc-tab-btn[aria-selected="true"]{
  color:var(--lc-primary-dark);
  background:color-mix(in srgb, var(--lc-primary) 10%, #fff);
  border-color:color-mix(in srgb, var(--lc-primary) 28%, var(--lc-border));
}
.lc-tab{ min-width:0; }

.lc-callout{
  --cc:var(--lc-primary);
  position:relative; margin:0 0 24px; padding:16px 18px 16px 20px;
  border-radius:var(--lc-radius-sm); overflow:hidden;
  border:1px solid var(--lc-border); background:var(--lc-body-bg);
  font-size:15px; line-height:1.7;
}
.lc-callout::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--cc);
}
.lc-callout strong{
  display:block; margin-bottom:6px; color:var(--lc-heading);
  font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
}
.lc-callout p{ margin:0; max-width:none; }
.lc-callout-note{
  --cc:var(--lc-primary);
  border-color:color-mix(in srgb, var(--lc-primary) 24%, var(--lc-border));
  background:color-mix(in srgb, var(--lc-primary) 6%, #fff);
}
.lc-callout-note strong{ color:var(--lc-primary-dark); }
.lc-callout-tip{
  --cc:var(--lc-free);
  border-color:color-mix(in srgb, var(--lc-free) 28%, var(--lc-border));
  background:color-mix(in srgb, var(--lc-free) 7%, #fff);
}
.lc-callout-tip strong{ color:var(--lc-free); }

.lc-split{
  display:grid; grid-template-columns:minmax(220px,0.42fr) minmax(0,1fr);
  gap:28px; align-items:start; margin:0 0 36px;
}
.lc-split .lc-screenshot{ margin:0; }
/* Landscape screenshots (tables, charts) read at full column width, text below. */
.lc-split.lc-split-wide{ grid-template-columns:minmax(0,1fr); gap:20px; }
.lc-split h3,
.lc-split-label{
  font-size:13.5px; font-weight:700; color:var(--lc-heading);
  margin:0 0 8px; padding:0; border:0;
}
.lc-split-label + ul{ margin-top:0; }
.lc-chip{
  display:inline-flex; align-items:center;
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:11px; font-weight:600; letter-spacing:.02em;
  padding:2px 7px; border-radius:6px; margin:0 2px 2px 0;
  background:var(--lc-body-bg); color:var(--lc-heading);
  border:1px solid var(--lc-border); white-space:nowrap;
}
.lc-pills{
  display:flex; flex-wrap:wrap; gap:8px;
  margin:0 0 24px; padding:16px 16px 14px;
  background:var(--lc-body-bg); border:1px solid var(--lc-border);
  border-radius:var(--lc-radius-md);
  max-width:none;
}
.lc-pill{
  display:inline-flex; align-items:center;
  font-size:13px; font-weight:600; line-height:1.2;
  padding:8px 12px; border-radius:999px;
  border:1px solid var(--lc-border);
  background:var(--lc-card-bg); color:var(--lc-heading);
}
.lc-pill-on{
  background:color-mix(in srgb, var(--lc-primary) 14%, #fff);
  border-color:color-mix(in srgb, var(--lc-primary) 42%, var(--lc-border));
  color:var(--lc-primary-dark);
}
.lc-card-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px; margin:0 0 24px;
}
.lc-mini-card{
  background:var(--lc-body-bg); border:1px solid var(--lc-border);
  border-radius:var(--lc-radius-md); padding:18px 18px 16px;
  transition:border-color .18s ease, transform .18s ease;
}
.lc-mini-card:hover{ border-color:color-mix(in srgb, var(--lc-primary) 35%, var(--lc-border)); }
.lc-mini-card-title{
  font-size:14.5px; font-weight:700; color:var(--lc-heading);
  margin:0 0 8px;
}
.lc-mini-card p{ margin:0; font-size:13.5px; line-height:1.6; max-width:none; }
.lc-mini-card ul{ margin:0; padding-left:1.15em; max-width:none; }
.lc-mini-card li{ margin:0 0 8px; font-size:13.5px; line-height:1.6; }
.lc-mini-card li:last-child{ margin-bottom:0; }
.lc-prose table{ max-width:none; }
.lc-prose .lc-tab p, .lc-prose .lc-tab li{ max-width:none; }
.lc-prose figure.lc-screenshot{
  margin:0 0 28px; border-radius:var(--lc-radius-md); overflow:hidden;
  border:1px solid var(--lc-border); box-shadow:var(--lc-shadow-lg);
  background:var(--lc-card-bg);
}
/* Tall, narrow product panels (drawers, side panels): keep near their real width. */
.lc-prose figure.lc-screenshot.lc-screenshot-narrow{ max-width:340px; margin-left:auto; margin-right:auto; }
@media (max-width: 800px){
  .lc-split, .lc-card-grid{ grid-template-columns:1fr; }
}

.lc-prose .lc-screenshot img{ cursor:zoom-in; }
body.lc-lightbox-open{ overflow:hidden; }
.lc-lightbox{
  position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center;
  padding:32px; background:rgba(28,17,64,0.75);
  opacity:0; visibility:hidden; transition:opacity .18s ease;
}
.lc-lightbox.is-open{ opacity:1; visibility:visible; }
.lc-lightbox-inner{
  max-width:min(94vw, 1400px); max-height:90vh;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.lc-lightbox img{
  max-width:100%; max-height:80vh; width:auto; height:auto; display:block;
  border-radius:var(--lc-radius-md); box-shadow:var(--lc-shadow-lg); background:var(--lc-card-bg);
  cursor:zoom-out;
}
.lc-lightbox-caption{ color:#fff; font-size:13.5px; text-align:center; max-width:70ch; }
.lc-lightbox-close{
  position:absolute; top:20px; right:24px; width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(255,255,255,0.35); background:rgba(255,255,255,0.12); color:#fff;
  font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.lc-lightbox-close:hover{ background:rgba(255,255,255,0.22); }
@media (max-width:700px){
  .lc-lightbox{ padding:16px; }
  .lc-lightbox-close{ top:10px; right:10px; }
}

.lc-faq-item{ border-bottom:1px solid var(--lc-border); padding:16px 0; }
.lc-faq-item:last-child{ border-bottom:none; }
.lc-faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer;
  font-weight:600; color:var(--lc-heading); font-size:15px; list-style:none;
}
.lc-faq-q::-webkit-details-marker{ display:none; }
.lc-faq-q .plus{ font-family:'JetBrains Mono'; color:var(--lc-primary); flex-shrink:0; transition:transform .2s ease; }
details[open] .lc-faq-q .plus{ transform:rotate(45deg); }
.lc-faq-a{ font-size:15px; color:var(--lc-text); line-height:1.75; padding-top:10px; max-width:none; }
.lc-faq-item{ scroll-margin-top:96px; }
.lc-faq-q:hover{ color:var(--lc-primary); }

/* ---------- Right rail: CTA + on-page nav ---------- */
.lc-sidebar{ position:sticky; top:28px; display:flex; flex-direction:column; gap:16px; }
.lc-rail-label,
.lc-cta-card .label,
.lc-toc .label{
  font-family:'JetBrains Mono'; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--lc-text-soft); margin-bottom:10px;
}
.lc-cta,
.lc-cta-card{
  background:linear-gradient(180deg, #efe7ff 0%, #faf7ff 42%, #ffffff 100%);
  border:1px solid color-mix(in srgb, var(--lc-primary) 28%, var(--lc-border));
  border-radius:var(--lc-radius-md);
  padding:16px 16px 14px; box-shadow:var(--lc-shadow);
}
.lc-cta .status,
.lc-cta-card .status{ font-size:13.5px; color:var(--lc-text); line-height:1.55; margin-bottom:16px; }
.lc-cta .status b,
.lc-cta-card .status b{
  display:inline-flex; align-items:center; padding:1px 8px; margin:0 1px;
  border-radius:99px; font-weight:700; font-size:12px;
  color:var(--lc-primary-dark);
  background: color-mix(in srgb, var(--lc-primary) 18%, #fff);
}

.lc-btn{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  padding:12px 16px; border-radius:10px; font-weight:600; font-size:14px;
  border:1px solid transparent; cursor:pointer; transition:transform .12s ease, opacity .12s ease, filter .12s ease;
}
.learn-shell a.lc-btn{ color:inherit; }
.lc-btn:hover{ transform:translateY(-1px); }
.lc-btn + .lc-btn{ margin-top:10px; }
.learn-shell a.lc-btn-primary,
.lc-btn-primary{
  background:linear-gradient(135deg,#a678ff 0%,#7c4dde 55%,#5e2fbd 100%);
  color:#fff !important;
  box-shadow:0 10px 24px -10px rgba(148,103,254,0.55);
}
.learn-shell a.lc-btn-outline,
.lc-btn-outline{
  background: color-mix(in srgb, var(--lc-primary) 8%, #fff);
  border-color: color-mix(in srgb, var(--lc-primary) 32%, var(--lc-border));
  color:var(--lc-primary-dark) !important;
}
.learn-shell a.lc-btn-upgrade,
.lc-btn-upgrade{
  background:linear-gradient(135deg, var(--lc-elite-b), var(--lc-elite));
  color:#fff !important;
  box-shadow:0 10px 24px -10px rgba(245,158,11,0.5);
}
.learn-shell a.lc-btn-primary:hover,
.learn-shell a.lc-btn-upgrade:hover{ filter:brightness(1.06); }
.learn-shell a.lc-btn-outline:hover{
  background: color-mix(in srgb, var(--lc-primary) 14%, #fff);
}

.lc-toc{ background:var(--lc-card-bg); border:1px solid var(--lc-border); border-radius:var(--lc-radius-md); padding:18px 20px; }
.lc-toc a{ display:block; font-size:13.5px; color:var(--lc-text); padding:6px 0; border-left:2px solid transparent; padding-left:10px; }
.lc-toc a:hover, .lc-toc a.is-active{ color:var(--lc-primary); border-left-color:var(--lc-primary); }
.lc-toc a.is-h3{ padding-left:20px; font-size:12.5px; color:var(--lc-text-soft); }
.lc-toc-compact a.is-h3{ font-size:12.5px; }

.lc-related-rail{
  background:var(--lc-card-bg); border:1px solid var(--lc-border); border-radius:var(--lc-radius-md); padding:16px 18px;
}
.lc-related{ display:flex; flex-direction:column; gap:8px; }
.lc-related-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  font-size:13.5px; color:var(--lc-heading); padding:6px 0;
}
.lc-related-item:hover .lc-related-title{ color:var(--lc-primary); }
.lc-related-title{ min-width:0; }

.lc-pager{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px;
}
.lc-pager-link{
  display:flex; flex-direction:column; gap:4px;
  background:var(--lc-card-bg); border:1px solid var(--lc-border); border-radius:var(--lc-radius-sm);
  padding:14px 16px;
}
.lc-pager-link.is-next{ text-align:right; }
.lc-pager-link span{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--lc-text-faint); }
.lc-pager-link strong{ font-size:14px; color:var(--lc-heading); }
.lc-pager-link:hover{ border-color:var(--lc-primary); }
.lc-pager-link:hover strong{ color:var(--lc-primary); }
@media (max-width: 560px){ .lc-pager{ grid-template-columns:1fr; } }

/* ================= Responsive ================= */

/* Large desktop: a touch more breathing room in the grid */
@media (min-width: 1500px){
  .lc-grid{ grid-template-columns:repeat(auto-fill, minmax(250px,1fr)); }
}

/* Tablet and below: collapse the persistent rail into a drawer */
@media (max-width: 980px){
  .lc-topbar{ display:block; }
  .learn-shell{ grid-template-columns:1fr; padding:24px 20px 80px; gap:0; }
  /* The drawer opens directly under the sticky topbar, whose exact offset the
     nav script writes into --lc-drawer-top when it opens. */
  .lc-catnav{
    position:fixed; top:var(--lc-drawer-top, 53px); left:0; bottom:0; width:284px; max-height:none;
    background:var(--lc-body-bg); border-right:1px solid var(--lc-border);
    padding:16px 14px 28px; z-index:50; transform:translateX(-101%);
    transition:transform .25s ease; box-shadow:var(--lc-shadow-lg);
  }
  .lc-catnav.is-open{ transform:translateX(0); }
  .lc-hero, .lc-hero.is-compact{ grid-template-columns:1fr; gap:24px; }
  .lc-hero-aside{ width:100%; max-width:520px; }
}
@media (max-width: 1180px){
  .lc-anchor{ display:none; }
}
@media (max-width: 900px){
  .lc-layout{ grid-template-columns:1fr; gap:28px; }
  /* The rail unwraps into the page: CTA above the guide, nav and related below it. */
  .lc-sidebar{ display:contents; }
  .lc-cta{ order:1; }
  .lc-article-col{ order:2; }
  .lc-related-rail{ order:3; }
  .lc-sidebar .lc-toc{ display:none; }
  .lc-toc-compact{ display:flex; }
}
@media (max-width: 620px){
  .lc-prose,
  .lc-article-col > .lc-section{ padding:24px 20px; border-radius:var(--lc-radius-md); }
  .lc-prose{ font-size:16px; }
  .lc-prose > h2:first-child + p{ font-size:16.5px; }
}
@media (max-width: 560px){
  .lc-hero, .lc-hero.is-compact{ padding:28px 20px; border-radius:var(--lc-radius-md); gap:20px; }
  .lc-hero-card{ padding:14px; border-radius:14px; }
  .lc-hero-aside{ max-width:none; }
  .lc-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .lc-page-list{ grid-template-columns:1fr; }
}
@media (max-width: 420px){
  .lc-grid{ grid-template-columns:1fr; }
}

/* EZRA guide only (docs/bodies/ezra-research-analyst.html). A premium layer on
   top of the shared prose blocks; every class is scoped under .lc-ezra-*. */
.lc-prose .lc-ezra-hero{
  position:relative; overflow:hidden; margin:0 0 34px; padding:30px 30px 26px;
  border-radius:var(--lc-radius-lg); color:#fff;
  background:
    radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--lc-primary) 55%, transparent) 0%, transparent 55%),
    linear-gradient(135deg, var(--lc-secondary-dark) 0%, var(--lc-secondary) 55%, var(--lc-primary-dark) 100%);
  box-shadow:var(--lc-shadow-lg);
}
.lc-prose .lc-ezra-hero p{ max-width:62ch; color:rgba(255,255,255,0.84); margin:0 0 18px; font-size:15.5px; line-height:1.7; }
.lc-prose .lc-ezra-hero .lc-ezra-hero-title{
  font-size:clamp(22px,2.2vw,30px); font-weight:800; letter-spacing:-0.02em; line-height:1.2;
  color:#fff; margin:12px 0 10px;
}
.lc-ezra-hero-title em{
  font-style:normal;
  background:linear-gradient(90deg, #c4b2ff, #8fb8ff); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lc-ezra-live{
  display:inline-flex; align-items:center; gap:8px; padding:5px 12px; border-radius:999px;
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.22); color:#e9e3ff;
}
.lc-ezra-live::before{
  content:''; width:7px; height:7px; border-radius:50%; background:#34d399;
  box-shadow:0 0 0 3px rgba(52,211,153,0.25);
}
.lc-ezra-stats{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
.lc-ezra-stat{
  padding:12px 14px; border-radius:var(--lc-radius-md);
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16);
}
.lc-ezra-stat b{ display:block; font-size:19px; font-weight:800; color:#fff; line-height:1.2; }
.lc-ezra-stat span{ display:block; font-size:12px; color:rgba(255,255,255,0.72); margin-top:3px; line-height:1.4; }
.lc-prose .lc-ezra-hero + h2{ margin-top:0; }
.lc-prose .lc-ezra-hero + h2 + p{ font-size:18px; line-height:1.7; }

.lc-ezra-features{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:0 0 28px;
}
.lc-ezra-feature{
  position:relative; padding:18px 18px 16px; border-radius:var(--lc-radius-md);
  background:var(--lc-card-bg); border:1px solid var(--lc-border);
  box-shadow:0 1px 0 rgba(54,36,101,0.03);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.lc-ezra-feature:hover{
  border-color:color-mix(in srgb, var(--lc-primary) 40%, var(--lc-border));
  box-shadow:var(--lc-shadow); transform:translateY(-1px);
}
.lc-ezra-feature-icon{
  display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:10px; font-size:18px; line-height:1; margin-bottom:10px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--lc-primary) 16%, #fff), color-mix(in srgb, var(--lc-pro-b) 16%, #fff));
  border:1px solid color-mix(in srgb, var(--lc-primary) 22%, var(--lc-border));
}
.lc-prose .lc-ezra-feature-title{ font-size:14.5px; font-weight:700; color:var(--lc-heading); margin:0 0 6px; }
.lc-prose .lc-ezra-feature p{ margin:0; font-size:13.5px; line-height:1.6; max-width:none; }

.lc-prose .lc-ezra-tiers th.lc-ezra-elite,
.lc-prose .lc-ezra-tiers td.lc-ezra-elite{
  background:color-mix(in srgb, var(--lc-elite-b) 10%, #fff);
  border-left:1px solid color-mix(in srgb, var(--lc-elite-b) 40%, var(--lc-border));
}
.lc-prose .lc-ezra-tiers th.lc-ezra-elite{ color:var(--lc-elite); }
.lc-prose .lc-ezra-tiers td:first-child{ font-weight:600; color:var(--lc-heading); }
.lc-ezra-yes{ color:var(--lc-free); font-weight:700; }
.lc-ezra-no{ color:var(--lc-text-faint); font-weight:700; }

.lc-prose ol.lc-ezra-steps{ list-style:none; padding:0; margin:0 0 26px; counter-reset:ezra; max-width:none; }
.lc-prose ol.lc-ezra-steps > li{
  list-style:none; counter-increment:ezra; position:relative;
  padding:14px 16px 14px 58px; margin:0 0 10px; border-radius:var(--lc-radius-md);
  background:var(--lc-body-bg); border:1px solid var(--lc-border);
}
.lc-prose ol.lc-ezra-steps > li::before{
  content:counter(ezra); position:absolute; left:16px; top:13px;
  width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:800; color:#fff;
  background:linear-gradient(135deg, var(--lc-primary), var(--lc-primary-dark));
}
.lc-prose ol.lc-ezra-steps > li strong{ display:block; margin-bottom:2px; }

@media (max-width: 900px){
  .lc-ezra-features{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .lc-ezra-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .lc-prose .lc-ezra-hero{ padding:22px 18px 18px; border-radius:var(--lc-radius-md); }
  .lc-ezra-features{ grid-template-columns:1fr; }
}

/* AI TradingView Connector guide only (docs/bodies/ai-tradingview-connector.html).
   Sits on the ezpz-ai layer above; every class is scoped under .lc-finn-*. */
.lc-finn-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.lc-prose a.lc-finn-btn{
  display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:12px;
  font-size:14.5px; font-weight:700; line-height:1.2; text-decoration:none; color:#fff;
  background:linear-gradient(135deg, var(--lc-primary), var(--lc-primary-dark));
  border:1px solid color-mix(in srgb, var(--lc-primary) 60%, #fff);
  box-shadow:0 10px 24px -10px color-mix(in srgb, var(--lc-primary) 70%, transparent);
  transition:transform .18s ease, box-shadow .18s ease;
}
.lc-prose a.lc-finn-btn:hover{ color:#fff; transform:translateY(-1px); box-shadow:0 14px 30px -10px color-mix(in srgb, var(--lc-primary) 80%, transparent); }
.lc-prose a.lc-finn-btn-ghost{
  background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.3); box-shadow:none;
}
.lc-prose a.lc-finn-btn-ghost:hover{ background:rgba(255,255,255,0.18); box-shadow:none; }

.lc-prose .lc-finn-video{
  margin:0 0 28px; border-radius:var(--lc-radius-lg); overflow:hidden;
  background:var(--lc-secondary-dark); box-shadow:var(--lc-shadow-lg);
  border:1px solid color-mix(in srgb, var(--lc-primary) 30%, var(--lc-border));
}
.lc-finn-video video{ display:block; width:100%; height:auto; aspect-ratio:16 / 10; object-fit:contain; background:#000; }
.lc-prose .lc-finn-video figcaption{ color:rgba(255,255,255,0.78); background:var(--lc-secondary-dark); }
.lc-prose .lc-finn-video figcaption a{ color:#d9ccff; }

.lc-finn-power{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:0 0 24px; }
.lc-finn-level{
  --lv:var(--lc-free);
  padding:18px 18px 16px; border-radius:var(--lc-radius-md);
  background:var(--lc-card-bg); border:1px solid var(--lc-border);
}
.lc-finn-level-2{ --lv:var(--lc-pro); }
.lc-finn-level-3{
  --lv:var(--lc-elite);
  background:color-mix(in srgb, var(--lc-elite-b) 9%, #fff);
  border-color:color-mix(in srgb, var(--lc-elite-b) 45%, var(--lc-border));
}
.lc-prose .lc-finn-level-tag{
  margin:0 0 6px; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--lv);
}
.lc-prose .lc-finn-level-title{ margin:0 0 10px; font-size:16px; font-weight:800; color:var(--lc-heading); }
.lc-finn-meter{ display:block; height:6px; border-radius:99px; background:var(--lc-body-bg); overflow:hidden; margin:0 0 12px; }
.lc-finn-meter i{ display:block; height:100%; width:34%; border-radius:inherit; background:var(--lv); }
.lc-finn-level-2 .lc-finn-meter i{ width:67%; }
.lc-finn-level-3 .lc-finn-meter i{ width:100%; background:linear-gradient(90deg, var(--lc-elite-b), var(--lc-elite)); }
.lc-prose .lc-finn-level p:last-child{ margin:0; font-size:13.5px; line-height:1.6; max-width:none; }

.lc-finn-tier{
  display:inline-block; margin-left:6px; padding:2px 8px; border-radius:99px; vertical-align:middle;
  font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--tc); background:color-mix(in srgb, var(--tc) 10%, #fff);
  border:1px solid color-mix(in srgb, var(--tc) 30%, var(--lc-border));
}
.lc-finn-prompts{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin:0 0 28px; }
.lc-finn-prompt-group{
  padding:16px 18px 6px; border-radius:var(--lc-radius-md);
  background:var(--lc-body-bg); border:1px solid var(--lc-border);
}
.lc-prose .lc-finn-prompt-title{ margin:0 0 10px; font-size:14.5px; font-weight:700; color:var(--lc-heading); }
.lc-prose .lc-finn-prompt-group ul{ margin:0 0 10px; padding:0; max-width:none; }
.lc-prose .lc-finn-prompt-group ul > li{
  list-style:none; margin:0 0 8px; padding:8px 12px; font-size:14px; line-height:1.5;
  background:var(--lc-card-bg); border:1px solid var(--lc-border); border-radius:12px 12px 12px 4px;
}

.lc-prose pre.lc-finn-cmd{
  margin:0 0 14px; padding:12px 14px; overflow-x:auto; border-radius:var(--lc-radius-sm);
  background:var(--lc-secondary-dark); color:#e9e3ff; font-size:13px; line-height:1.6;
  font-family:'JetBrains Mono', ui-monospace, monospace; white-space:pre;
}
.lc-prose pre.lc-finn-cmd code{ background:none; border:0; padding:0; color:inherit; font-size:inherit; }

.lc-prose .lc-finn-cta{
  margin:36px 0 0; padding:30px; border-radius:var(--lc-radius-lg); color:#fff; text-align:center;
  background:
    radial-gradient(120% 140% at 0% 100%, color-mix(in srgb, var(--lc-primary) 50%, transparent) 0%, transparent 55%),
    linear-gradient(135deg, var(--lc-primary-dark) 0%, var(--lc-secondary) 55%, var(--lc-secondary-dark) 100%);
  box-shadow:var(--lc-shadow-lg);
}
.lc-prose .lc-finn-cta .lc-finn-cta-title{ margin:0 0 8px; font-size:clamp(21px,2vw,27px); font-weight:800; letter-spacing:-0.02em; color:#fff; max-width:none; }
.lc-prose .lc-finn-cta p{ margin:0 auto; max-width:58ch; color:rgba(255,255,255,0.84); }
.lc-finn-cta .lc-finn-actions{ justify-content:center; }

@media (max-width: 900px){
  .lc-finn-power{ grid-template-columns:1fr; }
  .lc-finn-prompts{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .lc-prose .lc-finn-cta{ padding:22px 18px; border-radius:var(--lc-radius-md); }
  .lc-prose a.lc-finn-btn{ width:100%; justify-content:center; }
}
