:root{
  --bg:#0A111C; --bg-2:#0F1928; --panel:#132033; --line:#22324A; --grid:#162438;
  --text:#DCE5EE; --muted:#93A4B8; --up:#00D97E; --up-ink:#04130C; --dn:#FF5C5C; --amber:#F2B33D;
  --serif:"Literata",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--serif);font-size:1.125rem;line-height:1.72;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:64px 64px;background-attachment:fixed}
img{max-width:100%;display:block}
a{color:var(--up);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--up);color:var(--up-ink);padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}
h1,h2,h3{font-family:var(--sans);font-stretch:85%;line-height:1.1;letter-spacing:-.01em;margin:0 0 .5em;color:#F4F8FB}
h1{font-size:clamp(2.1rem,5vw,3.5rem);font-weight:900}
h2{font-size:clamp(1.45rem,2.6vw,1.95rem);font-weight:800;margin-top:1.8em}
h3{font-size:1.3rem;font-weight:800}
p{margin:0 0 1.1em}

.site-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem clamp(1.2rem,4vw,3rem);background:rgba(10,17,28,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.wordmark{font-family:var(--sans);font-weight:900;font-stretch:78%;font-size:1.6rem;color:#fff;text-decoration:none;letter-spacing:-.01em;display:flex;align-items:center;gap:.55rem}
.wordmark::before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:var(--up);box-shadow:0 0 10px var(--up)}
.site-head nav{display:flex;gap:1.5rem;font-family:var(--sans);font-size:1rem;font-weight:700}
.site-head nav a{color:var(--text);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}
.site-head nav a:hover{border-bottom-color:var(--up);color:#fff}

.wrap{max-width:72rem;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}

/* hero: candles draw in, test the level, break out */
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,rgba(0,217,126,.14),transparent 55%),var(--bg-2);border-bottom:1px solid var(--line);padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3.5rem,8vw,6rem)}
.hero-chart{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.2) 45%,#000 72%);mask-image:linear-gradient(90deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.2) 45%,#000 72%)}
.hero-chart .grid line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.6}
.hero-chart .lvl{stroke:var(--amber);stroke-width:1.6;stroke-dasharray:8 7;opacity:.9;vector-effect:non-scaling-stroke}
.cd line{stroke-width:1.6;vector-effect:non-scaling-stroke}
.cd.up line,.cd.up rect{stroke:var(--up);fill:var(--up)}
.cd.dn line{stroke:var(--dn)}.cd.dn rect{fill:var(--dn);stroke:var(--dn)}
.cd{opacity:0;animation:cdin .35s ease-out var(--d) forwards}
@keyframes cdin{from{opacity:0;transform:translateY(6px)}to{opacity:.95;transform:none}}
@media (prefers-reduced-motion:reduce){.cd{animation:none;opacity:.95}}
.hero-text{position:relative;max-width:72rem;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}
.hero h1{text-shadow:0 2px 24px rgba(10,17,28,.9);font-size:clamp(2.3rem,5.8vw,4.6rem);font-stretch:75%;max-width:17ch;color:#fff;text-wrap:balance}
.hero-sub{font-size:clamp(1.1rem,1.8vw,1.3rem);max-width:40rem;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

/* ticker: real figures from the books */
.ticker{overflow:hidden;display:flex;background:#060C14;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.9rem}
.tk-track{display:flex;flex-shrink:0;gap:3rem;padding:.75rem 1.5rem;margin:0;list-style:none;animation:tk 60s linear infinite;white-space:nowrap}
.ticker:hover .tk-track{animation-play-state:paused}
.tk-track li{color:var(--muted)}
.tk-track b{font-weight:700;margin-right:.35rem}
.tk-track li.up b{color:var(--up)}.tk-track li.dn b{color:var(--dn)}
@keyframes tk{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.tk-track{animation:none}.ticker{overflow-x:auto}}

.btn{display:inline-block;font-family:var(--sans);font-weight:800;font-size:1.02rem;padding:.8rem 1.4rem;background:var(--up);color:var(--up-ink);border:2px solid var(--up);border-radius:4px;text-decoration:none;line-height:1.2;box-shadow:0 0 0 rgba(0,217,126,0);transition:box-shadow .15s}
.btn:hover{box-shadow:0 0 18px rgba(0,217,126,.45)}
.btn-quiet{background:transparent;color:var(--text);border-color:var(--line)}
.btn-quiet:hover{border-color:var(--up);color:#fff;box-shadow:none}
.text-link{font-family:var(--sans);font-weight:700;font-size:1rem}

.section-title{margin-top:3.5rem}
.section-intro{max-width:44rem;color:var(--muted)}
.series-row{padding:2rem 0;border-top:1px solid var(--line);max-width:48rem}
.series-row h3 a{color:#fff;text-decoration:none}
.series-row h3 a:hover{color:var(--up)}
.series-row.featured{max-width:none;background:linear-gradient(180deg,var(--panel),rgba(19,32,51,.6));border:1px solid var(--line);border-top:3px solid var(--up);border-radius:6px;padding:1.8rem 1.8rem 1.4rem;margin-bottom:1.5rem}
.series-row.featured > p{max-width:48rem}
.title-list{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.1rem 2rem;font-family:var(--sans);font-size:1.02rem}
.title-list li{border-bottom:1px solid var(--line);padding:.5rem 0}
.title-list li::before{content:"\25B2";color:var(--up);font-size:.7rem;margin-right:.5rem;position:relative;top:-.1rem}
.title-list a{color:var(--text);text-decoration:none;font-weight:700}
.title-list a:hover{color:var(--up)}
#series{padding-bottom:3rem}

.page-head{padding-top:2.5rem;padding-bottom:1rem}
.crumbs{font-family:var(--mono);font-size:.85rem;color:var(--muted);margin-bottom:1.4rem}
.crumbs a{color:var(--muted)}
.lede{font-size:1.3rem;line-height:1.55;max-width:42rem;color:#EEF3F8}
.subtitle{font-family:var(--sans);font-stretch:90%;font-size:1.2rem;color:var(--muted);font-weight:500;max-width:40rem;margin-top:-.2rem}

.cover{position:relative;aspect-ratio:1/1.6;width:100%;max-width:17rem;box-shadow:0 18px 40px rgba(0,0,0,.55),0 0 0 1px var(--line)}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover.has-img{aspect-ratio:auto;background:var(--bg)}
.cover.has-img img{position:static;height:auto}
.cover.has-img .cover-art{display:none}
.cover-art{position:absolute;inset:0;background:#0B1624;color:#fff;display:flex;flex-direction:column;padding:1.1rem;font-family:var(--sans)}
.c-series{font-size:.7rem;font-weight:700;color:var(--up);line-height:1.3}
.c-title{font-size:1.4rem;font-weight:900;font-stretch:78%;line-height:1.05;margin-top:.7rem}
.c-line{width:100%;height:28%;margin-top:auto;color:var(--up)}
.c-line .c-level{stroke:var(--amber);stroke-width:1.4;stroke-dasharray:4 3}
.c-author{font-size:.85rem;font-weight:800;margin-top:.7rem}

.book-list{padding-bottom:4rem}
.book-row{display:grid;grid-template-columns:11rem 1fr;gap:2rem;padding:2rem;margin-bottom:1.2rem;background:rgba(19,32,51,.55);border:1px solid var(--line);border-radius:6px;align-items:start;transition:border-color .15s}
.book-row:hover{border-color:var(--up)}
.row-cover{display:block}
.row-cover .cover{max-width:11rem}
.row-cover .c-title{font-size:1.05rem}
.row-cover .c-series{font-size:.6rem}
.book-row h2{margin-top:0;font-size:1.6rem}
.book-row h2 a{color:#fff;text-decoration:none}
.book-row h2 a:hover{color:var(--up)}
.row-text{max-width:42rem}

.book{padding-top:2.5rem;padding-bottom:3rem}
.book-grid{display:grid;grid-template-columns:17rem 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.book-side{position:sticky;top:5rem}
.buy{display:flex;flex-direction:column;gap:.6rem;margin-top:1.6rem;max-width:17rem}
.buy .btn{text-align:center}
.buy-again{display:none}
.book-main{max-width:42rem}
.prose h2{border-top:1px solid var(--line);padding-top:1.2rem}
.inside{padding-left:0;list-style:none}
.inside li{margin-bottom:.6rem;padding-left:1.5rem;position:relative}
.inside li::before{content:"\25B2";position:absolute;left:0;top:.05rem;color:var(--up);font-size:.75rem}
.facts{font-family:var(--mono);color:var(--muted);font-size:.9rem}
.pull{margin:1.8rem 0;padding:.4rem 0 .4rem 1.2rem;border-left:4px solid var(--up);font-size:1.45rem;line-height:1.45;font-style:italic;color:#fff}
.related{font-family:var(--sans);font-size:1rem;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--amber);padding:.8rem 1rem;margin:1.2rem 0}
.related a{font-weight:800}
.stages{list-style:none;padding:0;margin:1.4rem 0;counter-reset:st}
.stage{counter-increment:st;padding:1.1rem 0 1rem 3.2rem;border-top:1px solid var(--line);position:relative}
.stage::before{content:counter(st);position:absolute;left:0;top:1rem;font-family:var(--mono);font-weight:700;font-size:1.7rem;line-height:1;color:var(--up)}
.stage h3{margin-bottom:.1rem}
.stage-q{color:var(--muted);margin-bottom:.4rem}
.stage ul{margin:0;padding-left:1.1rem;font-size:1.02rem}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3.5rem;border-top:2px solid var(--line);padding-top:1.4rem}
.pn a{font-family:var(--sans);font-weight:800;font-size:1.1rem;color:#fff;text-decoration:none;line-height:1.3}
.pn a span{display:block;font-family:var(--mono);font-weight:500;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}
.pn a:hover{color:var(--up)}
.pn-next{text-align:right}

.about{padding-top:2.5rem;padding-bottom:4rem}
.about .prose{max-width:42rem}
.about strong{color:#fff}

.site-foot{background:#060C14;color:var(--muted);margin-top:2rem;border-top:1px solid var(--line)}
.foot-inner{max-width:72rem;margin:0 auto;padding:2.6rem clamp(1.2rem,4vw,3rem);font-size:1rem}
.foot-mark{font-family:var(--sans);font-weight:900;font-stretch:78%;font-size:1.3rem;color:#fff}
.disclaimer{max-width:46rem;font-size:.92rem;line-height:1.6}
.small{font-size:.85rem}

/* look inside */
.li-grid{list-style:none;padding:0;margin:1.2rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:1.2rem}
.li-grid li{font-family:var(--sans);font-size:.88rem;line-height:1.35;color:var(--muted)}
.li-thumb{display:block;width:100%;padding:0;border:1px solid var(--line);background:#fff;cursor:zoom-in;margin-bottom:.5rem;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.li-thumb:hover{outline:2px solid var(--up)}
.li-thumb img{width:100%;height:auto}
.li-dialog{border:1px solid var(--line);padding:0;background:var(--bg-2);color:var(--text);max-width:min(46rem,94vw);width:100%;max-height:94vh;overflow:auto}
.li-dialog::backdrop{background:rgba(3,7,12,.85)}
.li-bar,.li-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;font-family:var(--sans);font-size:.95rem;position:sticky;background:var(--bg-2)}
.li-bar{top:0;border-bottom:1px solid var(--line)}
.li-nav{bottom:0;border-top:1px solid var(--line)}
.li-big{width:100%;height:auto;background:#fff}
.li-dialog button{font-family:var(--sans);font-weight:800;font-size:.95rem;background:transparent;border:2px solid var(--line);color:var(--up);padding:.45rem .9rem;border-radius:4px;cursor:pointer}
.li-dialog button:hover{border-color:var(--up)}

@media (max-width:760px){
  .book-grid{grid-template-columns:1fr}
  .book-side{position:static;display:grid;grid-template-columns:9rem 1fr;gap:1.2rem;align-items:start}
  .book-side .cover{max-width:9rem}
  .book-side .c-title{font-size:.95rem}.book-side .c-series{font-size:.55rem}.book-side .c-author{font-size:.7rem}
  .buy{margin-top:0}
  .buy-again{display:block;margin-top:2rem}
  .book-row{grid-template-columns:7rem 1fr;gap:1.1rem;padding:1.1rem}
  .row-cover .cover{max-width:7rem}
  .row-cover .c-title{font-size:.8rem}.row-cover .c-series,.row-cover .c-author{display:none}
  .book-row h2{font-size:1.3rem}
  .pn{grid-template-columns:1fr}.pn-next{text-align:left}
  .series-row.featured{padding:1.2rem}
}
@media (max-width:760px){.hero-chart{opacity:.4}.site-head{position:static}}

/* where to go next */
.nx-grid{list-style:none;padding:0;margin:1.2rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1.4rem}
.nx-card{display:block;text-decoration:none;color:var(--text)}
.nx-card .cover{max-width:100%;margin-bottom:.7rem;transition:transform .15s}
.nx-card:hover .cover{transform:translateY(-3px)}
.nx-card .c-title{font-size:1rem}.nx-card .c-series{font-size:.55rem}
.nx-series{display:block;font-family:var(--mono);font-size:.72rem;color:var(--up);margin-bottom:.2rem}
.nx-title{display:block;font-family:var(--sans);font-weight:800;font-size:1rem;line-height:1.25;color:#fff}
.nx-card:hover .nx-title{color:var(--up)}
