:root{
  --bg:#0b0d0f;--band:#0e1114;--panel:#111418;--inset:#0b0d0f;--chip:#1a1f25;
  --border:#1f2429;--border2:#353a41;--text:#e8e6e1;--muted:#a9a59d;--faint:#8a8f96;
  --accent:#f2b33d;--accent-text:#f2b33d;--bull:#3fbf7f;--bear:#e0655a;--neutral:#4a5058;
  --serif:'Newsreader',Georgia,serif;--sans:'Archivo',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#f5f6f8;--band:#eceff3;--panel:#fff;--inset:#f1f3f6;--chip:#eef1f4;
  --border:#dde2e8;--border2:#c3cad3;--text:#0f1a2a;--muted:#4a5566;--faint:#6b7686;
  --accent-text:#8a5a00;--bull:#1f8a55;--bear:#c0392b;--neutral:#b7bec8;color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5}
a{color:inherit;text-decoration:none}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(44px,6vw,72px);line-height:1.02}
h2{font-size:clamp(30px,4vw,46px);line-height:1.1}
p{margin:0}
.mono{font-family:var(--mono)}.small{font-size:13px}.faint{color:var(--faint)}.muted{color:var(--muted)}.accent{color:var(--accent-text)}
.eyebrow{font:500 13px var(--mono);color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.eyebrow.faint{color:var(--faint)}
.lead{font-size:19px;line-height:1.6}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:0 64px;border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}
.brand-mark{width:28px;height:28px;border:2px solid var(--accent-text);border-radius:6px;display:grid;place-items:center;font:600 13px var(--mono);color:var(--accent-text)}
.site-nav{display:flex;gap:32px;font-weight:500;font-size:15px}
.site-nav a{color:var(--muted);padding:12px 0}
.site-nav a[aria-current="page"]{color:var(--text)}
.header-actions{display:flex;gap:10px;align-items:center}
.theme-toggle{width:44px;height:44px;border-radius:6px;border:1px solid var(--border2);background:transparent;color:var(--text);cursor:pointer;display:grid;place-items:center}
.btn{display:inline-block;font-weight:600;font-size:15px;padding:14px 22px;border-radius:6px;min-height:44px}
.btn-accent{background:var(--accent);color:#0b0d0f}
.btn-ghost{border:1px solid var(--border2)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.accent-link{color:var(--accent-text);font-weight:600;padding:10px 0;display:inline-block}
.section{padding:64px}
.band{background:var(--band);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stack{display:flex;flex-direction:column;gap:16px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font:500 13px var(--mono);padding:10px 14px;border-radius:8px;background:var(--chip);color:var(--muted)}
.bias-bull{color:var(--bull)}.bias-bear{color:var(--bear)}
.ladder{display:flex;flex-direction:column;gap:4px;font-family:var(--mono)}
.ladder-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;border-left:3px solid var(--bear)}
.ladder-row.side-S{border-left-color:var(--bull)}
.ladder-row .tag{font-size:12px;color:var(--faint);text-align:right}
.setup{border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--panel)}
.setup.is-primary{border-color:var(--accent)}
.setup-label{font:500 12px var(--mono);color:var(--faint);text-transform:uppercase}
.setup.is-primary .setup-label{color:var(--accent-text)}
.setup-name{font:400 30px/1.15 var(--serif);margin:10px 0 16px}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0}
.field{background:var(--inset);border-radius:10px;padding:14px 16px}
.field dt{font:500 11px var(--mono);color:var(--faint);text-transform:uppercase;margin-bottom:6px}
.field dd{margin:0}
.field.target dd{font-family:var(--mono);font-weight:600;color:var(--bull)}
.field.invalidation dd{color:var(--bear)}
.setup .note{margin-top:14px;color:var(--muted)}
.list{list-style:none;margin:0;padding:0}
.list li{padding:10px 0;border-bottom:1px solid var(--border);color:var(--muted)}
.context{font-size:21px;line-height:1.5}
.reminder{font-size:26px;line-height:1.35}
.plan-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px}
.pager{display:flex;gap:10px}
.plan-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin:28px 0 32px}
.plan-extras{margin-top:24px}
.outcome{margin-top:24px;border-style:dashed}
.raw{white-space:pre-line;color:var(--muted)}
.table{background:var(--panel);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-top:24px}
.row{display:grid;grid-template-columns:110px 1.2fr 1.4fr 150px;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border);align-items:center}
.row.head{font:500 12px var(--mono);color:var(--faint);text-transform:uppercase}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:10px;background:var(--neutral)}
.dot.bull{background:var(--bull)}.dot.bear{background:var(--bear)}
.stat-value{font:400 48px/1 var(--serif);margin:8px 0}
.hero-plan-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.tool-card{display:flex;flex-direction:column;gap:10px}
.tool-name{font-weight:700;font-size:17px;line-height:1.3}
.tool-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-weight:600}
.step-name{font-size:26px;margin:6px 0}
.cal-panel{margin:0 64px}
.cal{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:20px;margin-top:18px}
.cal-label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:8px}
.cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.cell{aspect-ratio:1;border-radius:3px;border:1px solid var(--border2);display:block}
.cell.pad{border-color:transparent}
.cell.bull{background:var(--bull);border-color:var(--bull)}
.cell.bear{background:var(--bear);border-color:var(--bear)}
.cell.neutral,.cell.none{background:var(--neutral);border-color:var(--neutral)}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{font:600 14px var(--sans);min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--border2);background:transparent;color:var(--muted);cursor:pointer}
.pill[aria-pressed="true"]{background:var(--accent);color:#0b0d0f;border-color:var(--accent)}
.search{font-size:15px;min-height:44px;padding:10px 14px;border-radius:8px;border:1px solid var(--border2);background:var(--panel);color:var(--text);width:280px}
.month-title{font-size:30px;margin:40px 0 0}
.no-results{margin-top:24px}
.site-footer{display:flex;justify-content:space-between;gap:24px;padding:48px 64px;border-top:1px solid var(--border);color:var(--muted);font-size:14px}
.site-footer nav{display:flex;gap:20px;flex-wrap:wrap}
.faq{border-bottom:1px solid var(--border);padding:18px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-text);font:500 22px var(--mono)}
.faq[open] summary::after{content:"–"}
.faq-q{font-size:23px;line-height:1.3}
.faq-a{margin-top:12px;font-size:17px;line-height:1.6;max-width:70ch}
.outcome-hit{color:var(--bull)}
.outcome-miss{color:var(--bear)}
.signup{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.signup-input{flex:1 1 220px;width:auto}
.product-title{font-size:clamp(34px,4.4vw,52px);line-height:1.05;margin:12px 0}
.price-row{display:flex;align-items:baseline;gap:12px}
.price-now{font:400 44px var(--serif)}
.price-now-small{font-size:18px}
.price-was{font-size:20px}
.product-hero{width:100%;height:auto;border-radius:14px;display:block;background:var(--panel)}
.product-thumb{width:100%;height:80px;object-fit:cover;border-radius:8px;background:var(--panel)}
.study-head{margin:24px 0 32px;max-width:860px}
.chart-panel{margin:0}
.chart-title{font-size:24px;margin-bottom:6px}
.chart{width:100%;height:auto;margin-top:20px;display:block}
.chart .bar{fill:var(--accent);opacity:.45}
.chart .bar.is-peak{opacity:1}
.chart .bar.is-trough{opacity:.75;fill:var(--muted)}
.chart .grid{stroke:var(--border);stroke-width:1}
.chart .axis-line{stroke:var(--border2);stroke-width:1}
.chart .axis{fill:var(--faint);font:500 12px var(--mono)}
.chart .axis-title{fill:var(--faint);font:500 11px var(--mono)}
.chart .mark-label{fill:var(--text);font:600 13px var(--mono)}
.row.cols-study{grid-template-columns:1fr 1fr 1fr}
.weekly-body{max-width:780px}
.weekly-body p{margin:0 0 12px;font-size:18px;line-height:1.6}
.weekly-heading{font-size:28px;margin:36px 0 14px;padding-top:20px;border-top:1px solid var(--border)}
.weekly-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.weekly-sub{font-size:21px;color:var(--text);margin:22px 0 8px}
/* Articles read like the research pages: left-aligned on a wide page, with the prose held at a
   comfortable measure and pictures allowed to run wider than the text. */
.article{max-width:1120px}
.article-head{margin:24px 0 32px}
.article-body{max-width:860px}
.article-body figure{max-width:1120px}
.article-body p{margin:0 0 18px;font-size:19px;line-height:1.65;color:var(--text)}
.article-body h2{font-size:34px;margin:40px 0 14px}
.article-body h3{font-size:26px;margin:32px 0 12px}
.article-body blockquote{margin:24px 0;padding:16px 22px;border-left:3px solid var(--accent);background:var(--panel);font-family:var(--serif);font-size:22px}
.article-list{margin:0 0 12px;padding-left:22px}
.article-list li{color:var(--text);font-size:18px;line-height:1.6;padding:0;border:0}
.article-body figure{margin:28px 0}
.article-body img{width:100%;height:auto;border-radius:12px;display:block}
.article-body figcaption{margin-top:8px;font-size:13px;color:var(--faint)}
.article-grid{align-items:start}
.article-card{display:flex;flex-direction:column;gap:10px;overflow:hidden}
.article-thumb{width:calc(100% + 48px);margin:-24px -24px 6px;height:170px;object-fit:cover}
.article-title{font-size:24px;line-height:1.25}
@media (max-width:900px){
  .site-header,.section,.site-footer{padding-left:16px;padding-right:16px}
  .site-header{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
  .site-nav{order:3;width:100%;gap:20px;overflow-x:auto}
  .grid-12,.cols-2,.cols-3,.cols-4{grid-template-columns:minmax(0,1fr)}
  [class*="span-"]{grid-column:auto}
  .row{grid-template-columns:70px minmax(0,1fr)}
  .row .col-bias,.row .col-outcome{display:none}
  .cal-panel{margin:0 16px}
  .cal{grid-template-columns:repeat(3,minmax(0,1fr))}
  .search{width:100%}
  .hero-plan-head,.plan-nav{flex-wrap:wrap;align-items:flex-start}
  .pager .btn{white-space:nowrap;padding:12px 16px}
  .site-footer{flex-direction:column}
  .article-body p{font-size:18px}
}
.video{margin:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel)}
.video-play{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;position:relative;line-height:0}
.video-play img{width:100%;height:auto;display:block}
.video-play-icon{position:absolute;inset:0;margin:auto;width:68px;height:68px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:rgba(11,13,15,.72);color:#fff;
  border:1px solid rgba(255,255,255,.28);transition:background .15s,transform .15s}
.video-play:hover .video-play-icon{background:var(--accent);color:#0b0d0f;transform:scale(1.06)}
.video-play:focus-visible .video-play-icon{outline:2px solid var(--accent);outline-offset:3px}
.video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.video figcaption{padding:18px 22px}
.video-title{font-size:21px;margin-bottom:6px}
.preview-bar{background:var(--accent);color:#0b0d0f;padding:9px 20px;font-size:14px;line-height:1.45;text-align:center}
.preview-bar strong{font-weight:700}
@media(max-width:640px){.preview-bar{font-size:13px;padding:8px 14px;text-align:left}}
.closed-shop{border-color:var(--accent)}
.closed-note{max-width:420px;width:calc(100% - 32px);padding:24px;border:1px solid var(--accent);background:var(--panel);color:var(--text)}
.closed-note .actions{margin-top:16px}
.closed-note::backdrop{background:rgba(0,0,0,.55)}
.letter-strip{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 64px;padding:16px 22px;
  border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;background:var(--panel);
  color:var(--muted);font-size:15px;line-height:1.5;text-decoration:none}
.letter-strip:hover{border-color:var(--accent);color:var(--text)}
.letter-strip .accent{margin-left:auto;white-space:nowrap}
@media(max-width:900px){.letter-strip{margin:0 20px;font-size:14px}.letter-strip .accent{margin-left:0}}
