/* The article styles, shared by every page (from the Foundations articles, 2026-09) */
  :root{
    --paper:#f5f2ea; --card:#fff; --card2:#faf8f2; --ink:#182231; --soft:#47566a; --faint:#8492a4;
    --line:#e4dfd2; --line2:#d8d2c2; --teal:#0f7a80; --teal-d:#0c6469; --gold:#c0871a; --gold-br:#dca021;
    --rule:#0e1b2e; --shadow:0 1px 2px rgba(19,32,51,.05),0 10px 34px rgba(19,32,51,.06);
  }
  @media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
    --paper:#0d151f; --card:#141f2d; --card2:#0f1a27; --ink:#e9eff6; --soft:#a9b6c6; --faint:#71809a;
    --line:#243244; --line2:#2c3d52; --teal:#2bb6bd; --teal-d:#3ecad1; --gold:#e0a323; --gold-br:#f2b83a;
    --rule:#c9d4e0; --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 40px rgba(0,0,0,.4);
  }}
  :root[data-theme="dark"]{
    --paper:#0d151f; --card:#141f2d; --card2:#0f1a27; --ink:#e9eff6; --soft:#a9b6c6; --faint:#71809a;
    --line:#243244; --line2:#2c3d52; --teal:#2bb6bd; --teal-d:#3ecad1; --gold:#e0a323; --gold-br:#f2b83a;
    --rule:#c9d4e0; --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 40px rgba(0,0,0,.4);
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:"Newsreader",Georgia,serif;line-height:1.68;font-size:19px;-webkit-font-smoothing:antialiased}
  .wrap{max-width:720px;margin:0 auto;padding:0 24px}
  a{color:var(--teal-d)}
  .mono{font-family:"IBM Plex Mono",monospace}
  .sans{font-family:"IBM Plex Sans",system-ui,sans-serif}

  /* masthead / letterhead */
  .masthead{border-bottom:2px solid var(--rule);margin-top:26px;padding-bottom:14px}
  .masthead .brand{font-family:"IBM Plex Sans";font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--soft)}
  .masthead .brand .mai{color:var(--gold)}
  .masthead .title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:6px}
  .masthead h1.col{font-weight:600;font-size:34px;letter-spacing:-.01em;margin:0}
  .masthead .col .the{color:var(--faint);font-style:italic;font-weight:400}
  .masthead .motto{font-style:italic;color:var(--gold);font-size:16px}
  .masthead .rule2{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:10px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

  /* article head */
  .eyebrow{font-family:"IBM Plex Mono";font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d);margin:38px 0 8px}
  h2.head{font-weight:600;font-size:38px;line-height:1.12;letter-spacing:-.015em;margin:0;text-wrap:balance}
  .deck{font-size:22px;line-height:1.45;color:var(--soft);font-style:italic;margin:14px 0 0}
  .byline{font-family:"IBM Plex Sans";font-size:13.5px;color:var(--soft);margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
  .byline b{color:var(--ink)}
  .tiphint{font-family:"IBM Plex Sans";font-size:12.5px;color:var(--faint);margin:8px 0 0}

  article{margin-top:12px}
  article h3{font-family:"IBM Plex Sans";font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--teal-d);margin:38px 0 2px}
  article h3 + p{margin-top:8px}
  p{margin:18px 0}
  .lead::first-letter{font-size:62px;line-height:.8;float:left;font-weight:600;margin:6px 12px 0 0;color:var(--gold)}
  em{font-style:italic}
  strong{font-weight:600}
  /* highlighted terms: dotted underline + hover-to-define tooltip (CSS only, no script) */
  .term{color:var(--ink);font-weight:500;border-bottom:1.5px dotted var(--gold);cursor:help;position:relative}
  .term[data-def]:hover::after,.term[data-def]:focus::after{
    content:attr(data-def);position:absolute;left:0;bottom:calc(100% + 10px);z-index:20;
    width:max-content;max-width:min(320px,80vw);background:var(--ink);color:var(--paper);
    font-family:"IBM Plex Sans",system-ui,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:1.5;
    padding:10px 13px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.32);white-space:normal;pointer-events:none}
  .term[data-def]:hover::before,.term[data-def]:focus::before{
    content:"";position:absolute;left:14px;bottom:calc(100% + 2px);z-index:20;
    border:7px solid transparent;border-top-color:var(--ink);pointer-events:none}
  .term[data-def]:focus{outline:none}
  .eq{font-family:"IBM Plex Mono";font-size:15px;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:20px 0;overflow-x:auto;line-height:1.7}
  .box{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:0 12px 12px 0;padding:4px 20px;margin:24px 0;box-shadow:var(--shadow)}
  .box .lbl{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-d);margin-top:16px}
  .box p{font-size:17px}
  sup.c{font-family:"IBM Plex Sans";font-size:12px;font-weight:600;color:var(--teal-d);vertical-align:super;line-height:0}
  sup.c a{text-decoration:none}

  /* glossary + sources */
  .after{margin-top:50px;border-top:2px solid var(--rule);padding-top:8px}
  .after h3{color:var(--gold)}
  dl.gloss{margin:10px 0 0}
  dl.gloss dt{font-family:"IBM Plex Sans";font-weight:600;font-size:15px;margin-top:16px;color:var(--ink)}
  dl.gloss dd{margin:3px 0 0;font-size:16.5px;color:var(--soft)}
  ol.src{font-family:"IBM Plex Sans";font-size:14.5px;color:var(--soft);line-height:1.55;padding-left:22px}
  ol.src li{margin:10px 0}
  ol.src b{color:var(--ink);font-weight:600}
  .seed{font-family:"IBM Plex Sans";font-size:14.5px;color:var(--soft);background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-top:22px}
  .seed b{color:var(--teal-d)}
  footer{font-family:"IBM Plex Sans";font-size:12.5px;color:var(--faint);margin:44px 0 70px;padding-top:18px;border-top:1px solid var(--line);text-align:center}
  footer .mai{color:var(--gold)}
