/* Green Candle Journeys: blog / guides */
:root{
  --bg:#0D1117; --bg2:#11161D; --panel:#161B22; --panel2:#1C2128; --line:#30363D;
  --text:#F0F6FC; --muted:#9DA7B3; --dim:#6E7681;
  --green:#00E676; --green-d:rgba(0,230,118,.12); --red:#FF5252; --gold:#f5c249; --gold-d:rgba(245,194,73,.12); --teal:#14B8A6; --purple:#a77bff;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace; --head:Figtree,Inter,sans-serif; --body:Inter,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.7;overflow-x:hidden;
  background-image:linear-gradient(rgba(120,140,170,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,140,170,.05) 1px,transparent 1px);background-size:56px 56px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto;padding:0 24px}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(13,17,23,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;height:62px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--head);font-weight:700;font-size:18px;white-space:nowrap}
.logo b{color:var(--green)}
.nav-links{display:flex;gap:20px;font-size:14px;color:var(--muted)}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;font-family:var(--body);white-space:nowrap}
.btn-buy{background:var(--green);color:#04150c}
.btn-buy:hover{box-shadow:0 0 0 1px rgba(0,230,118,.5),0 0 22px rgba(0,230,118,.35)}
.btn-ghost{border-color:var(--line);background:var(--panel);color:var(--text)}
.btn-sm{padding:8px 14px;font-size:13px}
.nav .btn{margin-left:auto}

/* BLOG INDEX */
.b-hero{padding:64px 0 30px}
.eyebrow{font-family:var(--mono);font-size:12px;color:var(--gold);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px}
.b-hero h1{font-family:var(--head);font-size:clamp(36px,5vw,58px);line-height:1.05;letter-spacing:-1.5px;max-width:800px}
.b-hero h1 em{font-style:normal;color:var(--green)}
.b-hero p{color:var(--muted);font-size:18px;max-width:640px;margin-top:14px}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:20px 0 80px}
.post-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;min-height:230px}
.post-card .sym{font-family:var(--mono);font-size:11.5px;color:var(--c,var(--green));letter-spacing:.6px}
.post-card h2{font-family:var(--head);font-size:22px;line-height:1.2;letter-spacing:-.4px;margin:10px 0 8px}
.post-card p{color:var(--muted);font-size:15px}
.post-card .meta{margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:12px;color:var(--dim);display:flex;justify-content:space-between}
.post-card .meta b{color:var(--green);font-weight:500}

/* ARTICLE */
.crumbs{font-family:var(--mono);font-size:12px;color:var(--dim);padding-top:28px}
.crumbs a:hover{color:var(--text)}
article h1{font-family:var(--head);font-size:clamp(32px,4.6vw,50px);line-height:1.08;letter-spacing:-1.3px;margin:14px 0 14px}
.byline{font-family:var(--mono);font-size:12.5px;color:var(--dim);margin-bottom:26px}
.byline b{color:var(--muted);font-weight:500}
.lede{font-size:20px;line-height:1.6;color:#d3dae5;margin-bottom:24px}
.hero-fig{margin:0 0 28px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.hero-fig img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.fig{margin:30px 0 34px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.fig img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.fig.contain img{aspect-ratio:auto;max-height:560px;object-fit:contain;background:#000}
.fig figcaption{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding:10px 14px;border-top:1px solid var(--line)}
.post-card .thumb{display:block;margin:-22px -22px 16px;height:170px;overflow:hidden;border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post-card .thumb img[src$=".png"]{object-position:center top}
.post-card:hover .thumb img{transform:scale(1.04)}
.tldr{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:12px;padding:18px 22px;margin:0 0 34px}
.tldr h2{font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--green);margin-bottom:8px}
.tldr ul{list-style:none}
.tldr li{padding:5px 0;border-bottom:1px dashed var(--line);font-size:16px;color:var(--muted)}
.tldr li:last-child{border:0}
.tldr li b{color:var(--text)}
.article-body h2{font-family:var(--head);font-size:clamp(24px,2.8vw,31px);line-height:1.2;letter-spacing:-.6px;margin:46px 0 12px}
.article-body h3{font-family:var(--head);font-size:20px;margin:28px 0 8px}
.article-body p{margin:0 0 16px;color:#c9d1dd}
.article-body p.ans{color:var(--text)}
.article-body ul,.article-body ol{margin:0 0 18px 22px;color:#c9d1dd}
.article-body li{padding:3px 0}
.article-body a{color:var(--green);border-bottom:1px solid rgba(0,230,118,.35)}
.article-body a:hover{border-color:var(--green)}
/* Buttons inside the article are not text links: keep the button's own colour and no underline. */
.article-body a.btn{border-bottom:1px solid transparent}
.article-body a.btn-buy{color:#04150c}
.article-body a.btn-ghost{color:var(--text);border-color:var(--line)}
.article-body strong{color:var(--text)}
.table-wrap{overflow-x:auto;margin:6px 0 22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
table.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tbl th{font-family:var(--mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--dim);text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-weight:500}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);color:#c9d1dd}
.tbl tr:last-child td{border:0}
.tbl td.m{font-family:var(--mono);color:var(--text);white-space:nowrap}
.note{font-size:14px;color:var(--dim);margin-top:-12px;margin-bottom:20px}
.mid-cta{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(120deg,rgba(0,230,118,.12),rgba(245,194,73,.08));border:1px solid rgba(0,230,118,.3);border-radius:14px;padding:20px 22px;margin:34px 0}
.mid-cta b{display:block;font-family:var(--head);font-size:19px}
.mid-cta span{color:var(--muted);font-size:15px}
.faq{margin-top:10px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-family:var(--head);font-size:18px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--green)}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--muted);padding-bottom:16px}
.bottom-line{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-top:40px}
.bottom-line h2{margin-top:0!important}
.disc{font-size:13.5px;color:var(--dim);margin-top:26px;border-top:1px dashed var(--line);padding-top:16px}
.next{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:40px 0 80px}
.next a{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.next small{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.6px;text-transform:uppercase}
.next b{display:block;font-family:var(--head);font-size:17px;margin-top:4px}

/* Session converter widget */
.conv{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:8px 0 26px}
.conv-h{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.conv-h b{color:var(--text)}
.conv-h select{font-family:var(--mono);font-size:12.5px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 8px}
.conv-row{display:grid;grid-template-columns:150px 1fr 120px;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:13.5px}
.conv-row:last-child{border:0}
.conv-row .st{font-size:11px;font-weight:700;letter-spacing:.5px}
.conv-row .st.on{color:var(--green)} .conv-row .st.off{color:var(--dim)}
.conv-track{position:relative;height:10px;background:var(--panel2);border-radius:5px}
.conv-track i{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--c)}
.conv-track .now{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text)}

footer{border-top:1px solid var(--line);padding:32px 0 40px;color:var(--dim);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media (max-width:760px){
  body{font-size:16px}
  .wrap,.narrow{padding:0 16px}
  .nav-links{display:none}
  .posts,.next{grid-template-columns:1fr}
  .lede{font-size:18px}
  .conv-row{grid-template-columns:110px 1fr;}
  .conv-row .vn{grid-column:1/-1;color:var(--muted)}
}

/* Reading mode for long articles: calmer column, brighter body text, more air.
   Dark stays (traders live on dark charts) but the grid fades out behind the text. */
.narrow{max-width:740px}
main.narrow{position:relative}
main.narrow::before{content:"";position:absolute;top:0;bottom:0;left:-48px;right:-48px;z-index:-1;background:var(--bg);
  -webkit-mask:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
.lede{color:#E2E8F0}
.article-body p,.article-body ul,.article-body ol{font-size:18px;line-height:1.78;color:#D6DDE6}
.article-body p{margin:0 0 20px}
.article-body li{padding:4px 0}
.article-body h2{margin:58px 0 14px}
.article-body p.ans{color:var(--text)}
/* Small print stays small: these beat the .article-body p reading size above. */
.article-body p.note{font-size:14px;line-height:1.6;color:var(--dim);margin:-12px 0 20px}
.article-body p.disc{font-size:13.5px;line-height:1.6;color:var(--dim);margin:26px 0 0}
.tbl td{color:#D6DDE6}
.tldr li,.faq details p{color:#B8C1CC}
.faq details p{font-size:16.5px;line-height:1.7}
::selection{background:rgba(0,230,118,.28);color:var(--text)}
.article-body h2{scroll-margin-top:88px}

/* Article rails (built in fx.js): contents on the left, trip card on the right.
   Only where the margins are wide enough to hold them without squeezing the 740px column. */
.rail{display:none}
@media (min-width:1280px){
  .rail{display:block;position:absolute;width:min(252px,calc((100vw - 740px)/2 - 50px))}
  .rail-l{right:calc(100% + 28px)}
  .rail-r{left:calc(100% + 28px);transition:opacity .35s}
  .rail-r.dim{opacity:.35}
  .rail-r.dim:hover,.rail-r.dim:focus-within{opacity:1}
}
.rail-in{position:sticky;top:94px;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.rail-lab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 10px;font:500 11px/1.4 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--dim)}
.rail-lab b{font-weight:500;letter-spacing:.4px;color:var(--green);white-space:nowrap}
.rail-bar{height:2px;margin:0 0 14px;background:var(--line);border-radius:2px;overflow:hidden}
.rail-bar i{display:block;height:100%;background:var(--green);transform:scaleX(0);transform-origin:0 50%;transition:transform .15s linear}
.toc{list-style:none;border-left:1px solid var(--line)}
.toc a{display:grid;grid-template-columns:22px 1fr;gap:6px;margin-left:-1px;padding:7px 0 7px 14px;border-left:2px solid transparent;font-size:13.5px;line-height:1.45;color:var(--muted);transition:color .15s,border-color .15s}
.toc .n{font:500 11px/1.8 var(--mono);color:var(--dim);transition:color .15s}
.toc a:hover{color:var(--text)}
.toc a.on{color:var(--text);border-left-color:var(--green)}
.toc a.on .n{color:var(--green)}
.rail-cta{padding:18px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--green);border-radius:12px}
.rail-cta > b{display:block;margin:0 0 8px;font:700 17px/1.3 var(--head);color:var(--text)}
.rail-cta > span{display:block;margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--muted)}
.rail-cta .btn{width:100%;white-space:normal;text-align:center;line-height:1.3}
.rail-next{margin-top:24px}
.rail-next a{display:block;padding:11px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--muted);transition:color .15s}
.rail-next a:hover{color:var(--text)}
@media (max-width:760px){
  .article-body p,.article-body ul,.article-body ol{font-size:17px;line-height:1.75}
  .article-body h2{margin-top:46px}
  main.narrow::before{left:0;right:0;-webkit-mask:none;mask:none}
}

/* Trader Playbook filter: search + topic chips */
.pb-filter{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:4px 0 6px}
.pb-search{flex:1 1 300px;max-width:420px;display:flex;align-items:center;gap:10px;padding:0 14px;height:46px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--muted);transition:border-color .15s,box-shadow .15s}
.pb-search:focus-within{border-color:rgba(0,230,118,.6);box-shadow:0 0 0 3px rgba(0,230,118,.12);color:var(--green)}
.pb-search input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:15.5px}
.pb-search input::placeholder{color:var(--dim)}
.pb-cats{display:flex;flex-wrap:wrap;gap:8px}
.pb-cats button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:600 14px var(--body);cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.pb-cats button i{font-style:normal;font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--dim);background:var(--bg);border-radius:999px;padding:1px 7px}
.pb-cats button:hover{color:var(--text);border-color:var(--muted)}
.pb-cats button[aria-pressed="true"]{color:#04150c;background:var(--green);border-color:var(--green)}
.pb-cats button[aria-pressed="true"] i{color:#04150c;background:rgba(4,21,12,.15)}
.pb-count{width:100%;font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.4px}
.pb-empty{padding:30px 0 10px;color:var(--muted)}
.pb-empty a{color:var(--green);border-bottom:1px solid rgba(0,230,118,.4)}
.post-card[hidden]{display:none}

/* "Take me to the top": under every article and the Trader Playbook list */
.to-top-wrap{display:flex;justify-content:center;margin:-40px 0 72px}
.posts + .to-top-wrap{margin-top:-44px}
.to-top{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);
  font:700 13px var(--mono);letter-spacing:2.4px;text-transform:uppercase;color:var(--text);transition:border-color .15s,color .15s,box-shadow .15s}
.to-top svg{width:14px;height:14px;flex:none}
.to-top:hover,.to-top:focus-visible{border-color:var(--green);color:var(--green);box-shadow:0 0 18px rgba(0,230,118,.18);outline:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){.pb-search{max-width:none;flex-basis:100%}.pb-cats{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}.pb-cats::-webkit-scrollbar{display:none}.pb-cats button{flex:none}}
