:root{
  --paper:#E8EBE4;
  --ink:#17191C;
  --rule:#8A8F86;
  --soft:#3d4138;
  --memo:#FBFBF6;
  --marker:#F2E24B;
  --stamp:#A3271F;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:1.125rem;
  line-height:1.6;
}
a{color:inherit}
a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.sheet{max-width:68rem;margin:0 auto;padding:1rem 1.15rem 3rem}

/* Masthead */
.masthead{text-align:center;border-bottom:4px double var(--ink);padding-bottom:.6rem}
.ears{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;font-style:italic;line-height:1.3;color:var(--soft)}
.ears span:last-child{text-align:right}
.nameplate{
  font-family:"UnifrakturCook","Newsreader",serif;
  font-weight:700;
  font-size:clamp(3rem,15vw,6.5rem);
  line-height:1;
  margin:.5rem 0 .35rem;
  letter-spacing:.01em;
}
.nameplate a{text-decoration:none}
.motto{font-style:italic;font-size:1rem;margin:0}
.dateline{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-bottom:1px solid var(--ink);
  padding:.45rem 0;margin-bottom:1.6rem;
  font-size:.9rem;
}

/* Article head */
.kicker{font-style:italic;font-size:1rem;margin:0 0 .5rem}
.headline{
  font-weight:700;
  font-size:clamp(2.4rem,10vw,5rem);
  line-height:.98;
  letter-spacing:-.02em;
  margin:0 0 1rem;
  text-wrap:balance;
}
.deck{
  font-size:clamp(1.2rem,4.4vw,1.55rem);
  line-height:1.35;
  font-weight:500;
  max-width:44rem;
  margin:0 0 1rem;
}
.byline{
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:.5rem 0;margin:0 0 1.6rem;font-size:.95rem;
}
.byline strong{font-weight:700}

.layout{display:grid;gap:2rem}
.story p{margin:0 0 1.05rem;max-width:38rem}
.story h2{
  font-size:1.55rem;line-height:1.15;font-weight:700;letter-spacing:-.01em;
  margin:2rem 0 .7rem;padding-top:.7rem;border-top:1px solid var(--ink);
  max-width:38rem;text-wrap:balance;
}
.story > p:first-of-type::first-letter{
  float:left;font-size:4.6rem;line-height:.82;font-weight:700;
  padding:.3rem .5rem 0 0;
}

/* Leaked memo */
.memo{
  position:relative;
  background:var(--memo);
  border:1px solid var(--ink);
  box-shadow:6px 6px 0 var(--ink);
  padding:1.3rem 1.3rem 1.1rem;
  margin:1.8rem 6px 2rem 0;
  max-width:36rem;
  transform:rotate(-.6deg);
}
.memo h3{font-size:1.25rem;margin:0 0 .15rem;font-weight:700}
.memo .ref{font-style:italic;font-size:.9rem;margin:0 0 .8rem;color:var(--soft)}
.memo ol{margin:0;padding-left:1.4rem}
.memo li{margin:.4rem 0;padding-left:.2rem}
.memo mark{background:var(--marker);color:inherit;padding:0 .15em}
.memo .note{font-size:.9rem;font-style:italic;margin:.9rem 0 0;border-top:1px dashed var(--rule);padding-top:.6rem;max-width:none}
.stamp{
  position:absolute;top:.8rem;right:.8rem;
  color:var(--stamp);border:3px solid var(--stamp);
  font-weight:700;font-size:.95rem;line-height:1;
  padding:.3rem .5rem;transform:rotate(7deg);
  border-radius:3px;opacity:.85;
}

blockquote{
  margin:1.8rem 0;padding:.2rem 0 .2rem 1rem;
  border-left:5px solid var(--ink);
  font-size:1.5rem;line-height:1.25;font-style:italic;font-weight:500;
  max-width:34rem;text-wrap:balance;
}

/* Timeline (buzzword history) */
.timeline{margin:1.4rem 0 2rem;max-width:38rem;border-left:1px solid var(--ink)}
.entry{padding:0 0 1.3rem 1rem;position:relative}
.entry::before{
  content:"";position:absolute;left:-5px;top:.55rem;
  width:9px;height:9px;background:var(--ink);border-radius:50%;
}
.entry .year{font-size:.95rem;font-style:italic;margin:0;color:var(--soft)}
.entry h3{font-size:1.3rem;line-height:1.2;margin:0 0 .25rem;font-weight:700}
.entry p{margin:0}

/* Forecast */
.forecast{
  background:var(--memo);border:1px solid var(--ink);
  box-shadow:6px 6px 0 var(--ink);
  padding:1.2rem 1.2rem .4rem;margin:1.6rem 6px 2rem 0;max-width:38rem;
}
.forecast h3{font-size:1.2rem;margin:0;font-weight:700}
.forecast .term{padding:0 0 .9rem;margin:0 0 .9rem;border-bottom:1px solid var(--rule)}
.forecast .term:last-child{border-bottom:0;margin-bottom:0}
.forecast .term p{margin:.15rem 0 0;max-width:none}
.forecast .odds{font-style:italic;font-size:.95rem;color:var(--soft)}
.forecast mark{background:var(--marker);color:inherit;padding:0 .15em}

/* Diagram */
.diagram{margin:1.8rem 0 2rem;max-width:30rem}
.diagram svg{display:block;width:100%;height:auto}
.diagram figcaption{font-size:.9rem;font-style:italic;color:var(--soft);margin-top:.6rem}

/* Side column */
.side section{border-top:4px solid var(--ink);padding-top:.6rem;margin-bottom:2rem}
.side h2{font-size:1.2rem;margin:0 0 .5rem;font-weight:700}
.side p{font-size:1rem;line-height:1.5;margin:0 0 .7rem}
.side ul{margin:0;padding-left:1.1rem;font-size:1rem;line-height:1.45}
.side li{margin:.35rem 0}
.ledger{width:100%;border-collapse:collapse;font-size:1rem}
.ledger th{font-weight:400;text-align:left;padding:.45rem .5rem .45rem 0;border-bottom:1px solid var(--rule);line-height:1.3}
.ledger td{text-align:right;font-weight:700;padding:.45rem 0;border-bottom:1px solid var(--rule);white-space:nowrap;vertical-align:top;font-variant-numeric:tabular-nums}
.ledger tr:last-child th,.ledger tr:last-child td{border-bottom:0}

/* Share line */
.share{margin:2.2rem 0 0;padding-top:.7rem;border-top:1px solid var(--rule);font-size:1rem;font-style:italic;max-width:38rem}
.share{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;row-gap:.8rem}
@media (max-width:40rem){.share{gap:1.6rem;row-gap:.8rem}}
.byline + .share{margin:-.6rem 0 1.8rem;padding-top:0;border-top:0}
.share a{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.6rem;height:2.6rem;margin-top:.6rem;
  border:1px solid var(--ink);border-radius:50%;
  text-decoration:none;color:var(--ink);
}
.share svg{display:block}
.share .wa{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E")}
.share .x{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E")}
.share .fb{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E")}
.share .li{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E")}
.share .tg{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248,8C111.033,8,0,119.033,0,256S111.033,504,248,504,496,392.967,496,256,384.967,8,248,8ZM362.952,176.66c-3.732,39.215-19.881,134.378-28.1,178.3-3.476,18.584-10.322,24.816-16.948,25.425-14.4,1.326-25.338-9.517-39.287-18.661-21.827-14.308-34.158-23.215-55.346-37.177-24.485-16.135-8.612-25,5.342-39.5,3.652-3.793,67.107-61.51,68.335-66.746.153-.655.3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283.746-104.608,69.142-14.845,10.194-26.894,9.934c-8.855-.191-25.888-5.006-38.551-9.123-15.531-5.048-27.875-7.717-26.8-16.291q.84-6.7,18.45-13.7,108.446-47.248,144.628-62.3c68.872-28.647,83.183-33.623,92.511-33.789,2.052-.034,6.639.474,9.61,2.885a10.452,10.452,0,0,1,3.53,6.716A43.765,43.765,0,0,1,362.952,176.66Z'/%3E%3C/svg%3E")}
.share a:hover{background:var(--ink);color:var(--paper)}

/* More stories + front page */
.more{border-top:4px solid var(--ink);margin-top:2.5rem;padding-top:.7rem}
.more h2{font-size:1.1rem;font-style:italic;font-weight:400;margin:0 0 .6rem}
.more a{font-size:1.4rem;font-weight:700;line-height:1.2}
.more p{margin:.3rem 0 0;font-size:1rem}

.front{display:grid;gap:0}
.teaser{padding:0 0 1.6rem;margin:0 0 1.6rem;border-bottom:1px solid var(--ink)}
.teaser:last-child{border-bottom:0}
.teaser h2{margin:0 0 .7rem;font-weight:700;letter-spacing:-.02em;line-height:1;text-wrap:balance}
.teaser h2 a{text-decoration:none}
.teaser h2 a:hover{text-decoration:underline;text-decoration-thickness:2px}
.teaser.lead h2{font-size:clamp(2.3rem,10vw,4.6rem);line-height:.98}
.teaser h2{font-size:clamp(1.8rem,7vw,2.6rem)}
.teaser .deck{font-size:1.2rem;margin-bottom:.7rem}
.teaser.lead .deck{font-size:clamp(1.2rem,4.4vw,1.5rem)}
.teaser .meta{font-size:.95rem;margin:0;color:var(--soft)}
.teaser .meta strong{color:var(--ink)}
.teaser .read{display:inline-block;margin-top:.7rem;font-weight:700}

.endnote{
  border-top:4px double var(--ink);margin-top:2.5rem;padding-top:.8rem;
  font-size:.9rem;font-style:italic;line-height:1.45;color:var(--soft);
}

@media (min-width:56rem){
  .sheet{padding:1.5rem 2rem 4rem}
  .layout{grid-template-columns:minmax(0,1fr) 19rem;gap:2.75rem}
  .side{border-left:1px solid var(--rule);padding-left:1.75rem}
  .memo,.forecast{margin-left:1rem}
  .front{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:2.5rem}
  .front .teaser{border-bottom:0;margin:0;padding:0}
  .front .teaser + .teaser{border-left:1px solid var(--rule);padding-left:2.25rem}
  .front .teaser:nth-child(odd){border-left:0;padding-left:0}
  .front .teaser:nth-child(n+3){margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--ink)}
}
@media print{
  body{background:#fff}
  .memo,.forecast{box-shadow:none;transform:none}
}
