:root{
    --ink:#1b1b1a; --paper:#fdfcf8; --muted:#6f6a60; --rule:#d9d4c7;
    --crimson:#9e1b1b; --navy:#1f3a5f; --slate:#7b8794; --gold:#b8860b;
    --teal:#2a7f7f; --green:#2e7d4f; --grid:#ece8dd;
  }
  *{box-sizing:border-box}
  body{margin:0; background:var(--paper); color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    line-height:1.5; -webkit-font-smoothing:antialiased;}
  .wrap{max-width:920px; margin:0 auto; padding:0 22px 70px;}
  .pdfbar{text-align:right; padding:14px 0 0;}
  .pdfbtn{display:inline-block; font-size:12px; font-weight:700; letter-spacing:0.3px;
    color:var(--slate); text-decoration:none; border:1px solid var(--rule); border-radius:3px;
    padding:6px 12px;}
  .pdfbtn:hover{color:var(--crimson); border-color:var(--crimson);}
  .masthead{text-align:center; padding:30px 0 14px; border-bottom:3px double var(--ink);}
  .masthead h1{font-family:Georgia,"Times New Roman",serif; font-weight:700;
    font-size:clamp(38px,8vw,72px); letter-spacing:-0.5px; margin:0; line-height:0.95;}
  .masthead h1 .reg{color:var(--crimson); font-size:0.4em; vertical-align:top; margin-left:2px;}
  .masthead .tag{font-family:Georgia,serif; font-style:italic; color:var(--muted); margin-top:8px; font-size:15px;}
  .dateline{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;
    font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
    padding:9px 0; border-bottom:1px solid var(--rule);}
  .dateline .lead{font-family:Georgia,serif; font-style:italic; text-transform:none; letter-spacing:0; color:var(--crimson); font-size:14px;}
  .tape{display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--rule); padding:4px 0; font-variant-numeric:tabular-nums;}
  .tape .t{flex:1 1 110px; padding:8px 10px; border-right:1px solid var(--rule);}
  .tape .t:last-child{border-right:none}
  .tape .nm{font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}
  .tape .px{font-size:17px; font-weight:600; font-family:Georgia,serif}
  .tape .ch{font-size:12px; font-weight:600}
  .tape .t.stale{background:repeating-linear-gradient(135deg,transparent,transparent 6px,#f3efe4 6px,#f3efe4 7px);}
  .tape .asof{display:block; font-size:9px; letter-spacing:.04em; color:var(--slate); font-style:italic; margin-top:1px;}
  .up{color:var(--green)} .dn{color:var(--crimson)} .fl{color:var(--muted)}
  .index{padding:16px 0; border-bottom:1px solid var(--rule); columns:2; column-gap:30px;}
  .index a{display:block; color:var(--ink); text-decoration:none; font-size:14px; padding:3px 0; border-bottom:1px dotted transparent;}
  .index a:hover{border-bottom-color:var(--crimson); color:var(--crimson)}
  .index .num{color:var(--crimson); font-family:Georgia,serif; font-weight:700; margin-right:8px;}
  .note{font-size:12.5px; color:var(--muted); padding:14px 0; border-bottom:1px solid var(--rule); font-style:italic; line-height:1.45}
  .edge{border:1px solid var(--ink); border-top:4px solid var(--crimson); background:#fffdf7; padding:18px 20px; margin:18px 0 4px;}
  .edge h3{font-family:Georgia,serif; font-size:20px; margin:0 0 3px; font-weight:700;}
  .edge .stamp{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--crimson); font-weight:700; margin-bottom:10px;}
  .edge p{font-size:14.5px; margin:0 0 10px; line-height:1.55;}
  .edge p:last-child{margin-bottom:0}
  .section{padding-top:30px;}
  .section h2{font-family:Georgia,serif; font-size:25px; font-weight:700; margin:0 0 4px;
    border-bottom:2px solid var(--ink); padding-bottom:6px; display:flex; justify-content:space-between; align-items:baseline;}
  .section h2 .back{font-size:11px; font-weight:400; font-style:italic; color:var(--slate);}
  .section h2 .back a{color:var(--slate); text-decoration:none}
  .section h2 .back a:hover{color:var(--crimson)}
  .item{padding:20px 0; border-bottom:1px solid var(--rule);}
  .item .eyebrow{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--crimson); font-weight:700; margin-bottom:5px;}
  .item .webtag{display:inline-block; margin-left:7px; font-size:9px; letter-spacing:.08em; color:#8a8275; border:1px solid var(--rule); border-radius:9px; padding:1px 7px; vertical-align:middle;}
  .item .mkttag{display:inline-block; margin-left:7px; font-size:9px; letter-spacing:.08em; color:var(--teal); border:1px solid var(--teal); border-radius:9px; padding:1px 7px; vertical-align:middle;}
  .item .lead{font-family:Georgia,serif; font-size:18px; font-weight:700; margin:0 0 5px; line-height:1.3;}
  .item .body{font-size:14.5px; color:#2c2a26; margin:0 0 12px;}
  .chartbox{position:relative; background:#fff; border:1px solid var(--rule); border-radius:2px; padding:26px 12px 10px;}
  .chartbox .cap{position:absolute; top:9px; left:14px; font-size:11.5px; font-weight:700; color:var(--ink); font-family:Georgia,serif;}
  .chartbox .mark{position:absolute; top:9px; right:14px; font-size:10px; color:#cdc7b8; font-family:Georgia,serif; font-style:italic;}
  .chartbox img{display:block; width:100%; height:auto;}
  .src{font-size:11px; color:var(--muted); margin-top:7px; font-style:italic;}
  .src a{color:var(--slate); text-decoration:none; border-bottom:1px dotted var(--rule);}
  .src a:hover{color:var(--crimson); border-bottom-color:var(--crimson);}
  .ask{margin-top:9px;}
  .ask a{font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; color:var(--slate); text-decoration:none; border-bottom:1px solid transparent;}
  .ask a:hover{color:var(--crimson); border-bottom-color:var(--crimson);}
  .cal-sub, .glossary .cal-sub{font-size:12.5px; color:var(--muted); font-style:italic; margin:8px 0 0;}
  .cal-zone{margin-top:16px;}
  .cal-zone-h{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); margin:0 0 4px;}
  .cal-list{list-style:none; margin:0; padding:0;}
  .cal-row{display:flex; gap:14px; align-items:baseline; padding:8px 10px 8px 0; border-bottom:1px solid var(--rule);}
  .cal-row.today{background:#fffdf7; border-left:3px solid var(--crimson); padding-left:9px;}
  .cal-when{flex:0 0 92px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted);}
  .cal-row.today .cal-when{color:var(--crimson);}
  .cal-body{flex:1 1 auto; font-size:14px; line-height:1.4;}
  .cal-body a{color:var(--ink); text-decoration:none; border-bottom:1px dotted var(--rule);}
  .cal-body a:hover{color:var(--crimson); border-bottom-color:var(--crimson);}
  .cal-badge{display:inline-block; font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--slate); border:1px solid var(--rule); border-radius:3px; padding:0 5px; margin-right:7px; vertical-align:middle;}
  .cal-detail{display:block; font-size:12px; color:var(--muted); margin-top:2px;}
  .glossary-list{margin:12px 0 0;}
  .glossary-list .term{display:flex; gap:16px; align-items:baseline; padding:7px 0; border-bottom:1px solid var(--rule);}
  .glossary-list dt{flex:0 0 84px; font-family:Georgia,serif; font-weight:700; font-size:13px; color:var(--ink); margin:0;}
  .glossary-list dd{flex:1 1 auto; margin:0; font-size:13px; color:var(--muted); line-height:1.4;}
  .foot{padding:34px 0 0; text-align:center; color:var(--muted); font-size:12px; line-height:1.6;}
  .foot .rule{border:none; border-top:1px solid var(--rule); margin:0 0 20px;}
  .foot strong{color:var(--ink)}
  @media (max-width:560px){ .index{columns:1} .tape .t{flex:1 1 50%; border-bottom:1px solid var(--rule)} }
  /* PDF/print: keep each item, its chart, and the Edge whole — never split across a page. */
  @media print {
    .item, .chartbox, .edge, .index, .tape { break-inside:avoid; page-break-inside:avoid; }
    .cal-row, .cal-zone, .glossary-list .term { break-inside:avoid; page-break-inside:avoid; }
    .section h2 { break-after:avoid; page-break-after:avoid; }
    .item .lead { break-after:avoid; }
    .wrap { padding-bottom:0; }
    .pdfbar { display:none; }
  }
