/* elevenarms: plain, brutal, light only. Black on white, one serif, hard rules. */
* { box-sizing: border-box; }
html { color-scheme: light; -webkit-text-size-adjust: 100%; }
body {
  margin: 0 auto; max-width: 72ch; padding: 2rem 16px 4rem;
  background: #fff; color: #000;
  font: 18px/1.55 "Times New Roman", Times, Georgia, serif;
}
a { color: #00e; }
a:visited { color: #551a8b; }
a:focus-visible { outline: 2px solid #000; outline-offset: 2px; }

h1 { font-size: 2.2rem; line-height: 1.1; margin: 0 0 0.6rem; }
h2 { font-size: 1.3rem; margin: 2.6rem 0 0.7rem; padding-top: 0.5rem; border-top: 4px solid #000; }
h3 { font-size: 1.05rem; margin: 1.8rem 0 0.4rem; }
p, ul, ol, blockquote, figure, pre, .tablewrap { margin: 0 0 1.1rem; }
ul, ol { padding-left: 1.3rem; }
li { margin-bottom: 0.3rem; }
hr { border: 0; border-top: 4px solid #000; margin: 3rem 0 1rem; }
blockquote { padding: 0.2rem 0 0.2rem 1rem; border-left: 4px solid #000; }

code, pre, .goal, .kicker, .byline, .postinfo, .lbl, .stage, .note, time, td.n, figcaption {
  font-family: ui-monospace, Menlo, Consolas, "Courier New", monospace;
}
code { font-size: 0.85em; }
pre.code, .goal { font-size: 0.8rem; line-height: 1.5; padding: 0.8rem; border: 2px solid #000; overflow-x: auto; }
.goal { white-space: pre; }
.goal .t { font-weight: 700; }
pre.code code { font-size: 1em; }
.kicker, .byline, .postinfo, .lbl, .note, figcaption { font-size: 0.8rem; }
.kicker { text-transform: uppercase; letter-spacing: 0.06em; }
.deck { font-size: 1.15rem; }
.stage { font-size: 0.75rem; border: 1px solid #000; padding: 0 0.3em; margin-right: 0.4em; }
.big { font-size: 1.4rem; font-weight: 700; }

.tablewrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 0.92rem; min-width: 30rem; }
th, td { text-align: left; vertical-align: top; padding: 0.35rem 0.5rem; border: 1px solid #000; }
th { font-weight: 700; }
td.n { font-size: 0.8rem; white-space: nowrap; }

img { display: block; max-width: 100%; height: auto; border: 2px solid #000; }
figcaption { margin-top: 0.35rem; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 1.1rem; }
.gallery figure { margin: 0; }
figure.phone { max-width: 260px; }
.mermaid { border: 2px solid #000; padding: 0.6rem; text-align: center; }

.back { margin: 0 0 2rem; }
header { margin-bottom: 1.5rem; }

/* home: a plain dated list */
.index { list-style: none; padding: 0; border-top: 4px solid #000; }
.index li { padding: 0.7rem 0; border-bottom: 1px solid #000; margin: 0; }
.index time { display: block; font-size: 0.8rem; }
.index a { font-size: 1.2rem; font-weight: 700; }
.index p { margin: 0.2rem 0 0; }
footer { margin-top: 3rem; padding-top: 0.6rem; border-top: 4px solid #000; font-size: 0.9rem; }
