:root{
  --canvas:#26313F; --surface:#FFFFFF; --ink:#222222; --accent:#1E6B4C;
  --rule:#D8D3C7; --band-ink:#F2F4F7; --band-mute:#A9B4C2; --band-rule:#3A4757;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.62}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.band a:focus-visible{outline:2px solid #7FD6AC;outline-offset:2px}

.wrap{max-width:940px;margin:0 auto;padding:0 20px 48px}
.skip{position:absolute;left:-9999px}
.skip:focus{position:static;display:block;color:#7FD6AC;padding:8px 0}

.band{background:var(--canvas)}
.identity-band{display:flex;align-items:center;gap:16px;min-height:112px;padding:24px 0 12px}
.identity-band img{width:36px;height:36px}
.identity-band h1,.identity-band .site-title{
  margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:28px;
  letter-spacing:.01em;color:var(--band-ink);line-height:1.2}
.identity-band .site-title a{color:var(--band-ink);text-decoration:none}
.identity-band .bio{margin:4px 0 0;font-size:13px;color:var(--band-mute);line-height:1.45}

.utility-links{padding:0 0 24px;border-bottom:1px solid var(--band-rule)}
.utility-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end}
.utility-links li{font-size:11px;text-transform:uppercase;letter-spacing:.08em;
  padding:0 10px;border-right:1px solid var(--band-rule)}
.utility-links li:last-child{border-right:0;padding-right:0}
.utility-links a{color:var(--band-mute)}

.stream{padding:32px 0 0}
.format-run{display:block}

.entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;
  align-items:start;margin:0 0 32px}
.stub{background:#F6F3EC;border:1px solid var(--rule);border-right:2px solid var(--accent);
  padding:10px 12px;text-align:right;
  font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#4A4A4A;
  background-image:radial-gradient(circle at right,transparent 0 3px,#F6F3EC 3px);
  background-size:100% 8px}
.stub a{color:#4A4A4A;text-decoration:none;display:block}
.stub a:hover{text-decoration:underline}
.stub .stub-format{display:block;margin-top:4px;color:var(--accent)}

.sheet{background:var(--surface);border:1px solid var(--rule);padding:24px 28px;min-width:0}
.sheet h2,.sheet h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;
  font-size:26px;line-height:1.25;margin:0 0 12px}
.sheet h1{font-size:30px}
.sheet p{margin:0 0 14px;max-width:34em}
.sheet p:last-child{margin-bottom:0}
.entry--quote .quote-line{font-family:Georgia,"Times New Roman",serif;font-style:italic;
  font-size:32px;line-height:1.3;margin:0 0 12px}
.entry--quote .quote-source{font-size:13px;color:#555;margin:0 0 14px}
.entry--photo figure{margin:0 0 16px}
.entry--photo figcaption{font-size:13px;color:#555;margin-top:8px;max-width:34em}
.entry--link .link-title{font-family:Georgia,"Times New Roman",serif;font-size:24px;
  font-weight:700;margin:0 0 12px}
.entry-tags{margin:16px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5A5A5A}
.entry-tags a{text-decoration:none}
.entry-tags a:hover{text-decoration:underline}

.marker-index{background:var(--surface);border:1px solid var(--rule);padding:20px 28px;margin:0 0 32px}
.marker-index h2{font-family:Georgia,serif;font-size:20px;margin:0 0 12px}
.marker-index ol{list-style:none;margin:0;padding:0}
.marker-index li{font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  border-bottom:1px solid var(--rule);padding:7px 0}
.marker-index li:last-child{border-bottom:0}
.marker-index .mi-date{display:inline-block;min-width:130px;color:#4A4A4A}
.marker-index .mi-format{color:var(--accent)}

.tag-rule{border-top:1px solid var(--band-rule);padding:20px 0;color:var(--band-mute);font-size:12px;
  text-transform:uppercase;letter-spacing:.08em}
.tag-rule a{color:#8FD3B4}
.tag-rule .archive-line{display:block;margin-top:10px}

.tiny-footer{font-size:11px;color:var(--band-mute);padding:12px 0 0;
  border-top:1px solid var(--band-rule)}
.tiny-footer a{color:#8FD3B4}

.detail{padding:32px 0 0}
.detail .entry{margin-bottom:24px}
.postnav{background:var(--surface);border:1px solid var(--rule);padding:16px 28px;
  font-size:13px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
.postnav span{display:block}

.listing{background:var(--surface);border:1px solid var(--rule);padding:24px 28px;margin:0 0 24px}
.listing h1{font-family:Georgia,serif;font-size:30px;margin:0 0 14px}
.listing h2{font-family:Georgia,serif;font-size:20px;margin:24px 0 10px;
  border-bottom:1px solid var(--rule);padding-bottom:6px}
.listing p{max-width:34em}
.listing ul{list-style:none;margin:0;padding:0}
.listing li{border-bottom:1px solid var(--rule);padding:8px 0;font-size:14px}
.listing li:last-child{border-bottom:0}
.listing .li-date{display:inline-block;min-width:130px;font-size:11px;
  text-transform:uppercase;letter-spacing:.08em;color:#4A4A4A}
.listing .li-format{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.table-scroll{overflow-x:auto;margin:16px 0 0}
table.odds{border-collapse:collapse;width:100%;min-width:420px;font-size:14px}
.table-note{font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  color:#5A5A5A;margin:16px 0 0;max-width:34em}
table.odds th,table.odds td{border:1px solid var(--rule);padding:7px 10px;text-align:left}
table.odds th{background:#F6F3EC;font-size:12px;text-transform:uppercase;letter-spacing:.06em}

@media (max-width:900px){
  .entry{grid-template-columns:minmax(0,1fr);gap:0}
  .stub{text-align:left;border-right:1px solid var(--rule);
    border-bottom:2px solid var(--accent);
    background-image:radial-gradient(circle at bottom,transparent 0 3px,#F6F3EC 3px);
    background-size:8px 100%}
  .stub .stub-format{display:inline;margin-left:10px}
  .sheet{border-top:0}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .identity-band{min-height:78px;padding:16px 0 8px;gap:12px}
  .identity-band img{width:24px;height:24px}
  .identity-band h1,.identity-band .site-title{font-size:22px}
  .utility-links ul{justify-content:flex-start}
  .utility-links li{padding-left:0;padding-right:10px;border-right:0;margin-right:10px}
  .stub,.entry-tags,.marker-index li,.tag-rule,.listing .li-date{font-size:12.5px}
  .sheet{padding:18px 20px}
  .sheet h2{font-size:23px}
  .sheet h1{font-size:26px}
  .entry--quote .quote-line{font-size:26px}
  .tiny-footer span{display:block}
  .postnav{display:block}
  table.odds{font-size:13px;min-width:360px}
  table.odds th,table.odds td{padding:6px 8px}
  .listing{padding:18px 16px}
  .postnav span{margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}
