:root{--navy:#012456;--teal:#03b0af;--teal-ink:#0a7f7e;--paper:#faf7f0;--card:#f3eee3;--ink:#2a2a2a;--mute:#6b6658;--rule:#d9d2c3;--line:#012456;--sage:#e1f1ee;--sage-ink:#0b6d69;--amber:#f6ead0;--amber-ink:#7d5a12;--gray:#ebe6db;--gray-ink:#555046}
html[data-theme=dark]{--navy:#e4dccb;--teal-ink:#3fd0cf;--paper:#0f1722;--card:#162131;--ink:#ece6d8;--mute:#9a9384;--rule:#2a3442;--line:#3a4658;--sage:#123a3a;--sage-ink:#8fe3df;--amber:#3a3018;--amber-ink:#f0d48e;--gray:#232c38;--gray-ink:#c7c0b0;color-scheme:dark}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 "Source Serif 4",Georgia,serif}
a{color:var(--navy)}a:hover{color:var(--teal)}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.sc{font-variant:small-caps;letter-spacing:.08em;text-transform:lowercase;font-size:.95rem;color:var(--mute)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
header{text-align:center;padding:34px 28px 0}
.dateline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding-bottom:8px}
.tg{background:none;border:0;cursor:pointer;padding:0;font-family:inherit;color:var(--mute)}.tg span{padding:0 2px}
html:not([data-theme=dark]) .tg .l,html[data-theme=dark] .tg .d{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.mast{padding:26px 0 16px}.logo-b{display:inline-block}.mast img{height:130px;width:auto;display:block;margin:0 auto 6px}
.mast .lg-d{display:none}html[data-theme=dark] .mast .lg-l{display:none}html[data-theme=dark] .mast .lg-d{display:block}
.mast p{font:italic 1.15rem "Libre Baskerville",serif;color:var(--teal);margin:6px 0 0}
nav{border-top:3px double var(--line);border-bottom:1px solid var(--line);padding:10px 0}
nav a{text-decoration:none;color:var(--navy);margin:0 14px;font-variant:small-caps;text-transform:lowercase;letter-spacing:.1em;font-size:1.05rem;display:inline-block}
nav a.on{color:var(--teal)}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding:48px 28px 64px}
main h1{font:700 2.4rem/1.2 "Libre Baskerville",serif;color:var(--navy);margin:0 0 14px;letter-spacing:-.01em}
main h2{font:700 1.4rem/1.3 "Libre Baskerville",serif;color:var(--navy);margin:34px 0 10px}
main h3{font:700 1.1rem "Libre Baskerville",serif;color:var(--navy)}
.entry{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--rule)}
.entry h2{font-size:1.6rem;margin:0 0 10px}.entry h2 a{text-decoration:none}
.entry p.ex{margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta{margin:0 0 6px}.meta .cat{color:var(--teal-ink)}
.more{font-style:italic}
.badge{display:inline-block;border:1px solid var(--teal);color:var(--teal-ink);padding:0 8px;margin-left:10px;font-size:.85rem;font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;line-height:1.6}
.lede{font:italic 1.05rem/1.6 "Libre Baskerville",serif;color:var(--mute);margin:0 0 36px;padding-bottom:28px;border-bottom:3px double var(--rule)}
.lead{font-size:1.15rem}
.tagline{font-variant:small-caps;text-transform:lowercase;letter-spacing:.12em;color:var(--teal-ink);margin:0 0 8px}
.crumb{margin:0 0 18px}.crumb a{text-decoration:none}
.post p.meta+h1{margin-top:4px}
.guide ul,.post ul{padding-left:1.2em}.guide li{margin:6px 0}
table{border-collapse:collapse;width:100%;font-size:.95rem;margin:16px 0}th,td{border-bottom:1px solid var(--rule);padding:8px;text-align:left}
.v{display:inline-block;font-size:.8rem;font-weight:600;padding:1px 9px;margin-right:6px;font-family:"Source Serif 4",serif;letter-spacing:.02em;border:1px solid currentColor}
.v-stacks{background:var(--sage);color:var(--sage-ink)}.v-partial{background:var(--amber);color:var(--amber-ink)}.v-no,.v-uncertain{background:var(--gray);color:var(--gray-ink)}
.tag{font-size:.9rem;color:var(--mute);margin-right:8px;font-style:italic}
.note{border-left:3px solid var(--teal);padding:4px 14px;color:var(--teal-ink)}
.flag{background:var(--amber);color:var(--amber-ink);border-left:3px solid var(--amber-ink);padding:12px 14px;margin:14px 0}
.card{border-top:3px double var(--rule);padding:18px 0 0;margin:36px 0}
.rel{list-style:none;padding:0!important}.rel li{padding:8px 0;border-bottom:1px dotted var(--rule)}.rel a{text-decoration:none}
.sources{font-size:.92rem}.disc,.fine{font-size:.85rem;color:var(--mute)}
.endcta{border-top:3px double var(--rule);margin-top:40px;padding-top:18px;color:var(--mute)}
.older{font-family:"Libre Baskerville",serif}
input,select{font:inherit;font-size:1rem;padding:10px 12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0}
input:focus,select:focus{outline:2px solid var(--teal);outline-offset:1px}
#q{width:100%;font-size:1.1rem;font-style:italic}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.calc label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;max-width:480px;border-bottom:1px dotted var(--rule);padding-bottom:10px}
.calc input{width:140px}.calc label.chk{justify-content:flex-start}.calc label.chk input{width:auto}
#out{font:700 1.1rem/1.5 "Libre Baskerville",serif;color:var(--navy);border:1px solid var(--rule);border-left:3px solid var(--teal);background:var(--card);padding:14px 18px}#out small{font:400 .9rem "Source Serif 4",serif;color:var(--mute)}
aside section{margin:0 0 40px}aside h3{font:400 1rem "Libre Baskerville",serif;font-variant:small-caps;text-transform:lowercase;letter-spacing:.12em;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:6px;margin:0 0 14px}
aside p,aside li{font-size:.95rem;line-height:1.6}aside ul{list-style:none;padding:0;margin:0}aside li{padding:7px 0;border-bottom:1px dotted var(--rule)}aside li a{text-decoration:none}
.fb{display:inline-block;border:1px solid var(--navy);padding:6px 14px;text-decoration:none;font-variant:small-caps;text-transform:lowercase;letter-spacing:.08em}
.fb:hover{background:var(--navy);color:var(--paper)}
footer{border-top:3px double var(--line);padding:24px 28px 48px;text-align:center}footer p{margin:6px 0}
@media(max-width:800px){.grid{grid-template-columns:1fr;gap:20px;padding:30px 20px 48px}header{padding:20px 20px 0}nav a{margin:0 8px}.dateline{flex-direction:column;align-items:center;gap:2px}body{font-size:17px}.mast img{height:auto;width:100%;max-width:280px}main h1{font-size:1.8rem}.entry h2{font-size:1.35rem}.calc label{flex-direction:column;align-items:flex-start}.calc input{width:100%}aside{border-top:3px double var(--rule);padding-top:28px}}
