/* Haro: a personal profile and a quiet place for writing. */
:root { color-scheme:light; --paper:#f7f6f2; --ink:#303530; --muted:#72786b; --line:#e2e2d9; --accent:#a55943; --serif:Georgia,'Times New Roman',serif; --secondary:#5d6754; --rail-top:46px; --font:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif; }
* { box-sizing:border-box; }
html { background:var(--paper); scroll-behavior:smooth; scrollbar-color:#c1c2b8 var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif; font-size:14px; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }

a { -webkit-tap-highlight-color:transparent; }
a { touch-action:manipulation; }
a:focus-visible,.belief-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
::selection { color:#262e25; background:#e0e5d6; }
p,h1,h2,ol,ul,blockquote { margin:0; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:10; background:var(--ink); color:white; padding:10px 16px; }
.skip-link:focus { top:12px; }
.about-layout { display:grid; grid-template-columns:180px minmax(0,640px); column-gap:76px; width:min(100% - 96px,896px); min-height:100svh; margin:0 auto; padding:66px 0 22px; align-items:start; }
.site-rail { position:sticky; top:var(--rail-top); padding-top:5px; }
.site-brand { display:inline-block; font-size:20px; font-weight:600; letter-spacing:1px; line-height:1.6; }
.site-caption { color:var(--muted); font-size:12px; line-height:2; margin-top:8px; white-space:nowrap; letter-spacing:.1px; }
.site-navigation { display:flex; flex-direction:column; gap:3px; margin:30px 0 0; }
.site-navigation a { display:flex; justify-content:space-between; align-items:center; max-width:137px; padding:8px 0; color:var(--muted); font-size:12px; line-height:1.5; }
.site-navigation a span { font-size:12px; color:#b8b9b0; }
.site-navigation a[aria-current] { color:var(--ink); font-weight:600; }
.site-navigation a[aria-current] span { color:var(--accent); font-size:7px; }
.site-navigation a:hover { color:var(--accent); }
.site-navigation a:hover span { color:var(--accent); }
#about-main { display:flex; flex-direction:column; align-self:stretch; min-width:0; outline:none; }
.rail-note { padding-top:17px; max-width:150px; border-top:1px solid var(--line); color:#8b9081; font-family:var(--serif); font-size:12px; font-style:italic; line-height:1.8; }
.rail-note span { display:block; margin-top:3px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif; font-size:9px; font-style:normal; letter-spacing:.5px; }
.profile-heading { margin-bottom:24px; }
.profile-kicker { color:#7a806f; font-size:9px; letter-spacing:1.7px; text-transform:uppercase; }
.profile-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 18px; margin-top:10px; }
.profile-updated { margin-left:auto; color:#747c6a; font-size:11px; line-height:1.8; white-space:nowrap; font-variant-numeric:tabular-nums; }
.profile-updated span { color:#8a907e; margin-right:4px; }
.profile-name { display:flex; align-items:center; gap:17px; min-width:0; }
.profile-avatar { display:block; flex-shrink:0; width:56px; height:56px; object-fit:cover; border-radius:50%; }
.profile-name h1 { font-family:var(--serif); font-size:43px; line-height:1.15; font-weight:400; letter-spacing:-1.6px; overflow-wrap:anywhere; min-width:0; }
.profile-mark { color:var(--accent); font-size:25px; font-family:var(--serif); font-weight:400; }
.profile-description { color:#747b6c; font-size:12px; line-height:1.8; letter-spacing:.5px; }
.about-section { padding-bottom:28px; scroll-margin-top:25px; }
.about-section h2 { font-family:var(--serif); font-size:23px; font-weight:400; font-style:italic; letter-spacing:-.5px; line-height:1.4; margin-bottom:11px; }
.about-section h2 small { display:inline-block; vertical-align:middle; margin-left:8px; color:var(--accent); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:10px; font-weight:400; font-style:normal; letter-spacing:0; }
#introduction { padding:0 0 23px; margin-bottom:25px; border-bottom:1px solid var(--line); }
#introduction blockquote { border:0; padding:0; margin-bottom:8px; }
#introduction blockquote p { color:#4e5649; font-size:15px; line-height:1.9; letter-spacing:.25px; }
#introduction strong { font-weight:400; }
#introduction .section-prose > p { color:var(--muted); font-size:10px; line-height:1.8; }
.profile-record { padding:8px 0; color:#4a5145; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
.profile-record + .profile-record { border-top:1px solid #eaeae2; }
.record-label { white-space:nowrap; }
.record-value { display:inline; }
.profile-record:last-child { color:#737a6c; font-size:12px; }
#profile strong { color:var(--ink); font-weight:600; text-decoration:underline; text-decoration-color:#cbd1bc; text-decoration-thickness:3px; text-underline-offset:4px; }
#profile del { color:#919489; text-decoration-color:#b9bcb0; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 18px; margin-bottom:10px; }
.section-heading h2 { margin:0; }
.philosophy-note { color:#73796c; font-size:10px; line-height:1.8; }
.belief-scroll { max-width:100%; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#c7c9be transparent; }
.belief-list { padding:0; list-style:none; width:max-content; min-width:100%; }
.belief-line { display:flex; align-items:baseline; gap:15px; padding:7px 0; line-height:1.7; white-space:nowrap; border-bottom:1px solid #e9e9e1; }
.belief-line:last-child { border-bottom-color:transparent; }
.belief-number { flex:0 0 18px; color:#a3a797; font-size:9px; font-variant-numeric:tabular-nums; letter-spacing:.2px; }
.belief-pair { font-size:12.5px; }
.belief-english { color:#353e32; font-weight:500; }
.belief-dash { color:#b0b5a6; margin:0 4px; }
.belief-chinese { color:#51594c; font-size:12.5px; }
.belief-hint { display:none; }
.about-directory{display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--line);padding:18px 0}
.about-directory [hidden],[data-directory] [hidden]{display:none!important}
.directory-section{min-width:0;container-type:inline-size;padding:0}
.directory-heading{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}
.directory-heading h2{font-size:20px;line-height:1.5;font-weight:400;letter-spacing:-.5px;margin:0}
.directory-count{font:9px/1.6 ui-monospace,Consolas,monospace;color:#8a9884;font-variant-numeric:tabular-nums}
.directory-result{margin-left:auto;font-size:9px;color:var(--muted)}
.directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;list-style:none;padding:0;min-width:0}
.directory-entry{min-width:0;border-bottom:1px solid #e5e5dc}
.directory-item{position:relative;display:grid;grid-template-columns:23px minmax(0,1fr);align-content:start;align-items:center;gap:5px 8px;width:100%;height:100%;padding:11px 4px;min-width:0;border-radius:5px;transition:background-color .15s}
.directory-icon{grid-column:1;grid-row:1;align-self:start;display:grid;place-items:center;width:23px;height:23px;background:#efefe7;border:1px solid #e0e2d6;border-radius:5px;color:#7f8971}
.directory-icon svg{display:block;width:14px;height:14px}
.directory-copy{display:contents}
.directory-name{grid-column:2;grid-row:1;display:block;padding-right:8px;min-width:0;font-size:11.5px;font-weight:500;line-height:1.65;color:#434b3f;overflow-wrap:anywhere}
.directory-detail{grid-column:1/-1;display:block;font-size:9.5px;line-height:1.7;color:#737b6a;overflow-wrap:anywhere}
.directory-category{grid-column:1/-1;justify-self:start;display:inline-block;font-size:8px;line-height:1.7;color:#84927b;border:1px solid #e3e9dd;border-radius:3px;padding:0 4px;margin-top:1px}
.directory-arrow{position:absolute;top:11px;right:4px;font-size:9px;color:#a0ae97;opacity:0}
a.directory-item:hover,a.directory-item:focus-visible{background:#eeeee5}
a.directory-item:hover .directory-name{color:var(--accent)}
a.directory-item:hover .directory-arrow,a.directory-item:focus-visible .directory-arrow{opacity:1}
@container (min-width:460px){.directory-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (min-width:640px){.directory-list{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:14px}}
.directory-more{margin-top:8px;min-width:0}
.directory-more summary{display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;cursor:pointer;font-size:10px;color:#7a8c72;padding:6px 0;user-select:none}
.directory-more summary::-webkit-details-marker{display:none}
.directory-more summary svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.directory-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.directory-more summary:hover{color:var(--accent)}
.more-close-label{display:none}
.directory-more[open] .more-open-label{display:none}
.directory-more[open] .more-close-label{display:inline}
.directory-more[open] summary svg{transform:rotate(180deg)}
.directory-more>.directory-list{margin-top:3px}
.directory-tools{display:flex;gap:8px;margin:12px 0 5px;min-width:0}
.directory-search{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:7px 10px;border:1px solid #dce4d6;border-radius:5px;background:#faf9f5;color:#91a088}
.directory-search svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.directory-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:10px/1.7 var(--font)}
.directory-search input::placeholder{color:#94a08b}
.directory-search:focus-within{border-color:#97ab8a;outline:1px solid #97ab8a}
.directory-tools select{max-width:42%;min-width:0;border:1px solid #dce4d6;border-radius:5px;padding:5px 7px;background:#faf9f5;color:var(--secondary);font:10px/1.7 var(--font)}
.directory-empty{font-size:11px;color:var(--muted);padding:18px 8px 8px}
.profile-elsewhere { max-width:137px; margin-top:18px; padding:13px 0 0; border-top:1px solid var(--line); }
.profile-socials { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.profile-socials a { display:grid; place-items:center; width:32px; height:32px; color:#747c6c; border-radius:50%; transition:color .15s,background-color .15s; }
.profile-socials svg { display:block; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.profile-socials a:hover,.profile-socials a:focus-visible { color:var(--accent); background:#eeeee5; }
.page-footer { display:flex; justify-content:center; align-items:center; border-top:1px solid var(--line); padding:20px 0; margin-top:auto; color:#949889; text-align:center; }
.page-footer > span { font-family:var(--serif); font-size:13px; font-style:italic; letter-spacing:.3px; }
.back-to-top { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:20; display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:#7e8772; font-size:16px; line-height:1; }
.back-to-top:hover { color:var(--accent); border-color:#bec5b3; }
@media (min-width:1400px) { .about-layout { padding-top:82px; } }
@media (max-width:1000px) {
 .about-layout { grid-template-columns:150px minmax(0,1fr); gap:48px; width:calc(100% - 64px); }
 .site-brand { font-size:18px; }
 .site-caption { white-space:normal; max-width:140px; }
}
@media (max-width:800px) {
 .about-layout { display:flex; flex-direction:column; row-gap:0; width:min(640px,calc(100% - 48px)); padding:25px 0 10px; }
 #about-main { flex:1; width:100%; }
 .site-rail { width:100%; }
 .site-rail { position:static; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px 20px; padding:0 0 19px; margin-bottom:28px; border-bottom:1px solid var(--line); }
 .site-identity { grid-column:1; grid-row:1; }
 .site-brand { font-size:18px; }
 .site-caption { margin-top:4px; white-space:nowrap; max-width:none; font-size:11px; }
 .site-navigation { grid-column:2; grid-row:1; flex-direction:row; gap:19px; margin:0; }
 .site-navigation a { gap:6px; padding:3px 0; font-size:11px; }
 .site-navigation a span { display:none; }
 .site-navigation a[aria-current] { text-decoration:underline; text-underline-offset:7px; text-decoration-color:#b9c0aa; }
 .rail-note { display:none; }
 .profile-elsewhere { grid-column:1 / -1; grid-row:2; max-width:none; margin-top:0; border-top:0; padding:7px 0 0; }
 .profile-socials { gap:8px; }
 .profile-heading { margin-bottom:22px; }
}
@media (max-width:480px) {
 .back-to-top { right:12px; bottom:max(16px,env(safe-area-inset-bottom)); width:34px; height:34px; }
 .about-layout { width:calc(100% - 36px); padding-top:19px; }
 .site-rail { column-gap:12px; margin-bottom:23px; padding-bottom:16px; }
 .site-brand { font-size:16px; letter-spacing:0; }
 .site-caption { font-size:11px; }
 .site-navigation { gap:11px; }
 .site-navigation a { font-size:11px; }
 .profile-name h1 { font-size:36px; }
 .profile-meta { margin-top:8px; }
 .profile-updated { font-size:10px; }
 .profile-avatar { width:48px; height:48px; }
 .profile-record { font-size:12px; }
 .profile-record:last-child { font-size:11px; }
 .profile-socials { gap:7px; }
 .about-section { padding-bottom:23px; }
 .about-section h2 { font-size:22px; }
 #introduction { margin-bottom:22px; padding-bottom:20px; }
 #introduction blockquote p { font-size:14px; }
 #introduction .section-prose > p { font-size:9px; }
 .section-heading { display:block; }
 .philosophy-note { margin-top:4px; font-size:9px; }
 .belief-line { gap:8px; padding:6px 0; }
 .belief-number { flex-basis:13px; font-size:8px; }
 .belief-pair, .belief-chinese { font-size:12px; }
 .belief-dash { margin:0 1px; }

}
@media (max-width:359px) {
 .site-rail { grid-template-columns:1fr; gap:9px; }
 .site-identity { grid-row:1; grid-column:1; display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
 .site-navigation { grid-row:2; grid-column:1; gap:20px; }
 .profile-elsewhere { grid-row:3; }
 .belief-hint { display:block; color:var(--muted); font-size:9px; margin-top:6px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
@page { size:A4; margin:14mm 17mm; }
@media print {
 :root { --paper:#fff; }
 .about-layout { display:block; min-height:0; width:100%; padding:0; margin:0; }
 #about-main { display:block; }
 .site-rail,.skip-link,.page-footer,.back-to-top { display:none; }
 .profile-heading { margin-bottom:16px; }
 .profile-name h1 { font-size:32px; }
 .profile-meta { margin-top:5px; }
 .about-section { padding-bottom:16px; break-inside:avoid; }
 .about-section h2 { font-size:20px; margin-bottom:7px; }
 #introduction { margin-bottom:16px; padding-bottom:16px; }
 #introduction blockquote p { font-size:13px; }
 .profile-record { font-size:12px; }
 .belief-scroll { overflow:visible; }
 .belief-line { padding:4px 0; }
 .belief-pair,.belief-chinese { font-size:12px; }
 .about-directory { padding:12px 0; gap:6px; break-inside:avoid; }
 .directory-section { padding:0; }
 .directory-section h2 { margin:0; }
 .profile-elsewhere { padding:12px 0; break-inside:avoid; }
 .directory-tools,.directory-more summary,.directory-empty,.directory-result{display:none!important}
 .about-directory [data-directory-entry][hidden]{display:list-item!important}
 .about-directory .directory-list[hidden]{display:grid!important}
 .about-directory .directory-more[hidden]{display:block!important}
 .directory-more::details-content{content-visibility:visible!important}
 .directory-more>.directory-list{display:grid!important}
 .directory-item{break-inside:avoid}
}

/* Writing and taxonomy: quiet indexes, with the same paper and rail. */
.profile-name h1 { min-width:0; overflow-wrap:anywhere; }
.profile-mark { flex-shrink:0; }
.directory-name,.directory-detail { overflow-wrap:anywhere; min-width:0; }
.writing-list,.writing-article { min-width:0; padding-bottom:24px; }
.collection-heading { display:flex; align-items:baseline; gap:14px; padding-bottom:17px; border-bottom:1px solid var(--line); margin-bottom:19px; }
.collection-heading h1,.writing-heading h1 { margin:0; font:400 32px/1.4 var(--serif); letter-spacing:-.7px; min-width:0; overflow-wrap:anywhere; }
.collection-count { flex-shrink:0; color:var(--muted); font-size:10px; line-height:1.8; }
.collection-count strong { color:#5b6655; font:400 12px/1.8 ui-monospace,Consolas,monospace; font-variant-numeric:tabular-nums; margin-right:3px; }
.collection-back { display:inline-block; color:var(--muted); font-size:11px; line-height:1.8; width:fit-content; }
.collection-back:hover { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.tag-collection>.collection-back { margin-bottom:15px; }
.term-hash { margin-right:5px; color:#a3aa96; font-style:italic; }
.tags-index .collection-heading h1 { font-style:italic; }
.collection-empty { padding:14px 0 34px; color:var(--muted); font-size:12px; line-height:1.9; }
.archive-list { list-style:none; padding:0; min-width:0; }
.archive-entry { display:grid; grid-template-columns:96px minmax(0,1fr); gap:4px 18px; padding:15px 0; border-bottom:1px solid var(--line); }
.archive-date { grid-column:1; grid-row:1; padding-top:1px; color:#737b6c; font:14px/1.9 ui-monospace,Consolas,monospace; font-variant-numeric:tabular-nums; white-space:nowrap; }
.archive-copy { display:contents; }
.archive-copy h3 { grid-column:2; grid-row:1; min-width:0; margin:0; font-size:14px; line-height:1.85; font-weight:500; overflow-wrap:anywhere; }
.archive-copy h3 a { text-decoration-color:transparent; text-decoration-thickness:1px; text-underline-offset:5px; }
.archive-copy h3 a:hover { color:var(--accent); text-decoration-line:underline; text-decoration-color:currentColor; }
.archive-description { grid-column:2; color:var(--muted); font-size:11px; line-height:1.85; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.article-tags a span { color:#a7ad9c; margin-right:3px; }
.article-tags a:hover { color:var(--accent); }
.taxonomy-list { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 20px; list-style:none; padding:0; }
.taxonomy-list li { min-width:0; max-width:100%; }
.taxonomy-list a { display:inline-flex; align-items:baseline; gap:7px; max-width:100%; padding:5px 0; border-bottom:1px solid var(--line); font-size:13px; line-height:1.8; }
.taxonomy-name { min-width:0; overflow-wrap:anywhere; }
.taxonomy-hash { color:#abb09e; font:italic 14px/1 var(--serif); margin-right:6px; }
.taxonomy-list small { flex-shrink:0; font:12px/1.8 var(--font); color:#727c68; font-variant-numeric:tabular-nums; }
.taxonomy-list a:hover .taxonomy-name { color:var(--accent); }
.taxonomy-list a:hover .taxonomy-hash { color:var(--accent); }
.writing-heading { margin-bottom:28px; }
.writing-heading>.profile-kicker { margin-bottom:14px; }
.writing-description { color:var(--muted); margin-top:13px; font-size:12px; line-height:1.9; }
.article-heading { padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:19px; }
.article-heading h1 { font-size:29px; line-height:1.55; letter-spacing:-.6px; text-wrap:pretty; }
.article-topline { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; margin-bottom:14px; }
.article-meta { display:flex; flex-wrap:wrap; gap:6px 14px; color:#737b6c; font-size:12px; line-height:1.8; font-variant-numeric:tabular-nums; }
.article-tags { display:flex; flex-wrap:wrap; gap:4px 13px; margin-top:10px; color:#7e8775; font-size:10px; line-height:1.9; }
.article-reading,.article-outline { min-width:0; }
.article-reading>.prose>:first-child { margin-top:0; }
.article-toc { margin-bottom:19px; border-bottom:1px solid var(--line); padding-bottom:10px; }
.article-toc summary { display:flex; align-items:center; justify-content:space-between; width:100%; padding:2px 0 3px; color:#737d68; cursor:pointer; font-size:11px; line-height:1.9; list-style:none; }
.article-toc summary::-webkit-details-marker { display:none; }
.article-toc summary svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.article-toc[open] summary svg { transform:rotate(180deg); }
.article-toc summary:hover { color:var(--accent); }
.article-toc summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.article-toc>div { padding:12px 0 3px; }
.article-toc ul { list-style:none; padding-left:14px; }
.article-toc nav>ul { padding-left:0; }
.article-toc li:not(:has(>a))>ul { padding-left:0; }
.article-toc li+li { margin-top:6px; }
.article-toc li ul { margin-top:6px; }
.article-toc a { color:#6c775f; font-size:11px; line-height:1.9; overflow-wrap:anywhere; }
.article-toc a:hover { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.article-toc nav ul:empty { display:none; }
.article-toc .conversation-outline { list-style:none; padding:0; }
.conversation-outline a { display:grid; grid-template-columns:16px minmax(0,1fr); gap:6px; }
.outline-number { color:#9aa18f; font:9px/2.4 ui-monospace,Consolas,monospace; }
.article-toc .conversation-outline li+li { margin-top:11px; }
@media (max-width:1279px) {
 .article-toc>div { max-height:280px; overflow-y:auto; scrollbar-width:thin; }
}
@media (min-width:1280px) {
 .about-layout:has(.article-outline) { width:1064px; grid-template-columns:160px minmax(0,640px); column-gap:48px; padding-right:216px; }
 .writing-article:has(.article-outline) { display:grid; grid-template-columns:minmax(0,640px) 184px; grid-template-rows:auto auto auto auto; column-gap:32px; margin-right:-216px; align-items:start; }
 .article-outline { grid-column:2; grid-row:1/-1; position:sticky; top:var(--rail-top); max-height:calc(100svh - var(--rail-top) - 32px); padding-top:5px; overflow-y:auto; scrollbar-width:thin; }
 .article-heading { grid-column:1; grid-row:1; }
 .article-reading { grid-column:1; grid-row:2; }
 .article-neighbors { grid-column:1; grid-row:3; }
 .article-comments { grid-column:1; grid-row:4; }
 .article-outline .article-toc { margin:0; padding:0 0 0 16px; border:0; border-left:1px solid var(--line); }
 .article-toc summary { padding:0 0 3px; min-height:32px; font-size:12px; color:var(--ink); }
 .article-toc a { font-size:12px; line-height:1.8; }
 .article-toc ul { padding-left:12px; }
}
.prose { font-size:14px; line-height:1.9; color:#414b3c; overflow-wrap:anywhere; }
.prose>*+* { margin-top:15px; }
.prose h2,.prose h3,.prose h4,.prose h5,.prose h6 { margin-bottom:0; color:var(--ink); scroll-margin-top:26px; }
.prose h2 { font:400 22px/1.6 var(--serif); margin-top:28px; }
.prose h3 { font-size:17px; line-height:1.7; font-weight:500; margin-top:22px; }
.prose h4,.prose h5,.prose h6 { font-size:14px; font-weight:600; }
.prose a,.writing-description a,.about-content>p a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.prose strong { color:#303b2c; font-weight:600; }
.prose ul,.prose ol { padding-left:1.6em; }
.prose li+li { margin-top:6px; }
.prose li>*+* { margin-top:8px; }
.prose blockquote { width:100%; max-width:100%; border-left:2px solid #c6cbb8; padding:12px 16px; border-radius:0 3px 3px 0; background:#eeeee7; color:#69735f; }
.prose img,.about-content img { display:block; max-width:100%; height:auto; border-radius:3px; }
.prose figure { margin:23px 0; }
.prose figcaption { color:var(--muted); font-size:11px; line-height:1.8; margin-top:9px; text-align:center; }
.prose pre { max-width:100%; overflow:auto; padding:16px 18px; font-size:12px; line-height:1.85; border:1px solid #e2e3d9; border-radius:4px; background:#efeee7; tab-size:2; }
.prose pre code { padding:0; background:none; font-size:inherit; }
.prose code { font-family:ui-monospace,Consolas,monospace; font-size:.87em; background:#eceee5; padding:2px 4px; border-radius:2px; }
.prose .highlight { max-width:100%; }
.prose .katex-display,.prose .ce-math-display { max-width:100%; overflow-x:auto; overflow-y:hidden; }
.prose video,.prose iframe { max-width:100%; }
.prose table { display:block; width:fit-content; max-width:100%; overflow:auto; border-collapse:collapse; font-size:12px; }
.prose th,.prose td { padding:9px 14px; border-bottom:1px solid var(--line); text-align:left; }
.prose th { color:#46533e; font-weight:500; border-top:1px solid var(--line); }
.prose hr { border:0; border-top:1px solid var(--line); margin:32px 0; }
.prose .footnotes { font-size:11px; color:var(--muted); }
/* Bring exported conversations into the theme while retaining their content and math. */
.prose .gptx.gptx { color:#414b3c; background:transparent; font-family:var(--font); line-height:1.9; }
.prose .gptx.gptx header { text-align:left; padding-bottom:14px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.prose .gptx.gptx .meta { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.prose .gptx.gptx .message { padding:16px 0; scroll-margin-top:30px; }
.prose .gptx.gptx .message.user .content { color:var(--ink); background:#e9ecdf; border:1px solid #dfe3d4; border-radius:10px 3px 10px 10px; }
.prose .gptx.gptx .content>*+* { margin-top:14px; }
.prose .gptx.gptx .content>:first-child { margin-top:0; }
.prose .gptx.gptx .content>:last-child { margin-bottom:0; }
.prose .gptx.gptx .content a,.prose .gptx.gptx .message.user .content a { color:var(--accent); }
.prose .gptx.gptx .content h1,.prose .gptx.gptx .content h2,.prose .gptx.gptx .content h3,.prose .gptx.gptx .message.user .content h1,.prose .gptx.gptx .message.user .content h2,.prose .gptx.gptx .message.user .content h3 { color:var(--ink); }
.prose .gptx.gptx .content blockquote,.prose .gptx.gptx .message.user .content blockquote { color:#69735f; background:#eeeee7; border-color:#c6cbb8; }
.prose .gptx.gptx .content pre,.prose .gptx.gptx .message.user .content pre { background:#efeee7; border-color:var(--line); border-radius:4px; }
.prose .gptx.gptx .content p code,.prose .gptx.gptx .content li code,.prose .gptx.gptx .message.user .content p code,.prose .gptx.gptx .message.user .content li code { background:#e5e8dd; }
.prose .gptx.gptx .content th,.prose .gptx.gptx .content td,.prose .gptx.gptx .message.user .content th,.prose .gptx.gptx .message.user .content td { border-color:var(--line); }
.prose .gptx.gptx .content th,.prose .gptx.gptx .message.user .content th { background:#eeeee7; }
.prose .gptx.gptx .content [data-testid="webpage-citation-pill"] a { color:#606b56!important; background:#eeeee5!important; border-radius:4px!important; }
.prose .gptx.gptx .content [data-testid="webpage-citation-pill"] a:hover { background:#e3e7d9!important; }
.article-neighbors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; border-top:1px solid var(--line); margin-top:42px; padding-top:20px; }
.article-neighbors a { display:flex; flex-direction:column; gap:7px; min-width:0; }
.article-neighbors a:only-child { grid-column:1/-1; }
.article-neighbors span { color:#909886; font-size:10px; line-height:1.8; }
.article-neighbors strong { font-size:12px; line-height:1.9; font-weight:400; overflow-wrap:anywhere; }
.article-neighbors a:hover strong { color:var(--accent); }
.article-comments { margin-top:36px; padding-top:22px; border-top:1px solid var(--line); }
.article-comments h2 { font-size:16px; line-height:1.7; font-weight:500; margin-bottom:16px; }
.comments-status { color:var(--muted); font-size:12px; line-height:1.9; }
.comments-retry { margin-top:8px; padding:5px 12px; border:1px solid var(--line); background:transparent; color:var(--ink); font:12px/1.7 var(--font); border-radius:3px; cursor:pointer; }
.article-comments [hidden] { display:none!important; }
.article-comments .v { color:var(--ink); font-size:13px; }
.article-comments .v .vwrap { border:1px solid var(--line); border-radius:5px; background:#faf9f5; }
.article-comments .v .vwrap .vheader .vinput { border-bottom-color:var(--line); font-size:12px; color:var(--ink); }
.article-comments .v .vinput { color:var(--ink); font:13px/1.9 var(--font); }
.article-comments .v .vbtn { color:var(--ink); border-color:var(--line); background:var(--paper); border-radius:3px; }
.article-comments .v .vbtn:hover { color:var(--accent); border-color:var(--accent); }
.article-comments .v .vlist .vcard .vh { border-bottom-color:var(--line); }
.article-comments .v .vlist .vcard .vhead .vnick { color:var(--ink); }
.article-comments .v .vlist .vcard .vhead .vsys { background:#eeeee5; }
.article-comments .v a { color:var(--accent); }
.article-comments .v .vempty { font-size:12px; color:var(--muted); }
.about-content>p { font-size:13px; line-height:1.9; margin:14px 0; }
.about-content>h2 { font-family:var(--serif); font-size:23px; font-weight:400; margin:24px 0 12px; }
.list-intro { margin-bottom:24px; font-size:12px; }
@media (max-width:600px) {
 .taxonomy-list { gap:9px 16px; }
}
@media (max-width:480px) {
 .collection-heading { padding-bottom:15px; margin-bottom:18px; }
 .collection-heading h1 { font-size:28px; }
 .collection-count { font-size:9px; }
 .archive-entry { grid-template-columns:84px minmax(0,1fr); gap:4px 12px; padding:13px 0; }
 .archive-date { font-size:12px; }
 .archive-copy h3 { font-size:13px; line-height:1.85; }
 .archive-description { font-size:10.5px; }
 .taxonomy-list a { font-size:12px; padding:4px 0; }
 .article-topline { margin-bottom:13px; }
 .article-heading h1 { font-size:24px; line-height:1.6; }
 .article-heading { padding-bottom:17px; margin-bottom:18px; }
 .writing-heading:not(.article-heading) h1 { font-size:26px; }
 .article-meta { font-size:11px; gap:5px 10px; }
 .article-toc { margin-bottom:18px; }
 .prose { font-size:13px; line-height:1.95; }
 .prose h2 { font-size:20px; margin-top:26px; }
 .prose h3 { font-size:16px; }
 .prose pre { padding:13px; font-size:11px; }
 .prose th,.prose td { padding:8px 11px; }
 .article-neighbors { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:32px; }
 .site-navigation { flex-wrap:wrap; justify-content:flex-end; row-gap:9px; }
 .site-navigation a { white-space:nowrap; }
 .site-identity { min-width:0; }
 .site-caption { white-space:normal; }
}
@media print {
 .collection-heading h1,.writing-heading h1 { font-size:25px; }
 .article-outline,.article-comments,.article-neighbors,.article-topline>.collection-back,.tag-collection>.collection-back { display:none; }
 .about-layout:has(.article-outline) { display:block; width:100%; padding:0; }
 .writing-article:has(.article-outline) { display:block; margin:0; }
 .prose { font-size:11px; line-height:1.85; }
 .prose h2 { font-size:18px; }
 .prose pre { white-space:pre-wrap; overflow-wrap:anywhere; }
 .prose table { display:table; width:100%; font-size:10px; }
 .archive-entry,.taxonomy-list li { break-inside:avoid; }
}
