@layer reset, base, layout, components;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, h2, h3, p { margin: 0; }
  button, a { -webkit-tap-highlight-color: transparent; }
}
@layer base {
  :root { color-scheme: dark; --bg:#141414; --ink:#f0efec; --muted:#a8a8a8; --line:#383838; --field-line:#656565; --accent:#b0c4d4; --panel:#1d1d1d; --select-hover:#29313a; --select-active:#232b32; --error-owl:url('/owl-404-dark.png'); --serif: 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif; --sans: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --mono: 'SFMono-Regular',Consolas,'Liberation Mono',monospace; }
  :root[data-theme='light'] { color-scheme: light; --bg:#faf9f6; --ink:#222222; --muted:#666666; --line:#dad8d4; --field-line:#8a8a8a; --accent:#46657a; --panel:#f1f0ed; --select-hover:#e5ecf0; --select-active:#ecf1f4; --error-owl:url('/owl-404-light.png'); }
  html { background:var(--bg); color:var(--ink); font-family:var(--sans); scroll-padding-top:2rem; }
  body { font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased; }
  a { color:inherit; text-underline-offset:.25em; text-decoration-thickness:1px; }
  a:hover { color:var(--accent); }
  a, button { touch-action:manipulation; }
  a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--accent); outline-offset:6px; border-radius:1px; }
  ::selection { background:var(--accent); color:var(--bg); }
  button { font:inherit; color:inherit; cursor:pointer; }
  h1, h2, h3 { font-weight:400; }
  p + p { margin-top:1.25rem; }
  [hidden] { display:none !important; }
  em { font-weight:400; }
}
@layer layout {
  .shell { width:min(100% - 5rem, 1024px); margin-inline:auto; }
  .site-header { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:2.25rem; border-bottom:1px solid var(--line); }
  .header-end, .nav, .preferences { display:flex; align-items:center; gap:1.6rem; }
  .preferences { gap:.45rem; padding-left:1.4rem; border-left:1px solid var(--line); }
  main { min-height:65vh; }
  .hero { padding:85px 0; }
  .hero-summary { width:min(100%,42rem); margin:50px auto 0; text-align:center; }
  .section { padding-block:2.5rem; border-top:1px solid var(--line); }
  .section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.4rem; }
  .work { display:grid; grid-template-columns:1fr 2fr; gap:4rem; align-items:center; }
  .site-footer { border-top:1px solid var(--line); padding:1.75rem 0 2.5rem; margin-top:1.5rem; display:grid; gap:1rem; }
  .footer-main, .footer-meta { display:flex; justify-content:space-between; align-items:baseline; gap:1rem 2rem; }
  .footer-meta { flex-wrap:wrap; }
  .page-intro { padding:4.5rem 0 3.25rem; max-width:48rem; }
  .writings-page, .about-page { display:flex; flex-direction:column; }
  :is(.home-page, .writings-page, .about-page, .contact-page) + .site-footer { margin-top:0; }
  :is(.writings-page, .about-page) > .subscription { flex:1; display:flex; flex-direction:column; justify-content:center; }
  .article { width:min(100%, 700px); margin-inline:auto; padding-block:3.5rem 4.5rem; }
  .article-heading { padding-block:2rem; }
  .prose { font-family:var(--serif); font-size:1.28rem; line-height:1.85; }
  .prose h2 { font-size:1.8rem; line-height:1.3; margin:2.5rem 0 1.2rem; }
  .prose p + p { margin-top:1.6rem; }
  .prose { overflow-wrap:anywhere; }
  .prose h3 { font-size:1.45rem; margin:2rem 0 1rem; }
  .prose blockquote { margin:2rem 0; padding:.25rem 0 .25rem 1.5rem; border-left:2px solid var(--accent); color:var(--muted); }
  .prose img { display:block; max-width:100%; height:auto; margin:2rem auto; }
  .prose ul, .prose ol { padding-left:1.5rem; }
  .prose li + li { margin-top:.5rem; }
  .prose code { font-family:var(--mono); font-size:.8em; }
  .prose pre { max-width:100%; overflow:auto; padding:1.25rem; background:var(--panel); }
  .prose pre code { overflow-wrap:normal; }
  .prose .table-scroll { overflow:auto; max-width:100%; margin:2rem 0; }
  .prose table { border-collapse:collapse; min-width:100%; font-family:var(--sans); font-size:1rem; }
  .prose th, .prose td { text-align:left; padding:.7rem 1rem; border-bottom:1px solid var(--line); }
  .prose .footnotes { font-family:var(--sans); font-size:.875rem; color:var(--muted); }
  .prose .footnote-ref { font-family:var(--sans); font-size:.7em; }
  .prose hr { border:0; border-top:1px solid var(--line); margin:2.5rem 0; }
  .writing-row > div, .hero-summary > *, .work > * { min-width:0; }
  .writing-row :is(h2,h3), .article-heading h1 { overflow-wrap:anywhere; }
  .about-text { width:min(100%, 700px); padding-bottom:4rem; }
  .about-page .page-intro { padding-bottom:2rem; }
  .about-page .about-text { padding-bottom:4.5rem; }
  @media (max-width:780px) {
    .shell { width:calc(100% - 3rem); }
    .site-header { align-items:flex-start; gap:1.25rem; flex-direction:column; padding-block:1.5rem; }
    .header-end { width:100%; justify-content:space-between; }
    .work { grid-template-columns:1fr; gap:1rem; }
    .footer-main { flex-direction:column; gap:.75rem; }
    .footer-meta { flex-direction:column; gap:.5rem; }
  }
  @media (max-width:420px) {
    .shell { width:calc(100% - 2.5rem); }
    .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.7rem 1rem; align-items:center; }
    .header-end { display:contents; }
    .brand { grid-column:1; grid-row:1; }
    .nav { grid-column:1 / -1; grid-row:2; }
    .nav { gap:1rem; }
    .preferences { grid-column:2; grid-row:1; border-left:0; padding-left:0; gap:.1rem; }
    .page-intro { padding-top:3rem; }
    .about-page .about-text { padding-bottom:3rem; }
    .article { padding-top:2rem; }
  }
}
@layer components {
  .skip { position:absolute; top:0; left:1rem; transform:translateY(-150%); padding:.6rem 1rem; background:var(--ink); color:var(--bg); z-index:2; }
  .skip:focus { transform:translateY(0); }
  .brand { font-size:1rem; line-height:1.4; text-decoration:none; font-weight:550; letter-spacing:-.02em; }
  .nav a { font-size:.875rem; color:var(--muted); text-decoration:none; padding-block:.5rem; }
  .nav a[aria-current] { color:var(--ink); text-decoration:underline; }
  .nav a:hover { color:var(--ink); }
  .nav a[aria-current]:hover { color:var(--accent); }
  .language { font-family:var(--mono); font-size:.875rem; padding:.6rem; text-decoration:none; }
  .theme-toggle { border:0; background:transparent; width:44px; height:44px; display:grid; place-items:center; }
  .theme-toggle:hover { color:var(--accent); }
  .theme-toggle svg { width:19px; height:19px; }
  .eyebrow { font-family:var(--mono); font-size:.8125rem; color:var(--muted); letter-spacing:.045em; }
  .hero > .eyebrow { text-align:center; }
  .hero-quote { width:min(100%, 50rem); margin:50px auto 0; text-align:center; }
  .hero-quote::before { content:""; display:block; width:3rem; height:1px; margin:0 auto 50px; background:var(--accent); }
  .hero-quote blockquote { margin:0; }
  .hero h1 { font-family:var(--serif); font-size:clamp(2.35rem, 4vw, 3.5rem); line-height:1.18; letter-spacing:-.035em; text-wrap:balance; }
  .hero h1 .quote-accent { color:var(--accent); font-style:italic; white-space:nowrap; }
  .hero-quote figcaption { margin-top:50px; line-height:1.55; }
  .quote-author { display:block; font-size:.875rem; color:var(--ink); }
  .quote-work { display:block; margin-top:7px; font-family:var(--serif); font-size:.9375rem; color:var(--muted); }
  .intro { font-size:1.16rem; line-height:1.8; }
  .text-link { display:inline-block; margin-top:1.2rem; font-size:.9375rem; }
  .hero-summary .text-link { display:block; width:fit-content; margin:25px auto 0; }
  .section-heading h2, .subscription h2 { font-size:.875rem; font-weight:450; }
  .section-heading > a { font-size:.875rem; color:var(--muted); }
  .section-heading > a:hover { color:var(--accent); }
  .writing-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; align-items:center; padding:1.5rem 0; text-decoration:none; }
  .writing-row .meta { color:var(--muted); font-size:.75rem; font-family:var(--mono); margin-bottom:.5rem; }
  .writing-row :is(h2,h3) { font-family:var(--serif); font-size:1.8rem; letter-spacing:-.03em; line-height:1.25; }
  .writing-row .description { font-size:.9375rem; color:var(--muted); margin-top:.7rem; }
  .writing-row .arrow { font-size:1.5rem; }
  .work h2 { font-family:var(--serif); font-size:2.1rem; line-height:1.25; letter-spacing:-.03em; }
  .work p { font-size:1rem; max-width:35rem; color:var(--muted); text-align:justify; hyphens:auto; }
  .work .text-link { display:block; width:fit-content; color:var(--ink); }
  .work .text-link:hover { color:var(--accent); }
  .subscription { padding-block:2.5rem; }
  .subscription-description { margin-top:.75rem; }
  .subscription-form { margin-top:2rem; }
  .subscription-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:1.5rem; align-items:start; border:0; padding:0; margin:0; min-width:0; }
  .subscription-legend { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .subscription .contact-field label { font-size:.875rem; line-height:1.5rem; margin-bottom:.5rem; }
  .subscription .contact-field input { min-height:48px; padding:.625rem .875rem; }
  .subscription .subscription-submit { margin-top:2rem; min-height:48px; padding:.625rem 1.125rem; gap:1.5rem; background:transparent; color:var(--accent); }
  .subscription .subscription-submit:disabled { color:var(--muted); }
  .subscription .subscription-submit:not(:disabled):hover { background:var(--accent); border-color:var(--accent); color:var(--bg); }
  .subscription-privacy { margin-top:1.5rem; font-size:.8125rem; line-height:1.7; color:var(--muted); overflow-wrap:anywhere; }
  .subscription-privacy strong { font-weight:500; color:var(--ink); }
  .subscription-error { margin:.5rem 0 0; font-size:.8125rem; line-height:1.5; color:var(--accent); }
  .subscription-status { margin:0; font-size:.875rem; color:var(--accent); }
  .subscription-status:not(:empty) { margin-top:1.5rem; }
  @media (max-width:600px) {
    .subscription-fields { grid-template-columns:1fr; gap:1.25rem; }
    .subscription .subscription-submit { margin-top:0; justify-content:center; }
  }
  .site-footer p { font-size:.8125rem; color:var(--muted); }
  .footer-meta p { margin:0; font-size:.75rem; }
  .site-footer .signature { font-family:var(--serif); font-style:normal; font-size:1rem; color:var(--accent); }
  .preview-note { font-family:var(--mono); text-align:center; font-size:.75rem; color:var(--muted); padding:.75rem 1.25rem; border-bottom:1px solid var(--line); }
  .page-intro h1 { font-family:var(--serif); font-size:clamp(3rem,7vw,4.8rem); line-height:1.1; letter-spacing:-.045em; margin:0 0 1.5rem; }
  .page-intro > .eyebrow + h1 { margin-top:.7rem; }
  .page-intro .page-lead { color:var(--muted); font-family:var(--sans); font-size:1.08rem; line-height:1.65; max-width:36rem; }
  .page-intro.confirmation-intro, .confirmation-intro .page-lead { max-width:none; }
  .confirmation-links { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:2rem; font-size:.9375rem; }
  .back { color:var(--muted); font-size:.875rem; }
  .article-heading h1 { font-family:var(--serif); font-size:clamp(2.7rem,6vw,4.5rem); line-height:1.08; letter-spacing:-.04em; margin:1rem 0 1.5rem; }
  .article-meta { color:var(--muted); font-size:.875rem; }
  .article-deck { color:var(--muted); font-size:1.125rem; line-height:1.75; margin-bottom:1.5rem; }
  .article-heading h1 { text-wrap:balance; }
  .prose .section-anchor { color:inherit; text-decoration:none; }
  .prose .section-anchor:hover, .prose .section-anchor:focus-visible { text-decoration:underline; }
  .anchor-mark { font-family:var(--mono); color:var(--muted); font-size:.65em; opacity:0; }
  .prose :is(h2,h3,h4,h5,h6):hover .anchor-mark, .section-anchor:focus-visible .anchor-mark { opacity:1; }
  .prose [id] { scroll-margin-top:2rem; }
  .prose h2:target, .prose h3:target { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:.2em; }
  .footnote-ref a, .footnote-backref { display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:28px; }
  .prose .notes-heading { font-family:var(--sans); font-size:1rem; margin:0 0 1rem; color:var(--ink); }
  .footnote-item:target { outline:1px solid var(--line); outline-offset:6px; }
  .author-note { margin-bottom:2rem; }
  .author-name { font-size:1rem; }
  .author-note p { margin-top:.5rem; color:var(--muted); font-size:.9375rem; }
  .next-writing { margin-bottom:2rem; }
  .next-writing > a { display:inline-block; padding-block:.5rem; font-family:var(--serif); font-size:1.6rem; line-height:1.4; }
  .translation { font-size:.875rem; color:var(--muted); margin:1rem 0 2.2rem; padding:1rem 0; border-block:1px solid var(--line); }
  .translation a { color:var(--ink); }
  .draft-note { font-size:.8125rem; padding:1rem 1.2rem; background:var(--panel); color:var(--muted); margin-bottom:2rem; }
  .article-end { border-top:1px solid var(--line); margin-top:3rem; padding-top:1.5rem; }
  .quiet, .subscription-description { color:var(--muted); font-size:.875rem; }
  .quiet { margin-top:1.5rem; }
  @media (max-width:600px) {
    .article-heading h1 { font-size:clamp(2.1rem,8.4vw,2.7rem); }
    .article-deck { font-size:1rem; }
    .hero h1 { font-size:clamp(2.25rem,8.2vw,3.2rem); }
    .writing-row { gap:1rem; }
    .writing-row :is(h2,h3) { font-size:1.55rem; }
    .section-heading { flex-wrap:wrap; }
    .prose { font-size:1.16rem; }
  }
  @media (prefers-reduced-motion:no-preference) {
    a, button { transition:color .16s ease; }
  }
}
@layer components {
  .inline-links, .footer-links, .share-actions { display:flex; gap:.75rem 1.5rem; flex-wrap:wrap; align-items:center; }
  .inline-links { margin-top:1.25rem; }
  .footer-links { font-size:.8125rem; color:var(--muted); }
  .footer-links a { padding-block:.5rem; }
  .rss-intro, .rss-intro .page-lead, .rss-details { max-width:none; }
  .rss-details { padding-bottom:4rem; }
  .rss-details h2 { font-size:.875rem; font-weight:500; }
  .rss-details > p:not(.quiet) { margin-top:1rem; color:var(--muted); }
  .rss-address { display:block; width:fit-content; max-width:100%; margin-top:1rem; padding:1rem; border:1px solid var(--line); font-family:var(--mono); font-size:.875rem; overflow-wrap:anywhere; }
  .contact-intro { padding-block:3.5rem; }
  .contact-section { --contact-space:2.75rem; display:grid; grid-template-columns:1fr 1.6fr; gap:3rem; align-items:center; padding-block:var(--contact-space); }
  .contact-section-personal { grid-template-areas:"intro methods" "facts form"; row-gap:0; align-items:start; padding-top:0; }
  /* Center both first-row groups within shared, aligned dividers. */
  .contact-section-personal > :is(.contact-section-intro, .contact-personal-methods) { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding-block:var(--contact-space); }
  .contact-section-personal > .contact-section-intro { grid-area:intro; }
  .contact-section-personal > .contact-facts { grid-area:facts; }
  .contact-personal-methods { grid-area:methods; }
  .contact-form-socials { grid-area:form; border-top:1px solid var(--line); }
  .contact-form-socials .contact-form { margin-top:0; border-top:0; }
  .contact-section h2 { font-family:var(--serif); font-size:1.7rem; line-height:1.3; }
  .contact-section p { max-width:36rem; color:var(--muted); }
  .contact-section-intro p { margin-top:1rem; font-size:.9375rem; }
  .contact-facts { margin:0; padding-top:2rem; border-top:1px solid var(--line); display:grid; gap:1rem; }
  .contact-facts div { min-width:0; }
  .contact-facts dt { color:var(--muted); font-family:var(--mono); font-size:.6875rem; letter-spacing:.07em; text-transform:uppercase; }
  .contact-facts dd { margin:.25rem 0 0; font-size:.9375rem; line-height:1.5; }
  .contact-methods { display:flex; flex-direction:column; gap:1.25rem; }
  .contact-method { display:block; width:fit-content; max-width:100%; text-decoration:none; }
  .contact-method-label { display:block; font-size:.8125rem; color:var(--muted); margin-bottom:.3rem; }
  .contact-method-value { font-size:1.0625rem; text-decoration:underline; text-underline-offset:.25em; overflow-wrap:anywhere; }
  .contact-method-pending .contact-method-value { text-decoration:none; }
  .contact-section .contact-website-note { margin-top:.65rem; max-width:34rem; font-size:.8125rem; line-height:1.6; }
  .contact-form { margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--line); }
  .contact-trap { display:none; }
  .contact-form-heading { margin-bottom:1.5rem; }
  .contact-form .contact-response { margin:.5rem 0 0; color:var(--ink); font-size:.9375rem; }
  .contact-form h3 { font-family:var(--serif); font-size:1.6rem; font-weight:400; line-height:1.3; }
  .contact-form .field-hint { font-size:.8125rem; line-height:1.6; margin-top:.5rem; }
  .contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem 1.25rem; }
  .contact-field { min-width:0; }
  .contact-field-wide { grid-column:1 / -1; }
  .contact-field label { display:block; font-size:.875rem; margin-bottom:.5rem; }
  .field-optional { font-size:.75rem; color:var(--muted); font-weight:400; }
  .required-mark { color:var(--accent); }
  .contact-field input, .contact-field select, .contact-field textarea { display:block; width:100%; min-width:0; min-height:48px; padding:.75rem .875rem; border:1px solid var(--field-line); border-radius:2px; background:var(--bg); color:var(--ink); font:inherit; font-size:1rem; line-height:1.5; transition:border-color 160ms ease; }
  .contact-field input::placeholder, .contact-field textarea::placeholder { color:var(--muted); opacity:1; }
  .contact-select-shell { position:relative; }
  #contact-reason { appearance:none; padding-right:3.25rem; cursor:pointer; }
  .contact-select-caret { position:absolute; top:50%; right:1.35rem; width:.55rem; height:.55rem; border-right:1.5px solid var(--accent); border-bottom:1.5px solid var(--accent); transform:translateY(-70%) rotate(45deg); pointer-events:none; }
  .contact-select-shell:has(#contact-reason:open) .contact-select-caret { transform:translateY(-20%) rotate(225deg); }
  @supports (appearance:base-select) {
    #contact-reason, #contact-reason::picker(select) { appearance:base-select; }
    #contact-reason::picker-icon { display:none; }
    #contact-reason::picker(select) { inline-size:anchor-size(width); max-block-size:min(23rem,52vh); overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--field-line) transparent; padding:.35rem; border:1px solid var(--field-line); border-radius:2px; background:var(--panel); color:var(--ink); box-shadow:0 18px 42px rgba(0,0,0,.25); }
    #contact-reason option { display:flex; justify-content:flex-start; min-height:44px; padding:.65rem .85rem; border-radius:2px; background:var(--panel); color:var(--ink); cursor:pointer; }
    #contact-reason option:disabled { display:none; }
    #contact-reason option:checked { background:var(--select-active); color:var(--accent); }
    #contact-reason option:is(:hover,:focus-visible) { background:var(--select-hover); color:var(--ink); outline:none; }
    #contact-reason option::checkmark { content:'✓'; order:1; margin-left:auto; color:var(--accent); }
    @media (max-height:700px) { #contact-reason::picker(select) { max-block-size:min(16rem,40vh); } }
  }
  .contact-field select:invalid { color:var(--muted); }
  .contact-field option { color:var(--ink); background:var(--bg); }
  .contact-field input:hover, .contact-field select:hover, .contact-field textarea:hover { border-color:var(--muted); }
  .contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color:var(--accent); }
  .contact-field input:focus-visible, .contact-field select:focus-visible, .contact-field textarea:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .contact-field input[aria-invalid="true"] { border-color:var(--accent); }
  .contact-form .field-error { color:var(--accent); }
  .contact-field textarea { min-height:170px; resize:vertical; }
  .contact-turnstile { max-width:320px; }
  .contact-form-actions { margin-top:1.75rem; }
  .contact-submit { display:inline-flex; align-items:center; gap:2rem; min-height:48px; padding:.75rem 1.125rem; border:1px solid var(--accent); border-radius:2px; background:var(--accent); color:var(--bg); font:inherit; font-size:.9375rem; transition:color 160ms ease,background 160ms ease,border-color 160ms ease; }
  .contact-submit:not(:disabled):hover { background:var(--ink); border-color:var(--ink); }
  .contact-submit:disabled { background:var(--panel); border-color:var(--line); color:var(--muted); cursor:not-allowed; }
  .contact-form-status { max-width:36rem; }
  .contact-form .contact-form-status:empty { margin:0; }
  @media (max-width:780px) {
    .contact-section { --contact-space:2rem; grid-template-columns:1fr; gap:1.75rem; }
    .contact-section-personal { grid-template-areas:"intro" "facts" "methods" "form"; gap:0; }
    .contact-facts { padding-block:var(--contact-space); }
    .contact-personal-methods { border-top:1px solid var(--line); }
  }
  @media (max-width:420px) {
    .contact-intro { padding-block:3rem; }
  }

  .contact-group { margin-top:2rem; }
  .contact-group h3 { font-size:.8125rem; color:var(--muted); margin-bottom:.6rem; }
  .contact-socials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.75rem; font-size:.875rem; }
  .contact-socials a { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-height:44px; padding:.65rem 0; border-bottom:1px solid var(--line); text-decoration:none; }
  .contact-socials a span:last-child { flex-shrink:0; }
  .article-sharing { border-bottom:1px solid var(--line); padding-bottom:1.5rem; margin-bottom:2rem; }
  .share-button { border:1px solid var(--line); padding:.6rem .85rem; background:transparent; font-size:.875rem; min-height:44px; }
  .share-button:not(:disabled):hover { color:var(--accent); border-color:var(--accent); }
  .share-actions > a { font-size:.875rem; padding-block:.6rem; }
  .share-status { font-size:.8125rem; color:var(--muted); margin-top:.5rem; }
  .share-status:empty { margin:0; }
  [data-share-fallback] { margin-top:1rem; font-size:.875rem; }
  #share-url { display:block; width:100%; margin-top:.5rem; padding:.75rem; border:1px solid var(--line); background:var(--panel); color:var(--ink); font:inherit; }
  #share-url:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
  .share-button:disabled { cursor:wait; }
  @media (max-width:600px) {
    .contact-socials { column-gap:1rem; }
    .contact-fields { grid-template-columns:1fr; gap:1.25rem; }
    .contact-form { margin-top:2rem; }
    .work p { text-align:left; }
    .reading-path li { grid-template-columns:1.5rem 1fr; gap:.75rem; }
  }
  @media (max-width:360px) {
    .contact-socials { grid-template-columns:1fr; }
  }
}
@layer components {
  .nav { flex-wrap:wrap; }
  .header-end, .nav, .contact-section > *, .reading-path li > * { min-width:0; }
  main, .site-header, .site-footer { overflow-wrap:anywhere; }
  .error-page { max-width:58rem; display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:clamp(2rem,6vw,4rem); }
  .error-owl { width:min(100%,220px); height:370px; position:relative; overflow:hidden; }
  .error-owl-whole, .error-owl-shard { position:absolute; width:170px; height:170px; background:var(--error-owl) center / contain no-repeat; }
  .error-owl-whole { left:50%; top:50%; transform:translate(-50%,-50%); }
  .error-owl-shards { position:absolute; inset:0; }
  .error-owl-floor { position:absolute; left:8%; right:8%; bottom:17px; height:1px; background:var(--line); }
  .error-page .inline-links { margin-top:2rem; }
  @media (max-width:600px) {
    .error-page { grid-template-columns:1fr; gap:1.5rem; }
    .error-owl { justify-self:center; height:320px; }
  }
  @media (max-width:240px) {
    .error-owl-whole, .error-owl-shard { width:140px; height:140px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .error-owl-shards { display:none; }
  }
}
@media print {
  @page { margin:18mm; }
  :root, :root[data-theme='light'] { color-scheme:light; --bg:#fff; --ink:#111; --muted:#333; --line:#999; --accent:#111; --panel:#fff; }
  html, body { background:#fff; color:#111; }
  body { font-size:11pt; line-height:1.5; }
  .shell, .article { width:100%; max-width:none; margin:0; padding:0; }
  main { min-height:0; }
  .skip, .site-header, .site-footer, .back, .article-end, .anchor-mark, .footnote-backref { display:none !important; }
  .preview-note { color:#333; border-bottom:1px solid #999; font-size:8pt; padding:0 0 3mm; margin-bottom:5mm; }
  .article-heading { padding:0; }
  .article-heading h1 { font-size:25pt; line-height:1.15; margin:0 0 4mm; letter-spacing:-.02em; }
  .article-heading .eyebrow { font-size:8pt; margin-bottom:3mm; }
  .article-deck { font-size:11pt; line-height:1.5; margin-bottom:3mm; }
  .article-meta, .translation { font-size:9pt; }
  .translation { margin:4mm 0; padding:3mm 0; }
  .draft-note { padding:3mm; margin:4mm 0; border:1px solid #999; font-size:9pt; }
  .prose { font-size:11pt; line-height:1.5; }
  .prose h2 { font-size:16pt; margin:7mm 0 3mm; }
  .prose h3 { font-size:13pt; margin:5mm 0 2mm; }
  .prose p + p { margin-top:3mm; }
  .prose hr { margin:4mm 0; }
  .prose .section-anchor { text-decoration:none; }
  .prose .footnotes { break-inside:avoid; }
  h1, h2, h3 { break-after:avoid; }
  p, li { orphans:3; widows:3; }
  a { color:inherit; text-decoration:underline; }
  .prose a[href^='https://']::after, .prose a[href^='http://']::after { content:' (' attr(href) ')'; font-family:var(--sans); font-size:8pt; overflow-wrap:anywhere; }
  .prose .footnotes { font-size:9pt; }
  .prose .notes-heading { font-size:11pt; }
  .prose .footnote-ref a { min-width:0; min-height:0; display:inline; }
  .prose pre, .prose .table-scroll { overflow:visible; }
  .prose pre { white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid #999; }
  .prose table { font-size:9pt; }
  .prose th, .prose td { padding:2mm; }
  .prose img { max-height:220mm; object-fit:contain; break-inside:avoid; }
}
@layer components {
  .writings-page .page-intro { padding-block:4.5rem; }
  .writings-page .archive-search { margin-bottom:4.5rem; }
  .writings-page [data-archive-results] > .quiet { margin-top:0; }
  .about-page .about-text > .quiet { margin-top:0; }
  @media (max-width:420px) {
    .writings-page .page-intro { padding-block:3rem; }
    .writings-page .archive-search { margin-bottom:3rem; }
  }
  .archive-search { margin:0 0 2rem; }
  .search-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.55fr) auto; gap:1.25rem; align-items:end; }
  .search-fields > div { min-width:0; }
  .search-fields label { display:block; font-size:.875rem; margin-bottom:.5rem; }
  .search-fields input, .search-fields select { width:100%; min-height:46px; padding:.65rem .8rem; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:0; font:inherit; }
  .search-fields input::placeholder { color:var(--muted); opacity:1; }
  .search-fields input:focus-visible, .search-fields select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
  .archive-search .quiet { margin-top:.65rem; }
  .search-status { font-size:.8125rem; color:var(--muted); min-height:1.65em; margin-top:.75rem; }
  .search-empty { color:var(--muted); }
  mark { background:var(--accent); color:var(--bg); }
  .match-excerpt { line-height:1.7; }
  .article-contents { border-block:1px solid var(--line); padding:1rem 0; margin:0 0 2.5rem; font-size:.9375rem; }
  .article-contents summary { cursor:pointer; padding:.35rem 0; }
  .article-contents summary:hover { color:var(--accent); }
  .article-contents ol { margin:1rem 0 .25rem; padding-left:1.5rem; }
  .article-contents li { padding:.3rem 0 .3rem .3rem; }
  .article-contents a { color:var(--muted); }
  .article-contents a:hover { color:var(--accent); }
  .article-topics { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin-top:2.5rem; font-size:.8125rem; color:var(--muted); }
  .article-topics a { padding-block:.35rem; }
  .next-writing > a { display:block; }
  @media (max-width:780px) { .search-fields { grid-template-columns:minmax(0,1fr); gap:1rem; } .search-fields > button { justify-self:start; } }
}
@media print { .archive-search, .search-empty, .article-contents, .article-topics { display:none !important; } mark { background:transparent; color:inherit; } }
@layer components {
  .review-overview { padding:1rem 0; }
  .review-overview p + p { margin-top:.5rem; color:var(--muted); font-size:.9375rem; }
  .review-help { padding:1.5rem 0 2.5rem; }
  .review-help h2 { font-family:var(--serif); font-size:1.8rem; margin-bottom:1rem; }
  .review-help code, .review-details code { font-family:var(--mono); font-size:.85em; overflow-wrap:anywhere; }
  .review-card { border-top:1px solid var(--line); padding:2.5rem 0; }
  .review-card > h2 { font-family:var(--serif); font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.25; margin:.8rem 0; }
  .review-checks { list-style:none; padding:0; margin:1.5rem 0; }
  .review-checks li { padding:.45rem 0; font-size:.9375rem; }
  .review-state { display:inline-block; min-width:7rem; font-family:var(--mono); font-size:.8125rem; color:var(--muted); }
  .review-details { margin-top:1.25rem; }
  .review-details summary { cursor:pointer; padding:.5rem 0; }
  .review-details summary:hover { color:var(--accent); }
  .review-details > p { margin-top:1rem; }
  .review-hash { display:block; padding:1rem; margin-top:.5rem; background:var(--panel); }
  .review-comparison { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2.5rem; padding-top:1.5rem; }
  .review-comparison > section { min-width:0; }
  .review-comparison h3 { font-size:.875rem; color:var(--muted); margin-bottom:1rem; }
  .review-version-title { font-family:var(--serif); font-size:1.4rem; margin-bottom:1rem; }
  .review-comparison .prose { font-size:1.05rem; }
  .review-comparison .prose h2 { font-size:1.4rem; }
  @media (max-width:780px) { .review-comparison { grid-template-columns:minmax(0,1fr); } }
}
