/* paper.css */
html[data-theme="paper"] body { font-size:18px; line-height:1.65; }
html[data-theme="paper"] a { text-underline-offset:.2em; }
html[data-theme="paper"] [data-region=main] { overflow-wrap:anywhere; }
html[data-theme="paper"] .article-body { max-width:70ch; font-size:1.125rem; }
html[data-theme="paper"] .article-body h2 { margin-top:1.8em; font-size:1.8rem; }
html[data-theme="paper"] .article-body h3 { margin-top:1.5em; font-size:1.4rem; }
html[data-theme="paper"] .article-body pre { font-size:.9rem; line-height:1.65; }
html[data-theme="paper"] .article-body pre code { overflow-wrap:normal; }
html[data-theme="paper"] .article-toc { font-size:.9rem; }
html[data-theme="paper"] .timeline-type { font-family:var(--font-mono); }
html[data-theme="paper"] .timeline-content { font-size:1rem; line-height:1.75; }
html[data-theme="paper"] .timeline-title { font-size:1.35rem; }
html[data-theme="paper"] .timeline-timestamp, html[data-theme="paper"] .timeline-handle, html[data-theme="paper"] .timeline-tags a { opacity:1; color:var(--muted); }
html[data-theme="paper"] .timeline-timestamp { white-space:normal; font-variant-numeric:tabular-nums; }
html[data-theme="paper"] .timeline-relationship { border-color:var(--rule); opacity:1; }
html[data-theme="paper"] .project-card { background:var(--surface); color:var(--ink); border-color:var(--rule); border-radius:0; }
html[data-theme="paper"] .project-card__summary { color:var(--muted); }
html[data-theme="paper"] .project-card__tags { border-color:var(--rule); }
html[data-theme="paper"] [data-series-entry] { border-color:var(--rule); }
html[data-theme="paper"] [data-region=footer] { color:var(--muted); border-top:1px solid var(--rule); margin-top:3rem; }
html[data-theme="paper"]:lang(zh) .article-body, html[data-theme="paper"]:lang(zh-Hans) .article-body { line-height:1.9; }
@media(max-width:599px) {
 html[data-theme="paper"] body { font-size:17px; }
 html[data-theme="paper"] .article-body { font-size:1.0625rem; }
 html[data-theme="paper"] [data-region=masthead] > a { max-width:100%; overflow-wrap:anywhere; }
 html[data-theme="paper"] .home-posts article { min-width:0; }
}
/* Paper: contrast C, olive ink on a ruled writing sheet. */
html[data-theme="paper"] .site-shell { max-width:1100px; margin:2.2rem auto; background:var(--surface); border:1px solid var(--rule); box-shadow:0 8px 30px #302c2420; position:relative; }
html[data-theme="paper"] .site-shell::before { content:""; position:absolute; inset:0 auto 0 3.75rem; border-left:1px solid var(--rule); pointer-events:none; z-index:21; }
html[data-theme="paper"] .site-header { background:var(--surface); border-bottom:3px double var(--accent); margin:0 3.4rem 0 5.9rem; }
html[data-theme="paper"] [data-region=masthead] { padding:1.5rem 0 1rem; }
html[data-theme="paper"] [data-region=masthead] > a { font-size:1.5rem; font-style:italic; }
html[data-theme="paper"] [data-region=nav] { background:var(--surface); padding:0 0 1.2rem; }
html[data-theme="paper"] [data-region=sidebar] a { font-size:1.05rem; }
html[data-theme="paper"] [data-region=main] { padding:3rem 3.4rem 3rem 5.9rem; }
html[data-theme="paper"] h1, html[data-theme="paper"] h2, html[data-theme="paper"] h3 { font-weight:400; letter-spacing:-.025em; }
html[data-theme="paper"] .home-intro { font-size:1.45rem; color:var(--muted); padding:1rem 0 2rem; }
html[data-theme="paper"] .home-posts > h1 { font-style:italic; font-size:1.65rem; padding-bottom:1rem; border-bottom:3px double var(--accent); }
html[data-theme="paper"] .home-posts article { display:grid; grid-template-columns:7rem minmax(0,1fr); gap:0 1rem; margin:0; padding:1.6rem 0; }
html[data-theme="paper"] .home-posts article > h2 { grid-column:2; font-size:1.8rem; margin:0 0 .8rem; }
html[data-theme="paper"] .home-posts article > p { grid-column:1; grid-row:1 / span 3; font-size:.9rem; }
html[data-theme="paper"] .home-posts article > ul, html[data-theme="paper"] .home-posts article > div { grid-column:2; }
html[data-theme="paper"] .home-posts article h2 a { text-decoration:underline; }
html[data-theme="paper"] .home-posts article .br-pill { border:0; padding:0; font-style:italic; }
html[data-theme="paper"] .article-toc { background:none; border:0; border-left:1px solid var(--rule); border-radius:0; font-style:italic; }
html[data-theme="paper"] .article-body p, html[data-theme="paper"] .article-body li { line-height:1.85; }
html[data-theme="paper"] .article-body pre { background:var(--code); }
html[data-theme="paper"] .article-body blockquote { background:none; font-style:italic; border-left-width:3px; }
html[data-theme="paper"] .timeline-entry { background:none; border-radius:0; border-bottom:1px solid var(--rule); padding:1.4rem 1rem; }
html[data-theme="paper"] .timeline-type { background:none; border:0; border-bottom:1px solid var(--accent); padding:.1rem 0; }
html[data-theme="paper"] .project-card { background:none; box-shadow:none; border:0; border-bottom:1px solid var(--rule); }
html[data-theme="paper"] .project-card:hover { box-shadow:none; }
html[data-theme="paper"] [data-series-entry] { border-width:0 0 1px; border-style:solid; padding-bottom:1.5rem; }
@media(max-width:750px) {
 html[data-theme="paper"] .site-shell { margin:0; border:0; }
 html[data-theme="paper"] .site-shell::before { left:1rem; }
 html[data-theme="paper"] .site-header { margin:0 1rem 0 2.3rem; }
 html[data-theme="paper"] [data-region=main] { padding:1.5rem 1.3rem 2rem 2.3rem; }
 html[data-theme="paper"] .home-intro { font-size:1.25rem; padding-top:0; }
 html[data-theme="paper"] .home-posts article { display:block; }
 html[data-theme="paper"] .home-posts article > h2 { font-size:1.6rem; }
}

/* Keep project controls on the same material as their reading surface. */
html[data-theme="paper"] .projects-shell { --projects-filter-bg:var(--surface); --project-tag-bg:var(--surface); --project-tag-border:var(--rule); --project-tag-border-hover:var(--accent); --project-tag-color:var(--ink); --project-tag-count-bg:var(--bg); --project-card-media-bg:var(--surface); --project-card-divider:var(--rule); --project-browser-bg:var(--surface); --project-browser-address-bg:var(--bg); --project-browser-address-color:var(--muted); --project-browser-border:var(--rule); --project-tag-active-color:var(--surface); }
html[data-theme="paper"] .project-tag:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
html[data-theme="paper"] .site-shell:has(.home-posts) .theme-art { display:flex; gap:5px; width:2.5rem; height:1.5rem; margin-inline:auto 1rem; flex-shrink:0; }
html[data-theme="paper"] .theme-art span { flex:1; background:var(--accent); }
html[data-theme="paper"] .theme-art span { background:none; border-block:1px solid var(--accent); }
@media(max-width:750px) { html[data-theme="paper"] .site-shell:has(.home-posts) .theme-art { display:none; } }

html[data-theme="paper"] .timeline-content pre { max-width:100%; overflow-x:auto; background:var(--surface); padding:1rem; border:1px solid var(--rule); font-size:.9rem; }
html[data-theme="paper"] .timeline-content img { max-width:100%; height:auto; }
html[data-theme="paper"] .timeline-content table { display:block; max-width:100%; overflow-x:auto; }

/* swiss.css */
html[data-theme="swiss"] body { font-size:18px; line-height:1.65; }
html[data-theme="swiss"] a { text-underline-offset:.2em; }
html[data-theme="swiss"] [data-region=main] { overflow-wrap:anywhere; }
html[data-theme="swiss"] .article-body { max-width:70ch; font-size:1.125rem; }
html[data-theme="swiss"] .article-body h2 { margin-top:1.8em; font-size:1.8rem; }
html[data-theme="swiss"] .article-body h3 { margin-top:1.5em; font-size:1.4rem; }
html[data-theme="swiss"] .article-body pre { font-size:.9rem; line-height:1.65; }
html[data-theme="swiss"] .article-body pre code { overflow-wrap:normal; }
html[data-theme="swiss"] .article-toc { font-size:.9rem; }
html[data-theme="swiss"] .timeline-type { font-family:var(--font-mono); }
html[data-theme="swiss"] .timeline-content { font-size:1rem; line-height:1.75; }
html[data-theme="swiss"] .timeline-title { font-size:1.35rem; }
html[data-theme="swiss"] .timeline-timestamp, html[data-theme="swiss"] .timeline-handle, html[data-theme="swiss"] .timeline-tags a { opacity:1; color:var(--muted); }
html[data-theme="swiss"] .timeline-timestamp { white-space:normal; font-variant-numeric:tabular-nums; }
html[data-theme="swiss"] .timeline-relationship { border-color:var(--rule); opacity:1; }
html[data-theme="swiss"] .project-card { background:var(--surface); color:var(--ink); border-color:var(--rule); border-radius:0; }
html[data-theme="swiss"] .project-card__summary { color:var(--muted); }
html[data-theme="swiss"] .project-card__tags { border-color:var(--rule); }
html[data-theme="swiss"] [data-series-entry] { border-color:var(--rule); }
html[data-theme="swiss"] [data-region=footer] { color:var(--muted); border-top:1px solid var(--rule); margin-top:3rem; }
html[data-theme="swiss"]:lang(zh) .article-body, html[data-theme="swiss"]:lang(zh-Hans) .article-body { line-height:1.9; }
@media(max-width:599px) {
 html[data-theme="swiss"] body { font-size:17px; }
 html[data-theme="swiss"] .article-body { font-size:1.0625rem; }
 html[data-theme="swiss"] [data-region=masthead] > a { max-width:100%; overflow-wrap:anywhere; }
 html[data-theme="swiss"] .home-posts article { min-width:0; }
}
/* Swiss: asymmetric type, blue emphasis and red navigation metadata. */
html[data-theme="swiss"] .site-shell { max-width:1400px; padding:1.8rem 2.5rem 0; }
html[data-theme="swiss"] .site-header { border-top:8px solid var(--accent); border-bottom:0; }
html[data-theme="swiss"] [data-region=masthead] { padding:1.1rem 0 .7rem; }
html[data-theme="swiss"] [data-region=masthead] > a { font-size:1.3rem; letter-spacing:-.035em; }
html[data-theme="swiss"] [data-region=nav] { padding:.5rem 0 1rem; }
html[data-theme="swiss"] [data-region=sidebar] { gap:.5rem 1.4rem; }
html[data-theme="swiss"] [data-region=sidebar] a { color:var(--ink); }
html[data-theme="swiss"] [data-region=sidebar] a.underline { color:var(--accent); text-decoration-thickness:3px; }
html[data-theme="swiss"] [data-region=main] { padding:3rem 0; }
html[data-theme="swiss"] h1, html[data-theme="swiss"] h2, html[data-theme="swiss"] h3 { letter-spacing:-.045em; }
html[data-theme="swiss"] .home-posts { display:grid; grid-template-columns:1fr 3fr; gap:1.5rem; }
html[data-theme="swiss"] .home-posts > h1 { grid-column:1 / -1; grid-row:2; max-width:11ch; font-size:clamp(4rem,8vw,7rem); line-height:.95; letter-spacing:-.075em; color:var(--accent); padding:0 0 1rem; }
html[data-theme="swiss"] .home-intro { grid-column:2; grid-row:1; justify-self:end; max-width:36ch; font-size:1.5rem; line-height:1.4; margin:0 0 3rem; }
html[data-theme="swiss"] .home-posts > .flex { grid-column:1 / -1; border-top:2px solid var(--ink); }
html[data-theme="swiss"] .home-posts article { display:grid; grid-template-columns:calc(25% - 1.1rem) minmax(0,1fr); gap:0 1.5rem; margin:0; padding:1.8rem 0; }
html[data-theme="swiss"] .home-posts article > h2 { grid-column:2; margin:0 0 1rem; font-size:2.1rem; }
html[data-theme="swiss"] .home-posts article > p { grid-column:1; grid-row:1 / span 3; color:var(--red); }
html[data-theme="swiss"] .home-posts article > ul, html[data-theme="swiss"] .home-posts article > div { grid-column:2; }
html[data-theme="swiss"] .home-posts article h2 a { color:var(--ink); text-decoration:underline; }
html[data-theme="swiss"] .home-posts article:first-child h2 a { color:var(--accent); }
html[data-theme="swiss"] .home-posts > nav { grid-column:1 / -1; }
html[data-theme="swiss"] [data-region=main] > header { padding:1.5rem 0; border-top:1px solid var(--rule); }
html[data-theme="swiss"] [data-region=main] > header > h1 { font-size:clamp(2.5rem,5vw,4.75rem); max-width:20ch; }
html[data-theme="swiss"] .article-toc { background:none; border:0; border-top:2px solid var(--red); padding:1rem 0; border-radius:0; }
html[data-theme="swiss"] .article-toc a { color:var(--red); }
html[data-theme="swiss"] .timeline-entry { border:0; border-top:1px solid var(--rule); border-radius:0; padding:1.8rem 0; background:none; }
html[data-theme="swiss"] .timeline-dot { display:none; }
html[data-theme="swiss"] .timeline-type { border:1px solid var(--accent); border-left-width:4px; border-radius:0; background:none; padding:.2rem .5rem; }
html[data-theme="swiss"] .timeline-timestamp { color:var(--red); }
html[data-theme="swiss"] .project-card { border:0; border-top:7px solid var(--accent); box-shadow:none; background:none; }
html[data-theme="swiss"] .project-card:hover { box-shadow:none; }
html[data-theme="swiss"] [data-series-entry]::marker { color:var(--red); font-weight:700; }
@media(min-width:1100px) { html[data-theme="swiss"] .article-layout.has-toc { grid-template-columns:1fr 3fr; gap:1.5rem; } }
@media(max-width:750px) {
 html[data-theme="swiss"] .site-shell { padding:1.25rem; }
 html[data-theme="swiss"] [data-region=main] { padding:2rem 0; }
 html[data-theme="swiss"] .home-posts { display:flex; flex-direction:column; gap:0; }
 html[data-theme="swiss"] .home-posts > h1 {  font-size:clamp(3rem,14vw,4.1rem); }
 html[data-theme="swiss"] .home-intro { margin:1.5rem 0 2.5rem 1.7rem; font-size:1.25rem; }
 html[data-theme="swiss"] .home-posts article { display:block; }
 html[data-theme="swiss"] .home-posts article > h2 { font-size:1.9rem; }
}

/* Keep project controls on the same material as their reading surface. */
html[data-theme="swiss"] .projects-shell { --projects-filter-bg:var(--surface); --project-tag-bg:var(--surface); --project-tag-border:var(--rule); --project-tag-border-hover:var(--accent); --project-tag-color:var(--ink); --project-tag-count-bg:var(--bg); --project-card-media-bg:var(--surface); --project-card-divider:var(--rule); --project-browser-bg:var(--surface); --project-browser-address-bg:var(--bg); --project-browser-address-color:var(--muted); --project-browser-border:var(--rule); --project-tag-active-color:var(--surface); }
html[data-theme="swiss"] .project-tag:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
html[data-theme="swiss"] .site-shell:has(.home-posts) .theme-art { display:flex; gap:5px; width:2.5rem; height:1.5rem; margin-inline:auto 1rem; flex-shrink:0; }
html[data-theme="swiss"] .theme-art span { flex:1; background:var(--accent); }
html[data-theme="swiss"] .theme-art span:last-child { background:var(--red); height:50%; align-self:end; }
@media(max-width:750px) { html[data-theme="swiss"] .site-shell:has(.home-posts) .theme-art { display:none; } }

html[data-theme="swiss"] .timeline-content pre { max-width:100%; overflow-x:auto; background:var(--surface); padding:1rem; border:1px solid var(--rule); font-size:.9rem; }
html[data-theme="swiss"] .timeline-content img { max-width:100%; height:auto; }
html[data-theme="swiss"] .timeline-content table { display:block; max-width:100%; overflow-x:auto; }

/* brutalist.css */
html[data-theme="brutalist"] body { font-size:18px; line-height:1.65; }
html[data-theme="brutalist"] a { text-underline-offset:.2em; }
html[data-theme="brutalist"] [data-region=main] { overflow-wrap:anywhere; }
html[data-theme="brutalist"] .article-body { max-width:70ch; font-size:1.125rem; }
html[data-theme="brutalist"] .article-body h2 { margin-top:1.8em; font-size:1.8rem; }
html[data-theme="brutalist"] .article-body h3 { margin-top:1.5em; font-size:1.4rem; }
html[data-theme="brutalist"] .article-body pre { font-size:.9rem; line-height:1.65; }
html[data-theme="brutalist"] .article-body pre code { overflow-wrap:normal; }
html[data-theme="brutalist"] .article-toc { font-size:.9rem; }
html[data-theme="brutalist"] .timeline-type { font-family:var(--font-mono); }
html[data-theme="brutalist"] .timeline-content { font-size:1rem; line-height:1.75; }
html[data-theme="brutalist"] .timeline-title { font-size:1.35rem; }
html[data-theme="brutalist"] .timeline-timestamp, html[data-theme="brutalist"] .timeline-handle, html[data-theme="brutalist"] .timeline-tags a { opacity:1; color:var(--muted); }
html[data-theme="brutalist"] .timeline-timestamp { white-space:normal; font-variant-numeric:tabular-nums; }
html[data-theme="brutalist"] .timeline-relationship { border-color:var(--rule); opacity:1; }
html[data-theme="brutalist"] .project-card { background:var(--surface); color:var(--ink); border-color:var(--rule); border-radius:0; }
html[data-theme="brutalist"] .project-card__summary { color:var(--muted); }
html[data-theme="brutalist"] .project-card__tags { border-color:var(--rule); }
html[data-theme="brutalist"] [data-series-entry] { border-color:var(--rule); }
html[data-theme="brutalist"] [data-region=footer] { color:var(--muted); border-top:1px solid var(--rule); margin-top:3rem; }
html[data-theme="brutalist"]:lang(zh) .article-body, html[data-theme="brutalist"]:lang(zh-Hans) .article-body { line-height:1.9; }
@media(max-width:599px) {
 html[data-theme="brutalist"] body { font-size:17px; }
 html[data-theme="brutalist"] .article-body { font-size:1.0625rem; }
 html[data-theme="brutalist"] [data-region=masthead] > a { max-width:100%; overflow-wrap:anywhere; }
 html[data-theme="brutalist"] .home-posts article { min-width:0; }
}
/* Brutalist R2: saturated print blocks around calm reading surfaces. */
html[data-theme="brutalist"] .site-shell { max-width:1400px; padding:1.8rem 2.5rem; }
html[data-theme="brutalist"] .site-header { border:4px solid var(--ink); }
html[data-theme="brutalist"] [data-region=masthead] { padding:1rem 1.2rem .5rem; }
html[data-theme="brutalist"] [data-region=masthead] > a { font-weight:900; font-size:1.4rem; }
html[data-theme="brutalist"] [data-region=nav] { padding:.5rem 1.2rem 1rem; }
html[data-theme="brutalist"] [data-region=sidebar] a { font-weight:700; color:var(--ink); }
html[data-theme="brutalist"] [data-region=sidebar] a.underline { text-decoration-thickness:4px; text-decoration-color:var(--accent); }
html[data-theme="brutalist"] [data-region=main] { padding:3rem 0; }
html[data-theme="brutalist"] h1, html[data-theme="brutalist"] h2, html[data-theme="brutalist"] h3 { font-weight:900; letter-spacing:-.04em; }
html[data-theme="brutalist"] .home-posts { display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem 0; align-items:center; }
html[data-theme="brutalist"] .home-posts > h1 { grid-column:1 / -1; grid-row:2; padding:1.75rem; font-size:clamp(3rem,6.5vw,6.4rem); line-height:.95; letter-spacing:-.065em; color:white; background:var(--blue); }
html[data-theme="brutalist"] .home-intro { grid-column:2; grid-row:1; background:var(--yellow); color:#111; padding:1.7rem; border:4px solid #111; box-shadow:7px 7px 0 var(--ink); font-size:1.35rem; font-weight:700; margin:0 7px 0 0; }
html[data-theme="brutalist"] .home-intro a { color:#111; }
html[data-theme="brutalist"] .home-posts > .flex { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; padding:1rem 7px 0 0; }
html[data-theme="brutalist"] .home-posts article { border:3px solid var(--ink); border-top:14px solid var(--mint); padding:1.5rem; box-shadow:6px 6px 0 var(--ink); margin:0; }
html[data-theme="brutalist"] .home-posts article:nth-child(3n + 1) { border-top-color:var(--coral); }
html[data-theme="brutalist"] .home-posts article h2 { font-size:2rem; margin-top:0; }
html[data-theme="brutalist"] .home-posts article h2 a { color:var(--ink); text-decoration:underline; }
html[data-theme="brutalist"] .home-posts > nav { grid-column:1 / -1; }
html[data-theme="brutalist"] .home-posts .br-pill { border-radius:0; border-width:2px; background:var(--surface); }
html[data-theme="brutalist"] [data-region=main] > header { border-bottom:8px solid var(--blue); padding-bottom:1.75rem; }
html[data-theme="brutalist"] [data-region=main] > header > h1 { font-size:clamp(2.5rem,6vw,5.5rem); line-height:.98; }
html[data-theme="brutalist"] .article-toc { border:0; border-top:10px solid var(--mint); border-radius:0; font-weight:700; background:none; padding:1rem 0; }
html[data-theme="brutalist"] .article-body h2 { border-left:10px solid var(--blue); padding-left:1rem; }
html[data-theme="brutalist"] .article-body h3 { border-bottom:4px solid var(--mint); padding-bottom:.6rem; }
html[data-theme="brutalist"] .article-body blockquote { border-left:10px solid var(--coral); }
html[data-theme="brutalist"] .article-body pre { border:2px solid var(--ink); border-top:8px solid var(--blue); }
html[data-theme="brutalist"] .timeline-entry { border:0; border-top:3px solid var(--ink); border-radius:0; padding:1.8rem 0; background:none; }
html[data-theme="brutalist"] .timeline-dot { display:none; }
html[data-theme="brutalist"] .timeline-topline { margin-bottom:1rem; gap:.6rem 1rem; }
html[data-theme="brutalist"] .timeline-type { border:2px solid var(--ink); border-radius:0; color:var(--ink); background:var(--surface); font-weight:700; }
html[data-theme="brutalist"] .timeline-title { font-size:1.7rem; margin-bottom:1rem; }
html[data-theme="brutalist"] .timeline-content { max-width:68ch; }
html[data-theme="brutalist"] .project-card { border:3px solid var(--ink); border-bottom:12px solid var(--mint); box-shadow:6px 6px 0 var(--ink); background:var(--bg); }
html[data-theme="brutalist"] .project-card:nth-child(3n + 2) { border-bottom-color:var(--coral); }
html[data-theme="brutalist"] .project-card:nth-child(3n) { border-bottom-color:var(--yellow); }
html[data-theme="brutalist"] .project-card:hover { box-shadow:6px 6px 0 var(--ink); }
html[data-theme="brutalist"] .project-card__title { background:var(--mint); padding:.75rem; color:#111; }
html[data-theme="brutalist"] .project-card:nth-child(3n + 2) .project-card__title { background:var(--coral); }
html[data-theme="brutalist"] .project-card:nth-child(3n) .project-card__title { background:var(--yellow); }
html[data-theme="brutalist"] .project-card__title a, html[data-theme="brutalist"] .project-card__title a:visited { color:#111; }
html[data-theme="brutalist"] [data-series-entry] { padding:1.25rem; border:3px solid var(--ink); border-top:12px solid var(--mint); margin-bottom:1.8rem; }
html[data-theme="brutalist"] [data-series-entry]:nth-child(even) { border-top-color:var(--coral); }
html[data-theme="brutalist"] [data-series-entry]::marker { font-weight:900; color:var(--accent); }
@media(max-width:750px) {
 html[data-theme="brutalist"] .site-shell { padding:1rem 1.4rem 1rem 1rem; }
 html[data-theme="brutalist"] [data-region=main] { padding:2rem 0; }
 html[data-theme="brutalist"] .home-posts { display:flex; flex-direction:column; gap:0; align-items:stretch; }
 html[data-theme="brutalist"] .home-posts > h1 {  font-size:clamp(2.8rem,13vw,4rem); padding:1.25rem; }
 html[data-theme="brutalist"] .home-intro { margin:0 7px 1.7rem .6rem; padding:1.2rem; font-size:1.2rem; }
 html[data-theme="brutalist"] .home-posts > .flex { grid-template-columns:1fr; gap:1.8rem; }
 html[data-theme="brutalist"] .home-posts article { padding:1.2rem; }
 html[data-theme="brutalist"] .home-posts article h2 { font-size:1.7rem; }
}

/* Keep project controls on the same material as their reading surface. */
html[data-theme="brutalist"] .projects-shell { --projects-filter-bg:var(--surface); --project-tag-bg:var(--surface); --project-tag-border:var(--rule); --project-tag-border-hover:var(--accent); --project-tag-color:var(--ink); --project-tag-count-bg:var(--bg); --project-card-media-bg:var(--surface); --project-card-divider:var(--rule); --project-browser-bg:var(--surface); --project-browser-address-bg:var(--bg); --project-browser-address-color:var(--muted); --project-browser-border:var(--rule); --project-tag-active-color:var(--surface); }
html[data-theme="brutalist"] .project-tag:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
html[data-theme="brutalist"] .site-shell:has(.home-posts) .theme-art { display:flex; gap:5px; width:2.5rem; height:1.5rem; margin-inline:auto 1rem; flex-shrink:0; }
html[data-theme="brutalist"] .theme-art span { flex:1; background:var(--accent); }
html[data-theme="brutalist"] .theme-art span:first-child { background:var(--coral); border:2px solid var(--ink); }
html[data-theme="brutalist"] .theme-art span:last-child { background:var(--mint); border:2px solid var(--ink); }
@media(max-width:750px) { html[data-theme="brutalist"] .site-shell:has(.home-posts) .theme-art { display:none; } }

html[data-theme="brutalist"] .timeline-content pre { max-width:100%; overflow-x:auto; background:var(--surface); padding:1rem; border:1px solid var(--rule); font-size:.9rem; }
html[data-theme="brutalist"] .timeline-content img { max-width:100%; height:auto; }
html[data-theme="brutalist"] .timeline-content table { display:block; max-width:100%; overflow-x:auto; }

/* zine.css */
html[data-theme="zine"] body { font-size:18px; line-height:1.65; }
html[data-theme="zine"] a { text-underline-offset:.2em; }
html[data-theme="zine"] [data-region=main] { overflow-wrap:anywhere; }
html[data-theme="zine"] .article-body { max-width:70ch; font-size:1.125rem; }
html[data-theme="zine"] .article-body h2 { margin-top:1.8em; font-size:1.8rem; }
html[data-theme="zine"] .article-body h3 { margin-top:1.5em; font-size:1.4rem; }
html[data-theme="zine"] .article-body pre { font-size:.9rem; line-height:1.65; }
html[data-theme="zine"] .article-body pre code { overflow-wrap:normal; }
html[data-theme="zine"] .article-toc { font-size:.9rem; }
html[data-theme="zine"] .timeline-type { font-family:var(--font-mono); }
html[data-theme="zine"] .timeline-content { font-size:1rem; line-height:1.75; }
html[data-theme="zine"] .timeline-title { font-size:1.35rem; }
html[data-theme="zine"] .timeline-timestamp, html[data-theme="zine"] .timeline-handle, html[data-theme="zine"] .timeline-tags a { opacity:1; color:var(--muted); }
html[data-theme="zine"] .timeline-timestamp { white-space:normal; font-variant-numeric:tabular-nums; }
html[data-theme="zine"] .timeline-relationship { border-color:var(--rule); opacity:1; }
html[data-theme="zine"] .project-card { background:var(--surface); color:var(--ink); border-color:var(--rule); border-radius:0; }
html[data-theme="zine"] .project-card__summary { color:var(--muted); }
html[data-theme="zine"] .project-card__tags { border-color:var(--rule); }
html[data-theme="zine"] [data-series-entry] { border-color:var(--rule); }
html[data-theme="zine"] [data-region=footer] { color:var(--muted); border-top:1px solid var(--rule); margin-top:3rem; }
html[data-theme="zine"]:lang(zh) .article-body, html[data-theme="zine"]:lang(zh-Hans) .article-body { line-height:1.9; }
@media(max-width:599px) {
 html[data-theme="zine"] body { font-size:17px; }
 html[data-theme="zine"] .article-body { font-size:1.0625rem; }
 html[data-theme="zine"] [data-region=masthead] > a { max-width:100%; overflow-wrap:anywhere; }
 html[data-theme="zine"] .home-posts article { min-width:0; }
}
/* Zine: dotted blue desk, cut-paper cards and pink/yellow stickers. */
html[data-theme="zine"] .theme-backdrop { background-image:radial-gradient(#ffffff33 1px,transparent 1px); background-size:12px 12px; }
html[data-theme="zine"] .site-shell { max-width:1400px; padding:1.8rem 2.5rem; }
html[data-theme="zine"] .site-header { border-bottom:0; }
html[data-theme="zine"] [data-region=masthead] { padding:1rem 0; color:white; }
html[data-theme="zine"] [data-region=masthead] > a, html[data-theme="zine"] [data-region=masthead] .language-switcher a { color:white; font-size:1.35rem; }
html[data-theme="zine"] [data-region=nav] { padding:.5rem 0 1rem; }
html[data-theme="zine"] [data-region=sidebar] { gap:.75rem 1rem; }
html[data-theme="zine"] [data-region=sidebar] a:any-link { background:var(--yellow); color:#161441; border:3px outset #ffffc4; padding:.35rem .7rem; box-shadow:3px 3px 0 #161441; font-weight:700; }
html[data-theme="zine"] [data-region=main] { margin-top:2.5rem; padding:2rem; background:var(--paper); border:3px solid #161441; box-shadow:8px 8px 0 #090824; }
html[data-theme="zine"] [data-region=main]:has(.home-posts) { background:none; border:0; box-shadow:none; padding:2rem 0; }
html[data-theme="zine"] h1, html[data-theme="zine"] h2, html[data-theme="zine"] h3 { font-weight:900; letter-spacing:-.045em; }
html[data-theme="zine"] .home-posts { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem 2rem; align-items:center; padding:0 .5rem; }
html[data-theme="zine"] .home-posts > h1 { grid-column:1 / -1; grid-row:2; font-size:clamp(3.5rem,7vw,6.5rem); line-height:.98; letter-spacing:-.075em; color:var(--yellow); text-shadow:5px 5px 0 #161441; transform:rotate(-2deg); }
html[data-theme="zine"] .home-intro { grid-column:2; grid-row:1; background:var(--pink); color:#161441; padding:1.75rem; border:3px solid #161441; box-shadow:7px 7px 0 #090824; transform:rotate(2deg); font-size:1.2rem; }
html[data-theme="zine"] .home-intro a { color:#161441; }
html[data-theme="zine"] .home-posts > .flex { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; padding-right:7px; }
html[data-theme="zine"] .home-posts article { background:var(--paper); border:3px solid #161441; padding:1.5rem; box-shadow:6px 6px 0 #090824; margin:0; }
html[data-theme="zine"] .home-posts article:first-child { background:var(--yellow); color:#161441; transform:rotate(-1deg); }
html[data-theme="zine"] .home-posts article:first-child a { color:#161441; }
html[data-theme="zine"] .home-posts article:first-child .theme-midtone { color:#51496c; }
html[data-theme="zine"] .home-posts article h2 { font-size:1.9rem; margin-top:0; }
html[data-theme="zine"] .home-posts article h2 a { color:var(--ink); text-decoration:underline; }
html[data-theme="zine"] .home-posts article .br-pill { border-radius:0; border-color:currentColor; }
html[data-theme="zine"] .home-posts > nav { grid-column:1 / -1; color:white; }
html[data-theme="zine"] .home-posts > nav a { color:white; }
html[data-theme="zine"] [data-region=main] > header > h1 { background:var(--yellow); color:#161441; padding:1.5rem; border:3px solid #161441; font-size:clamp(2.2rem,5vw,4.4rem); }
html[data-theme="zine"] .article-toc { border:0; border-top:5px solid var(--pink); border-radius:0; background:none; font-weight:700; }
html[data-theme="zine"] .article-body blockquote { border-left-color:var(--pink); }
html[data-theme="zine"] .timeline-entry { background:none; border:0; border-top:1px solid var(--rule); border-radius:0; padding:1.7rem 0; }
html[data-theme="zine"] .timeline-dot { display:none; }
html[data-theme="zine"] .timeline-type { background:var(--pink); color:#161441; border:2px solid #161441; border-radius:0; box-shadow:3px 3px 0 #161441; transform:rotate(-2deg); font-size:.9rem; margin-bottom:.5rem; }
html[data-theme="zine"] .project-card { background:var(--paper); border:3px solid #161441; box-shadow:6px 6px 0 #090824; }
html[data-theme="zine"] .project-card:hover { box-shadow:6px 6px 0 #090824; }
html[data-theme="zine"] [data-series-entry] { border-bottom:2px solid var(--rule); padding:1rem 0 1.8rem; }
html[data-theme="zine"] [data-series-entry]::marker { color:var(--accent); font-weight:900; }
html[data-theme="zine"] [data-region=footer], html[data-theme="zine"] [data-region=footer] a { color:white; border-color:#ffffff88; }
@media(max-width:750px) {
 html[data-theme="zine"] .site-shell { padding:1rem 1.4rem 1rem 1rem; }
 html[data-theme="zine"] [data-region=main] { padding:1.1rem .9rem; margin-top:1.5rem; }
 html[data-theme="zine"] .home-posts { display:flex; flex-direction:column; gap:1.5rem; align-items:stretch; }
 html[data-theme="zine"] .home-posts > h1 {  font-size:clamp(2.7rem,13vw,4rem); }
 html[data-theme="zine"] .home-intro { padding:1.2rem; font-size:1.1rem; margin:.5rem .3rem 1rem; transform:rotate(1deg); }
 html[data-theme="zine"] .home-posts > .flex { grid-template-columns:1fr; }
 html[data-theme="zine"] .home-posts article { padding:1.1rem; }
 html[data-theme="zine"] .home-posts article h2 { font-size:1.65rem; }
 html[data-theme="zine"] [data-region=main] > header > h1 { padding:1rem; font-size:2.15rem; }
}

/* Keep project controls on the same material as their reading surface. */
html[data-theme="zine"] .projects-shell { --projects-filter-bg:var(--surface); --project-tag-bg:var(--surface); --project-tag-border:var(--rule); --project-tag-border-hover:var(--accent); --project-tag-color:var(--ink); --project-tag-count-bg:var(--bg); --project-card-media-bg:var(--surface); --project-card-divider:var(--rule); --project-browser-bg:var(--surface); --project-browser-address-bg:var(--bg); --project-browser-address-color:var(--muted); --project-browser-border:var(--rule); --project-tag-active-color:var(--surface); }
html[data-theme="zine"] .project-tag:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
html[data-theme="zine"] .site-shell:has(.home-posts) .theme-art { display:flex; gap:5px; width:2.5rem; height:1.5rem; margin-inline:auto 1rem; flex-shrink:0; }
html[data-theme="zine"] .theme-art span { flex:1; background:var(--accent); }
html[data-theme="zine"] .theme-art span:first-child { background:var(--pink); transform:rotate(-12deg); }
html[data-theme="zine"] .theme-art span:last-child { background:var(--yellow); transform:rotate(12deg); }
@media(max-width:750px) { html[data-theme="zine"] .site-shell:has(.home-posts) .theme-art { display:none; } }

html[data-theme="zine"] .timeline-content pre { max-width:100%; overflow-x:auto; background:var(--surface); padding:1rem; border:1px solid var(--rule); font-size:.9rem; }
html[data-theme="zine"] .timeline-content img { max-width:100%; height:auto; }
html[data-theme="zine"] .timeline-content table { display:block; max-width:100%; overflow-x:auto; }

/* glass.css */
html[data-theme="glass"] body { font-size:18px; line-height:1.7; }
html[data-theme="glass"] a { text-underline-offset:4px; }
html[data-theme="glass"] .site-shell { max-width:1180px; }
html[data-theme="glass"] [data-region=main] { max-width:1180px; padding:48px 32px; }
html[data-theme="glass"] .site-header { margin:16px 32px 0; border:1px solid var(--rim); border-radius:36px; background:var(--surface); }
html[data-theme="glass"] [data-region=masthead] { padding:18px 28px 8px; }
html[data-theme="glass"] [data-region=masthead]>a { font-size:24px; letter-spacing:-.025em; color:var(--ink); }
html[data-theme="glass"] [data-region=nav] { background:transparent; padding:0 24px 16px; border-radius:0 0 36px 36px; }
html[data-theme="glass"] [data-region=sidebar] { gap:4px 14px; }
html[data-theme="glass"] [data-region=sidebar] a { color:var(--ink); min-height:44px; display:flex; align-items:center; }
html[data-theme="glass"] h1 { font-size:clamp(36px,4.5vw,58px); letter-spacing:-.035em; }
html[data-theme="glass"] h2 { font-size:clamp(25px,3vw,32px); letter-spacing:-.025em; }
html[data-theme="glass"] .home-posts { max-width:none; }
html[data-theme="glass"] .home-intro { padding:40px 6% 30px; font-size:22px; max-width:52ch; color:var(--muted); }
html[data-theme="glass"] .home-posts>h1 { padding:0 6% 36px; font-size:clamp(48px,7vw,84px); margin:0; }
html[data-theme="glass"] .home-posts>.flex { padding:10px 6%; border:1px solid var(--rim); border-radius:var(--radius); background:var(--surface); }
html[data-theme="glass"] .home-posts article { padding:30px 0; margin:0; }
html[data-theme="glass"] .home-posts article:last-child { border-bottom:0; }
html[data-theme="glass"] .home-posts article h2 { margin-top:0; }
html[data-theme="glass"] .home-posts article h2 a { color:var(--ink); }
html[data-theme="glass"] .article-layout { padding:32px; background:var(--paper); border:1px solid var(--rim); border-radius:var(--radius); }
html[data-theme="glass"] .article-body { max-width:68ch; }
html[data-theme="glass"] .article-body p, html[data-theme="glass"] .article-body li { line-height:1.85; }
html[data-theme="glass"] .article-body h2 { margin-top:2em; }
html[data-theme="glass"] .article-toc { font-size:15px; border-radius:20px; padding:18px 14px; }
html[data-theme="glass"] .timeline-entry { margin-bottom:20px; padding:28px; border:1px solid var(--rim); border-radius:28px; background:var(--surface); }
html[data-theme="glass"] .timeline-dot { display:none; }
html[data-theme="glass"] .timeline-type { font-family:var(--font-mono); border-radius:12px; background:var(--surface); border-color:var(--rim); color:var(--accent); padding:4px 10px; box-shadow:inset 0 1px 1px #ffffff40; }
html[data-theme="glass"] .timeline-content { max-width:70ch; }
html[data-theme="glass"] [data-series-entries]>li { padding:28px; margin-bottom:20px; border:1px solid var(--rim); border-radius:28px; background:var(--surface); }
html[data-theme="glass"] .project-card { border:1px solid var(--rim); border-radius:28px; background:var(--surface); overflow:hidden; }
html[data-theme="glass"] :lang(zh) .article-body { line-height:1.9; }
html[data-theme="glass"] :lang(zh) h1, html[data-theme="glass"] :lang(zh) h2 { line-height:1.4; }
@media(max-width:650px) {
 html[data-theme="glass"] [data-region=main] { padding:28px 16px; }
 html[data-theme="glass"] .site-header { margin:8px 12px 0; border-radius:24px; }
 html[data-theme="glass"] [data-region=masthead] { padding:14px 16px 6px; }
 html[data-theme="glass"] [data-region=nav] { padding:4px 16px 12px; }
 html[data-theme="glass"] .home-intro { padding:24px 8px 20px; font-size:20px; }
 html[data-theme="glass"] .home-posts>h1 { padding:0 8px 28px; font-size:48px; }
 html[data-theme="glass"] .home-posts>.flex { padding:6px 22px; }
 html[data-theme="glass"] .article-layout { padding:22px; border-radius:24px; }
 html[data-theme="glass"] .timeline-entry, html[data-theme="glass"] [data-series-entries]>li { padding:22px; }
 html[data-theme="glass"] .article-body { font-size:18px; }
}
/* Soft Glass: lavender frost, restrained serif headlines. */
html[data-theme="glass"] .theme-backdrop { background:radial-gradient(ellipse at 0 18%,var(--field-one),transparent 48%),radial-gradient(ellipse at 100% 45%,var(--field-two),transparent 50%); }
html[data-theme="glass"] h1, html[data-theme="glass"] h2 { font-weight:400; }
html[data-theme="glass"] .site-header, html[data-theme="glass"] .home-posts>.flex, html[data-theme="glass"] .timeline-entry, html[data-theme="glass"] .project-card, html[data-theme="glass"] [data-series-entries]>li { backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 25px 70px #49417c12; }
html[data-theme="glass"] .home-posts>h1 { letter-spacing:-.06em; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 html[data-theme="glass"] .site-header, html[data-theme="glass"] .home-posts>.flex, html[data-theme="glass"] .timeline-entry, html[data-theme="glass"] .project-card, html[data-theme="glass"] [data-series-entries]>li { background:var(--paper); }
}
@media(prefers-reduced-transparency:reduce) {
 html[data-theme="glass"] .site-header, html[data-theme="glass"] .home-posts>.flex, html[data-theme="glass"] .timeline-entry, html[data-theme="glass"] .project-card, html[data-theme="glass"] [data-series-entries]>li, html[data-theme="glass"] .timeline-type, html[data-theme="glass"] .article-toc { background:var(--paper); backdrop-filter:none; -webkit-backdrop-filter:none; }
 html[data-theme="glass"] .theme-backdrop { display:none; }
}

/* Keep utility/component colours legible on the effective material. */
html[data-theme="glass"] .theme-midtone { color:var(--muted); }
html[data-theme="glass"] .timeline-timestamp, html[data-theme="glass"] .timeline-handle { color:var(--muted); opacity:1; white-space:normal; }
html[data-theme="glass"] .timeline-content { font-size:1rem; line-height:1.8; }
html[data-theme="glass"] .timeline-title { font-size:1.5rem; }
html[data-theme="glass"] .projects-shell { --project-card-bg:var(--surface); --project-card-color:var(--ink); --project-card-border:var(--rim); --project-card-divider:var(--rule); --project-tag-bg:var(--surface); --project-tag-color:var(--ink); --project-tag-border:var(--rule); }
html[data-theme="glass"] .project-card { color:var(--ink); }
html[data-theme="glass"] .article-body pre { border-radius:12px; }

/* liquid-glass-light.css */
html[data-theme="liquid-glass-light"] body { font-size:18px; line-height:1.7; }
html[data-theme="liquid-glass-light"] a { text-underline-offset:4px; }
html[data-theme="liquid-glass-light"] .site-shell { max-width:1180px; }
html[data-theme="liquid-glass-light"] [data-region=main] { max-width:1180px; padding:48px 32px; }
html[data-theme="liquid-glass-light"] .site-header { margin:16px 32px 0; border:1px solid var(--rim); border-radius:36px; background:var(--surface); }
html[data-theme="liquid-glass-light"] [data-region=masthead] { padding:18px 28px 8px; }
html[data-theme="liquid-glass-light"] [data-region=masthead]>a { font-size:24px; letter-spacing:-.025em; color:var(--ink); }
html[data-theme="liquid-glass-light"] [data-region=nav] { background:transparent; padding:0 24px 16px; border-radius:0 0 36px 36px; }
html[data-theme="liquid-glass-light"] [data-region=sidebar] { gap:4px 14px; }
html[data-theme="liquid-glass-light"] [data-region=sidebar] a { color:var(--ink); min-height:44px; display:flex; align-items:center; }
html[data-theme="liquid-glass-light"] h1 { font-size:clamp(36px,4.5vw,58px); letter-spacing:-.035em; }
html[data-theme="liquid-glass-light"] h2 { font-size:clamp(25px,3vw,32px); letter-spacing:-.025em; }
html[data-theme="liquid-glass-light"] .home-posts { max-width:none; }
html[data-theme="liquid-glass-light"] .home-intro { padding:40px 6% 30px; font-size:22px; max-width:52ch; color:var(--muted); }
html[data-theme="liquid-glass-light"] .home-posts>h1 { padding:0 6% 36px; font-size:clamp(48px,7vw,84px); margin:0; }
html[data-theme="liquid-glass-light"] .home-posts>.flex { padding:10px 6%; border:1px solid var(--rim); border-radius:var(--radius); background:var(--surface); }
html[data-theme="liquid-glass-light"] .home-posts article { padding:30px 0; margin:0; }
html[data-theme="liquid-glass-light"] .home-posts article:last-child { border-bottom:0; }
html[data-theme="liquid-glass-light"] .home-posts article h2 { margin-top:0; }
html[data-theme="liquid-glass-light"] .home-posts article h2 a { color:var(--ink); }
html[data-theme="liquid-glass-light"] .article-layout { padding:32px; background:var(--paper); border:1px solid var(--rim); border-radius:var(--radius); }
html[data-theme="liquid-glass-light"] .article-body { max-width:68ch; }
html[data-theme="liquid-glass-light"] .article-body p, html[data-theme="liquid-glass-light"] .article-body li { line-height:1.85; }
html[data-theme="liquid-glass-light"] .article-body h2 { margin-top:2em; }
html[data-theme="liquid-glass-light"] .article-toc { font-size:15px; border-radius:20px; padding:18px 14px; }
html[data-theme="liquid-glass-light"] .timeline-entry { margin-bottom:20px; padding:28px; border:1px solid var(--rim); border-radius:28px; background:var(--surface); }
html[data-theme="liquid-glass-light"] .timeline-dot { display:none; }
html[data-theme="liquid-glass-light"] .timeline-type { font-family:var(--font-mono); border-radius:12px; background:var(--surface); border-color:var(--rim); color:var(--accent); padding:4px 10px; box-shadow:inset 0 1px 1px #ffffff40; }
html[data-theme="liquid-glass-light"] .timeline-content { max-width:70ch; }
html[data-theme="liquid-glass-light"] [data-series-entries]>li { padding:28px; margin-bottom:20px; border:1px solid var(--rim); border-radius:28px; background:var(--surface); }
html[data-theme="liquid-glass-light"] .project-card { border:1px solid var(--rim); border-radius:28px; background:var(--surface); overflow:hidden; }
html[data-theme="liquid-glass-light"] :lang(zh) .article-body { line-height:1.9; }
html[data-theme="liquid-glass-light"] :lang(zh) h1, html[data-theme="liquid-glass-light"] :lang(zh) h2 { line-height:1.4; }
@media(max-width:650px) {
 html[data-theme="liquid-glass-light"] [data-region=main] { padding:28px 16px; }
 html[data-theme="liquid-glass-light"] .site-header { margin:8px 12px 0; border-radius:24px; }
 html[data-theme="liquid-glass-light"] [data-region=masthead] { padding:14px 16px 6px; }
 html[data-theme="liquid-glass-light"] [data-region=nav] { padding:4px 16px 12px; }
 html[data-theme="liquid-glass-light"] .home-intro { padding:24px 8px 20px; font-size:20px; }
 html[data-theme="liquid-glass-light"] .home-posts>h1 { padding:0 8px 28px; font-size:48px; }
 html[data-theme="liquid-glass-light"] .home-posts>.flex { padding:6px 22px; }
 html[data-theme="liquid-glass-light"] .article-layout { padding:22px; border-radius:24px; }
 html[data-theme="liquid-glass-light"] .timeline-entry, html[data-theme="liquid-glass-light"] [data-series-entries]>li { padding:22px; }
 html[data-theme="liquid-glass-light"] .article-body { font-size:18px; }
}
/* Liquid Glass: optical edges and translucent pigment; palettes only change tokens. */
html[data-theme="liquid-glass-light"] .theme-backdrop { background:radial-gradient(ellipse at 92% 8%,color-mix(in srgb,var(--field-one) 48%,transparent),transparent 48%),radial-gradient(ellipse at 8% 58%,color-mix(in srgb,var(--field-two) 48%,transparent),transparent 58%),radial-gradient(ellipse at 70% 90%,color-mix(in srgb,var(--field-one) 18%,transparent),transparent 55%); }
html[data-theme="liquid-glass-light"] .site-header, html[data-theme="liquid-glass-light"] .home-posts>.flex, html[data-theme="liquid-glass-light"] .timeline-entry, html[data-theme="liquid-glass-light"] .project-card, html[data-theme="liquid-glass-light"] [data-series-entries]>li, html[data-theme="liquid-glass-light"] .article-toc, html[data-theme="liquid-glass-light"] .timeline-type {
 background-color:var(--surface); background-image:linear-gradient(135deg,#ffffff09,transparent 38%,#ffffff02 70%,transparent);
 backdrop-filter:blur(30px) saturate(155%); -webkit-backdrop-filter:blur(30px) saturate(155%);
 box-shadow:inset 1px 1px 0 #ffffff38,inset -1px -1px 0 #ffffff0b,0 12px 35px #0002;
}
html[data-theme="liquid-glass-light"] .site-header { border-radius:38px; background-color:rgb(var(--glass-rgb) / .74); }
html[data-theme="liquid-glass-light"] [data-region=sidebar] { justify-content:center; gap:4px; }
html[data-theme="liquid-glass-light"] [data-region=sidebar] a { padding:8px 15px; border-radius:999px; font-size:16px; }
html[data-theme="liquid-glass-light"] [data-region=sidebar] a.underline { background:var(--selected); box-shadow:inset 0 1px 2px #ffffff80,0 4px 10px #0002; text-decoration:none; }
html[data-theme="liquid-glass-light"] .home-posts { position:relative; isolation:isolate; }
html[data-theme="liquid-glass-light"] .home-intro { padding:55px 0 24px; max-width:43ch; }
html[data-theme="liquid-glass-light"] .home-posts>h1 { padding-left:0; max-width:12ch; font-weight:600; }
html[data-theme="liquid-glass-light"] .home-posts::before { content:''; pointer-events:none; position:absolute; z-index:-1; right:2%; top:75px; width:42%; height:180px; border-radius:100%; transform:rotate(-32deg); background:linear-gradient(140deg,#ffffff60,color-mix(in srgb,var(--field-one) 55%,transparent),#ffffff15); border:1px solid var(--rim); box-shadow:inset 0 14px 25px #ffffff45,inset 0 -8px 16px #ffffff20,0 35px 70px #0003; }
html[data-theme="liquid-glass-light"] .article-layout { backdrop-filter:blur(30px) saturate(145%); -webkit-backdrop-filter:blur(30px) saturate(145%); box-shadow:inset 1px 1px 0 #ffffff20,0 18px 45px #0002; }
html[data-theme="liquid-glass-light"] .timeline-type { border-radius:999px; padding:4px 12px; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 html[data-theme="liquid-glass-light"] .site-header, html[data-theme="liquid-glass-light"] .home-posts>.flex, html[data-theme="liquid-glass-light"] .timeline-entry, html[data-theme="liquid-glass-light"] .project-card, html[data-theme="liquid-glass-light"] [data-series-entries]>li, html[data-theme="liquid-glass-light"] .article-toc, html[data-theme="liquid-glass-light"] .timeline-type, html[data-theme="liquid-glass-light"] .article-layout { background:var(--opaque); }
}
@media(prefers-reduced-transparency:reduce) {
 html[data-theme="liquid-glass-light"] .site-header, html[data-theme="liquid-glass-light"] .home-posts>.flex, html[data-theme="liquid-glass-light"] .timeline-entry, html[data-theme="liquid-glass-light"] .project-card, html[data-theme="liquid-glass-light"] [data-series-entries]>li, html[data-theme="liquid-glass-light"] .article-toc, html[data-theme="liquid-glass-light"] .timeline-type, html[data-theme="liquid-glass-light"] .article-layout { background:var(--opaque); backdrop-filter:none; -webkit-backdrop-filter:none; }
 html[data-theme="liquid-glass-light"] .theme-backdrop, html[data-theme="liquid-glass-light"] .home-posts::before { display:none; }
}
@media(max-width:650px) {
 html[data-theme="liquid-glass-light"] [data-region=sidebar] { justify-content:flex-start; }
 html[data-theme="liquid-glass-light"] [data-region=sidebar] a { font-size:15px; padding:7px 12px; }
 html[data-theme="liquid-glass-light"] .home-intro { padding:35px 5px 24px; }
 html[data-theme="liquid-glass-light"] .home-posts::before { width:55%; height:110px; right:8%; top:130px; opacity:.45; }
}

html[data-theme="liquid-glass-light"] .theme-backdrop { background:radial-gradient(ellipse at 95% 10%,var(--field-one),transparent 45%),radial-gradient(ellipse at 0 50%,var(--field-two),transparent 45%); }
html[data-theme="liquid-glass-light"] .site-header, html[data-theme="liquid-glass-light"] .home-posts>.flex { box-shadow:inset 0 2px 2px #ffffffb0,inset 0 -1px 2px #ffffff40,0 12px 34px #0002; }

/* Keep utility/component colours legible on the effective material. */
html[data-theme="liquid-glass-light"] .theme-midtone { color:var(--muted); }
html[data-theme="liquid-glass-light"] .timeline-timestamp, html[data-theme="liquid-glass-light"] .timeline-handle { color:var(--muted); opacity:1; white-space:normal; }
html[data-theme="liquid-glass-light"] .timeline-content { font-size:1rem; line-height:1.8; }
html[data-theme="liquid-glass-light"] .timeline-title { font-size:1.5rem; }
html[data-theme="liquid-glass-light"] .projects-shell { --project-card-bg:var(--surface); --project-card-color:var(--ink); --project-card-border:var(--rim); --project-card-divider:var(--rule); --project-tag-bg:var(--surface); --project-tag-color:var(--ink); --project-tag-border:var(--rule); }
html[data-theme="liquid-glass-light"] .project-card { color:var(--ink); }
html[data-theme="liquid-glass-light"] .article-body pre { border-radius:12px; }

/* liquid-glass-dark.css */
html[data-theme="liquid-glass-dark"] body { font-size:18px; line-height:1.7; }
html[data-theme="liquid-glass-dark"] a { text-underline-offset:4px; }
html[data-theme="liquid-glass-dark"] .site-shell { max-width:1180px; }
html[data-theme="liquid-glass-dark"] [data-region=main] { max-width:1180px; padding:48px 32px; }
html[data-theme="liquid-glass-dark"] .site-header { margin:16px 32px 0; border:1px solid var(--rim); border-radius:36px; background:var(--surface); }
html[data-theme="liquid-glass-dark"] [data-region=masthead] { padding:18px 28px 8px; }
html[data-theme="liquid-glass-dark"] [data-region=masthead]>a { font-size:24px; letter-spacing:-.025em; color:var(--ink); }
html[data-theme="liquid-glass-dark"] [data-region=nav] { background:transparent; padding:0 24px 16px; border-radius:0 0 36px 36px; }
html[data-theme="liquid-glass-dark"] [data-region=sidebar] { gap:4px 14px; }
html[data-theme="liquid-glass-dark"] [data-region=sidebar] a { color:var(--ink); min-height:44px; display:flex; align-items:center; }
html[data-theme="liquid-glass-dark"] h1 { font-size:clamp(36px,4.5vw,58px); letter-spacing:-.035em; }
html[data-theme="liquid-glass-dark"] h2 { font-size:clamp(25px,3vw,32px); letter-spacing:-.025em; }
html[data-theme="liquid-glass-dark"] .home-posts { max-width:none; }
html[data-theme="liquid-glass-dark"] .home-intro { padding:40px 6% 30px; font-size:22px; max-width:52ch; color:var(--muted); }
html[data-theme="liquid-glass-dark"] .home-posts>h1 { padding:0 6% 36px; font-size:clamp(48px,7vw,84px); margin:0; }
html[data-theme="liquid-glass-dark"] .home-posts>.flex { padding:10px 6%; border:1px solid var(--rim); border-radius:var(--radius); background:var(--surface); }
html[data-theme="liquid-glass-dark"] .home-posts article { padding:30px 0; margin:0; }
html[data-theme="liquid-glass-dark"] .home-posts article:last-child { border-bottom:0; }
html[data-theme="liquid-glass-dark"] .home-posts article h2 { margin-top:0; }
html[data-theme="liquid-glass-dark"] .home-posts article h2 a { color:var(--ink); }
html[data-theme="liquid-glass-dark"] .article-layout { padding:32px; background:var(--paper); border:1px solid var(--rim); border-radius:var(--radius); }
html[data-theme="liquid-glass-dark"] .article-body { max-width:68ch; }
html[data-theme="liquid-glass-dark"] .article-body p, html[data-theme="liquid-glass-dark"] .article-body li { line-height:1.85; }
html[data-theme="liquid-glass-dark"] .article-body h2 { margin-top:2em; }
html[data-theme="liquid-glass-dark"] .article-toc { font-size:15px; border-radius:20px; padding:18px 14px; }
html[data-theme="liquid-glass-dark"] .timeline-entry { margin-bottom:20px; padding:28px; border:1px solid var(--rim); border-radius:28px; background:var(--surface); }
html[data-theme="liquid-glass-dark"] .timeline-dot { display:none; }
html[data-theme="liquid-glass-dark"] .timeline-type { font-family:var(--font-mono); border-radius:12px; background:var(--surface); border-color:var(--rim); color:var(--accent); padding:4px 10px; box-shadow:inset 0 1px 1px #ffffff40; }
html[data-theme="liquid-glass-dark"] .timeline-content { max-width:70ch; }
html[data-theme="liquid-glass-dark"] [data-series-entries]>li { padding:28px; margin-bottom:20px; border:1px solid var(--rim); border-radius:28px; background:var(--surface); }
html[data-theme="liquid-glass-dark"] .project-card { border:1px solid var(--rim); border-radius:28px; background:var(--surface); overflow:hidden; }
html[data-theme="liquid-glass-dark"] :lang(zh) .article-body { line-height:1.9; }
html[data-theme="liquid-glass-dark"] :lang(zh) h1, html[data-theme="liquid-glass-dark"] :lang(zh) h2 { line-height:1.4; }
@media(max-width:650px) {
 html[data-theme="liquid-glass-dark"] [data-region=main] { padding:28px 16px; }
 html[data-theme="liquid-glass-dark"] .site-header { margin:8px 12px 0; border-radius:24px; }
 html[data-theme="liquid-glass-dark"] [data-region=masthead] { padding:14px 16px 6px; }
 html[data-theme="liquid-glass-dark"] [data-region=nav] { padding:4px 16px 12px; }
 html[data-theme="liquid-glass-dark"] .home-intro { padding:24px 8px 20px; font-size:20px; }
 html[data-theme="liquid-glass-dark"] .home-posts>h1 { padding:0 8px 28px; font-size:48px; }
 html[data-theme="liquid-glass-dark"] .home-posts>.flex { padding:6px 22px; }
 html[data-theme="liquid-glass-dark"] .article-layout { padding:22px; border-radius:24px; }
 html[data-theme="liquid-glass-dark"] .timeline-entry, html[data-theme="liquid-glass-dark"] [data-series-entries]>li { padding:22px; }
 html[data-theme="liquid-glass-dark"] .article-body { font-size:18px; }
}
/* Liquid Glass: optical edges and translucent pigment; palettes only change tokens. */
html[data-theme="liquid-glass-dark"] .theme-backdrop { background:radial-gradient(ellipse at 92% 8%,color-mix(in srgb,var(--field-one) 48%,transparent),transparent 48%),radial-gradient(ellipse at 8% 58%,color-mix(in srgb,var(--field-two) 48%,transparent),transparent 58%),radial-gradient(ellipse at 70% 90%,color-mix(in srgb,var(--field-one) 18%,transparent),transparent 55%); }
html[data-theme="liquid-glass-dark"] .site-header, html[data-theme="liquid-glass-dark"] .home-posts>.flex, html[data-theme="liquid-glass-dark"] .timeline-entry, html[data-theme="liquid-glass-dark"] .project-card, html[data-theme="liquid-glass-dark"] [data-series-entries]>li, html[data-theme="liquid-glass-dark"] .article-toc, html[data-theme="liquid-glass-dark"] .timeline-type {
 background-color:var(--surface); background-image:linear-gradient(135deg,#ffffff09,transparent 38%,#ffffff02 70%,transparent);
 backdrop-filter:blur(30px) saturate(155%); -webkit-backdrop-filter:blur(30px) saturate(155%);
 box-shadow:inset 1px 1px 0 #ffffff38,inset -1px -1px 0 #ffffff0b,0 12px 35px #0002;
}
html[data-theme="liquid-glass-dark"] .site-header { border-radius:38px; background-color:rgb(var(--glass-rgb) / .74); }
html[data-theme="liquid-glass-dark"] [data-region=sidebar] { justify-content:center; gap:4px; }
html[data-theme="liquid-glass-dark"] [data-region=sidebar] a { padding:8px 15px; border-radius:999px; font-size:16px; }
html[data-theme="liquid-glass-dark"] [data-region=sidebar] a.underline { background:var(--selected); box-shadow:inset 0 1px 2px #ffffff80,0 4px 10px #0002; text-decoration:none; }
html[data-theme="liquid-glass-dark"] .home-posts { position:relative; isolation:isolate; }
html[data-theme="liquid-glass-dark"] .home-intro { padding:55px 0 24px; max-width:43ch; }
html[data-theme="liquid-glass-dark"] .home-posts>h1 { padding-left:0; max-width:12ch; font-weight:600; }
html[data-theme="liquid-glass-dark"] .home-posts::before { content:''; pointer-events:none; position:absolute; z-index:-1; right:2%; top:75px; width:42%; height:180px; border-radius:100%; transform:rotate(-32deg); background:linear-gradient(140deg,#ffffff60,color-mix(in srgb,var(--field-one) 55%,transparent),#ffffff15); border:1px solid var(--rim); box-shadow:inset 0 14px 25px #ffffff45,inset 0 -8px 16px #ffffff20,0 35px 70px #0003; }
html[data-theme="liquid-glass-dark"] .article-layout { backdrop-filter:blur(30px) saturate(145%); -webkit-backdrop-filter:blur(30px) saturate(145%); box-shadow:inset 1px 1px 0 #ffffff20,0 18px 45px #0002; }
html[data-theme="liquid-glass-dark"] .timeline-type { border-radius:999px; padding:4px 12px; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 html[data-theme="liquid-glass-dark"] .site-header, html[data-theme="liquid-glass-dark"] .home-posts>.flex, html[data-theme="liquid-glass-dark"] .timeline-entry, html[data-theme="liquid-glass-dark"] .project-card, html[data-theme="liquid-glass-dark"] [data-series-entries]>li, html[data-theme="liquid-glass-dark"] .article-toc, html[data-theme="liquid-glass-dark"] .timeline-type, html[data-theme="liquid-glass-dark"] .article-layout { background:var(--opaque); }
}
@media(prefers-reduced-transparency:reduce) {
 html[data-theme="liquid-glass-dark"] .site-header, html[data-theme="liquid-glass-dark"] .home-posts>.flex, html[data-theme="liquid-glass-dark"] .timeline-entry, html[data-theme="liquid-glass-dark"] .project-card, html[data-theme="liquid-glass-dark"] [data-series-entries]>li, html[data-theme="liquid-glass-dark"] .article-toc, html[data-theme="liquid-glass-dark"] .timeline-type, html[data-theme="liquid-glass-dark"] .article-layout { background:var(--opaque); backdrop-filter:none; -webkit-backdrop-filter:none; }
 html[data-theme="liquid-glass-dark"] .theme-backdrop, html[data-theme="liquid-glass-dark"] .home-posts::before { display:none; }
}
@media(max-width:650px) {
 html[data-theme="liquid-glass-dark"] [data-region=sidebar] { justify-content:flex-start; }
 html[data-theme="liquid-glass-dark"] [data-region=sidebar] a { font-size:15px; padding:7px 12px; }
 html[data-theme="liquid-glass-dark"] .home-intro { padding:35px 5px 24px; }
 html[data-theme="liquid-glass-dark"] .home-posts::before { width:55%; height:110px; right:8%; top:130px; opacity:.45; }
}

/* Keep utility/component colours legible on the effective material. */
html[data-theme="liquid-glass-dark"] .theme-midtone { color:var(--muted); }
html[data-theme="liquid-glass-dark"] .timeline-timestamp, html[data-theme="liquid-glass-dark"] .timeline-handle { color:var(--muted); opacity:1; white-space:normal; }
html[data-theme="liquid-glass-dark"] .timeline-content { font-size:1rem; line-height:1.8; }
html[data-theme="liquid-glass-dark"] .timeline-title { font-size:1.5rem; }
html[data-theme="liquid-glass-dark"] .projects-shell { --project-card-bg:var(--surface); --project-card-color:var(--ink); --project-card-border:var(--rim); --project-card-divider:var(--rule); --project-tag-bg:var(--surface); --project-tag-color:var(--ink); --project-tag-border:var(--rule); }
html[data-theme="liquid-glass-dark"] .project-card { color:var(--ink); }
html[data-theme="liquid-glass-dark"] .article-body pre { border-radius:12px; }

/* starship.css */
/* A reading skin over the shared document; all decoration is inert. */
html[data-theme="starship"] {--project-tag-bg:var(--surface);--project-tag-border:var(--rule);--project-tag-color:var(--ink);--project-tag-count-bg:var(--bg);--project-card-bg:var(--surface);--project-card-border:var(--rule);--project-card-color:var(--ink);--project-card-shadow:none;--project-card-shadow-hover:none;--project-card-divider:var(--rule);--project-card-media-bg:var(--bg);--tag-font:var(--font-mono)}
html[data-theme="starship"] .site-shell {max-width:75rem}
html[data-theme="starship"] [data-region="masthead"] {padding:1.5rem 3rem 1rem}
html[data-theme="starship"] [data-region="masthead"]>a {font-size:1.3rem;color:var(--ink);font-family:var(--font-display)}
html[data-theme="starship"] [data-region="nav"] {padding:0 3rem 1.25rem}
html[data-theme="starship"] [data-region="sidebar"] {gap:.5rem 1.5rem}
html[data-theme="starship"] [data-region="sidebar"] a {color:var(--ink);text-underline-offset:.4em}
html[data-theme="starship"] [data-region="sidebar"] a.underline {color:var(--accent);text-decoration-thickness:3px}
html[data-theme="starship"] [data-region="main"] {padding:3.75rem 3rem 5rem;font-size:1.125rem}
html[data-theme="starship"] h1 {font-size:clamp(2.25rem,4.7vw,4.1rem);letter-spacing:-.045em}
html[data-theme="starship"] h2 {font-size:1.8rem}
html[data-theme="starship"] a {text-underline-offset:.25em}
html[data-theme="starship"] .home-posts {display:flex;flex-direction:column;position:relative;max-width:none}
html[data-theme="starship"] .home-posts>h1 {font-size:clamp(3.25rem,6.4vw,5.6rem);width:56%;margin-bottom:1.25rem}
html[data-theme="starship"] .home-intro {position:relative;max-width:none;min-height:14rem;margin-bottom:3rem;padding-top:5rem}
html[data-theme="starship"] .home-intro>p {max-width:52%;font-size:1.3rem;line-height:1.65;margin-top:0}
html[data-theme="starship"] .home-intro::before,
html[data-theme="starship"] .home-intro::after {content:"";position:absolute;pointer-events:none}
html[data-theme="starship"] .home-posts article {margin:0;padding:2rem 0;border-bottom:1px solid var(--rule)}
html[data-theme="starship"] .home-posts article h2 {margin-top:0}
html[data-theme="starship"] .home-posts article h2 a {color:var(--ink)}
html[data-theme="starship"] .home-posts article:first-child {background:var(--surface);padding:2.5rem;margin-bottom:2rem}
html[data-theme="starship"] .home-posts article:first-child h2 {font-size:2.25rem;max-width:28ch}
html[data-theme="starship"] .article-body {max-width:70ch}
html[data-theme="starship"] .article-body h2 {margin-top:3rem}
html[data-theme="starship"] .article-body h3 {margin-top:2rem}
html[data-theme="starship"] .article-toc {font-size:.95rem;padding:1.25rem;overscroll-behavior:contain}
html[data-theme="starship"] .article-body pre {background:var(--code);font-size:.9rem}
html[data-theme="starship"] .article-body :not(pre)>code {background:var(--code);padding:.12em .3em;font-size:.86em}
html[data-theme="starship"] .timeline-entry {padding:2rem 0;border-radius:0;background:transparent;border-bottom:1px solid var(--rule)}
html[data-theme="starship"] .timeline-title {font-size:1.45rem;margin:.8rem 0}
html[data-theme="starship"] .timeline-content {font-size:1.05rem;line-height:1.75;max-width:70ch;overflow-wrap:anywhere}
html[data-theme="starship"] .timeline-timestamp {opacity:1;color:var(--muted);white-space:normal;font-size:.85rem}
html[data-theme="starship"] .timeline-handle {font-family:var(--font-mono);color:var(--muted);opacity:1}
html[data-theme="starship"] .timeline-tags a {color:var(--muted);opacity:1}
html[data-theme="starship"] .timeline-type {font-family:var(--tag-font);font-size:.85rem;padding:.25rem .75rem;letter-spacing:.035em}
html[data-theme="starship"] [data-series-entry] {border-color:var(--rule);padding-top:1.5rem;padding-bottom:1.5rem}
html[data-theme="starship"] [data-series-entry]::marker {color:var(--accent);font-family:var(--font-display);font-size:1.5rem}
html[data-theme="starship"] .project-card {background:var(--surface);border-color:var(--rule);color:var(--ink);box-shadow:none;transition:none}
html[data-theme="starship"] .project-card:hover {transform:none}
html[data-theme="starship"] [data-region="footer"] {border-top:1px solid var(--rule);color:var(--muted)}
html[data-theme="starship"][lang^="zh"] h1 {letter-spacing:0;line-height:1.35}
html[data-theme="starship"][lang^="zh"] .article-body {max-width:36em}
html[data-theme="starship"][lang^="zh"] .article-body p {line-height:1.95}
/* The masthead slot stays compact so the sticky header never becomes a hero. */
html[data-theme="starship"] .theme-art {display:block;position:relative;flex:0 0 3rem;width:3rem;height:2rem;margin:0 .75rem;overflow:hidden}
html[data-theme="starship"] .theme-art::before,
html[data-theme="starship"] .theme-art::after,
html[data-theme="starship"] .theme-art span {position:absolute;pointer-events:none;content:""}
@media(max-width:700px) {
 html[data-theme="starship"] [data-region="masthead"] {padding:1rem 1.25rem}
 html[data-theme="starship"] [data-region="nav"] {padding:0 1.25rem 1rem}
 html[data-theme="starship"] [data-region="main"] {padding:2rem 1.25rem 3rem}
 html[data-theme="starship"] .theme-art {display:none}
 html[data-theme="starship"] .home-posts>h1 {width:100%;font-size:clamp(2.8rem,12vw,4rem)}
 html[data-theme="starship"] .home-intro {min-height:0;padding-top:0;padding-bottom:14rem;margin-bottom:1.5rem}
 html[data-theme="starship"] .home-intro>p {max-width:100%;font-size:1.15rem}
 html[data-theme="starship"] .home-posts article:first-child {padding:1.5rem}
 html[data-theme="starship"] .home-posts article:first-child h2 {font-size:1.85rem}
 html[data-theme="starship"] .article-body {font-size:1.125rem}
}
@media(prefers-reduced-motion:reduce) {
 html[data-theme="starship"] *,html[data-theme="starship"] *::before,html[data-theme="starship"] *::after {animation:none!important;transition:none!important}
}
@media print {
 html[data-theme="starship"] .home-intro::before,html[data-theme="starship"] .home-intro::after {display:none}
 html[data-theme="starship"] .home-intro {min-height:0;padding-bottom:0}
}

html[data-theme="starship"] .site-header {border-bottom:1px solid var(--rule)}
html[data-theme="starship"] .home-intro::before {width:11.25rem;height:11.25rem;right:12%;top:2.75rem;border-radius:50%;background:linear-gradient(140deg,#e4eeed,#7f9eaf)}
html[data-theme="starship"] .home-intro::after {width:38%;height:13rem;right:1%;top:2rem;border:1px solid var(--accent);border-radius:50%;transform:rotate(-28deg);background:radial-gradient(circle at 85% 15%,var(--accent) 0 3px,transparent 4px)}
html[data-theme="starship"] .theme-art::before {width:1.4rem;height:1.4rem;border-radius:50%;background:linear-gradient(140deg,#e4eeed,#7f9eaf);left:.8rem;top:.3rem}
html[data-theme="starship"] .theme-art::after {inset:.25rem 0;border:1px solid var(--accent);border-radius:50%;transform:rotate(-28deg)}
html[data-theme="starship"] .home-posts article:first-child {border-top:3px solid var(--accent);border-radius:3px 3px 4rem 3px}
html[data-theme="starship"] .article-layout {background:var(--surface);padding:2.5rem;border-radius:4px 4px 3rem 4px}
html[data-theme="starship"] .article-toc {background:var(--bg);border-radius:2px 2px 1rem 2px}
html[data-theme="starship"] .timeline-entry {border-left:1px solid var(--rule);padding-left:1.75rem}
html[data-theme="starship"] .timeline-type {border-left:4px solid var(--accent);border-radius:2px 2px 12px 2px}
html[data-theme="starship"] .project-card {border-radius:3px 3px 2.2rem 3px;overflow:clip}
@media(max-width:700px) {
 html[data-theme="starship"] .home-intro::before {width:8rem;height:8rem;right:calc(50% - 4rem);top:auto;bottom:2.4rem}
 html[data-theme="starship"] .home-intro::after {width:85%;right:7.5%;height:10rem;top:auto;bottom:1.5rem}
 html[data-theme="starship"] .article-layout {padding:1.25rem 1rem}
 html[data-theme="starship"] .timeline-entry {padding-left:1rem}
}

@media(min-width:900px) {
 html[data-theme="starship"] .timeline-entry:not(.timeline-entry--compact) .timeline-body-wrap {display:grid;grid-template-columns:11rem minmax(0,1fr);column-gap:2rem}
 html[data-theme="starship"] .timeline-entry:not(.timeline-entry--compact) .timeline-topline {grid-column:1;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.65rem}
 html[data-theme="starship"] .timeline-entry:not(.timeline-entry--compact) :is(.timeline-title,.timeline-content,.timeline-footer) {grid-column:2}
 html[data-theme="starship"] .timeline-entry:not(.timeline-entry--compact) .timeline-title {margin-top:0}
}

/* retro-futurist.css */
/* A reading skin over the shared document; all decoration is inert. */
html[data-theme="retro-futurist"] {--project-tag-bg:var(--surface);--project-tag-border:var(--rule);--project-tag-color:var(--ink);--project-tag-count-bg:var(--bg);--project-card-bg:var(--surface);--project-card-border:var(--rule);--project-card-color:var(--ink);--project-card-shadow:none;--project-card-shadow-hover:none;--project-card-divider:var(--rule);--project-card-media-bg:var(--bg);--tag-font:var(--font-mono)}
html[data-theme="retro-futurist"] .site-shell {max-width:75rem}
html[data-theme="retro-futurist"] [data-region="masthead"] {padding:1.5rem 3rem 1rem}
html[data-theme="retro-futurist"] [data-region="masthead"]>a {font-size:1.3rem;color:var(--ink);font-family:var(--font-display)}
html[data-theme="retro-futurist"] [data-region="nav"] {padding:0 3rem 1.25rem}
html[data-theme="retro-futurist"] [data-region="sidebar"] {gap:.5rem 1.5rem}
html[data-theme="retro-futurist"] [data-region="sidebar"] a {color:var(--ink);text-underline-offset:.4em}
html[data-theme="retro-futurist"] [data-region="sidebar"] a.underline {color:var(--accent);text-decoration-thickness:3px}
html[data-theme="retro-futurist"] [data-region="main"] {padding:3.75rem 3rem 5rem;font-size:1.125rem}
html[data-theme="retro-futurist"] h1 {font-size:clamp(2.25rem,4.7vw,4.1rem);letter-spacing:-.045em}
html[data-theme="retro-futurist"] h2 {font-size:1.8rem}
html[data-theme="retro-futurist"] a {text-underline-offset:.25em}
html[data-theme="retro-futurist"] .home-posts {display:flex;flex-direction:column;position:relative;max-width:none}
html[data-theme="retro-futurist"] .home-posts>h1 {font-size:clamp(3.25rem,6.4vw,5.6rem);width:56%;margin-bottom:1.25rem}
html[data-theme="retro-futurist"] .home-intro {position:relative;max-width:none;min-height:14rem;margin-bottom:3rem;padding-top:5rem}
html[data-theme="retro-futurist"] .home-intro>p {max-width:52%;font-size:1.3rem;line-height:1.65;margin-top:0}
html[data-theme="retro-futurist"] .home-intro::before,
html[data-theme="retro-futurist"] .home-intro::after {content:"";position:absolute;pointer-events:none}
html[data-theme="retro-futurist"] .home-posts article {margin:0;padding:2rem 0;border-bottom:1px solid var(--rule)}
html[data-theme="retro-futurist"] .home-posts article h2 {margin-top:0}
html[data-theme="retro-futurist"] .home-posts article h2 a {color:var(--ink)}
html[data-theme="retro-futurist"] .home-posts article:first-child {background:var(--surface);padding:2.5rem;margin-bottom:2rem}
html[data-theme="retro-futurist"] .home-posts article:first-child h2 {font-size:2.25rem;max-width:28ch}
html[data-theme="retro-futurist"] .article-body {max-width:70ch}
html[data-theme="retro-futurist"] .article-body h2 {margin-top:3rem}
html[data-theme="retro-futurist"] .article-body h3 {margin-top:2rem}
html[data-theme="retro-futurist"] .article-toc {font-size:.95rem;padding:1.25rem;overscroll-behavior:contain}
html[data-theme="retro-futurist"] .article-body pre {background:var(--code);font-size:.9rem}
html[data-theme="retro-futurist"] .article-body :not(pre)>code {background:var(--code);padding:.12em .3em;font-size:.86em}
html[data-theme="retro-futurist"] .timeline-entry {padding:2rem 0;border-radius:0;background:transparent;border-bottom:1px solid var(--rule)}
html[data-theme="retro-futurist"] .timeline-title {font-size:1.45rem;margin:.8rem 0}
html[data-theme="retro-futurist"] .timeline-content {font-size:1.05rem;line-height:1.75;max-width:70ch;overflow-wrap:anywhere}
html[data-theme="retro-futurist"] .timeline-timestamp {opacity:1;color:var(--muted);white-space:normal;font-size:.85rem}
html[data-theme="retro-futurist"] .timeline-handle {font-family:var(--font-mono);color:var(--muted);opacity:1}
html[data-theme="retro-futurist"] .timeline-tags a {color:var(--muted);opacity:1}
html[data-theme="retro-futurist"] .timeline-type {font-family:var(--tag-font);font-size:.85rem;padding:.25rem .75rem;letter-spacing:.035em}
html[data-theme="retro-futurist"] [data-series-entry] {border-color:var(--rule);padding-top:1.5rem;padding-bottom:1.5rem}
html[data-theme="retro-futurist"] [data-series-entry]::marker {color:var(--accent);font-family:var(--font-display);font-size:1.5rem}
html[data-theme="retro-futurist"] .project-card {background:var(--surface);border-color:var(--rule);color:var(--ink);box-shadow:none;transition:none}
html[data-theme="retro-futurist"] .project-card:hover {transform:none}
html[data-theme="retro-futurist"] [data-region="footer"] {border-top:1px solid var(--rule);color:var(--muted)}
html[data-theme="retro-futurist"][lang^="zh"] h1 {letter-spacing:0;line-height:1.35}
html[data-theme="retro-futurist"][lang^="zh"] .article-body {max-width:36em}
html[data-theme="retro-futurist"][lang^="zh"] .article-body p {line-height:1.95}
/* The masthead slot stays compact so the sticky header never becomes a hero. */
html[data-theme="retro-futurist"] .theme-art {display:block;position:relative;flex:0 0 3rem;width:3rem;height:2rem;margin:0 .75rem;overflow:hidden}
html[data-theme="retro-futurist"] .theme-art::before,
html[data-theme="retro-futurist"] .theme-art::after,
html[data-theme="retro-futurist"] .theme-art span {position:absolute;pointer-events:none;content:""}
@media(max-width:700px) {
 html[data-theme="retro-futurist"] [data-region="masthead"] {padding:1rem 1.25rem}
 html[data-theme="retro-futurist"] [data-region="nav"] {padding:0 1.25rem 1rem}
 html[data-theme="retro-futurist"] [data-region="main"] {padding:2rem 1.25rem 3rem}
 html[data-theme="retro-futurist"] .theme-art {display:none}
 html[data-theme="retro-futurist"] .home-posts>h1 {width:100%;font-size:clamp(2.8rem,12vw,4rem)}
 html[data-theme="retro-futurist"] .home-intro {min-height:0;padding-top:0;padding-bottom:14rem;margin-bottom:1.5rem}
 html[data-theme="retro-futurist"] .home-intro>p {max-width:100%;font-size:1.15rem}
 html[data-theme="retro-futurist"] .home-posts article:first-child {padding:1.5rem}
 html[data-theme="retro-futurist"] .home-posts article:first-child h2 {font-size:1.85rem}
 html[data-theme="retro-futurist"] .article-body {font-size:1.125rem}
}
@media(prefers-reduced-motion:reduce) {
 html[data-theme="retro-futurist"] *,html[data-theme="retro-futurist"] *::before,html[data-theme="retro-futurist"] *::after {animation:none!important;transition:none!important}
}
@media print {
 html[data-theme="retro-futurist"] .home-intro::before,html[data-theme="retro-futurist"] .home-intro::after {display:none}
 html[data-theme="retro-futurist"] .home-intro {min-height:0;padding-bottom:0}
}

html[data-theme="retro-futurist"] {--tag-font:var(--font-display)}
html[data-theme="retro-futurist"] .site-header {border-bottom:4px solid var(--ink)}
html[data-theme="retro-futurist"] [data-region="nav"] {border-top:1px solid var(--rule);padding-top:.8rem}
html[data-theme="retro-futurist"] h1,html[data-theme="retro-futurist"] h2,html[data-theme="retro-futurist"] [data-region="masthead"]>a {font-weight:900}
html[data-theme="retro-futurist"] [data-region="sidebar"] a.underline {background:var(--ink);color:var(--bg);padding-inline:.55rem;text-decoration:none}
html[data-theme="retro-futurist"] .home-intro::before {right:0;top:0;width:38%;height:18rem;border-radius:12rem 12rem 0 0;background:radial-gradient(circle at 50% 40%,#f4c867 0 30%,transparent 30.5%),#bd684d}
html[data-theme="retro-futurist"] .home-intro::after {right:0;top:11.5rem;width:38%;height:6.5rem;background:linear-gradient(155deg,transparent 0 30%,#35223a 30% 52%,transparent 52%),repeating-linear-gradient(0deg,#35223a 0 10px,#bd684d 10px 19px)}
html[data-theme="retro-futurist"] .theme-art {border-radius:2rem 2rem 0 0;background:#bd684d}
html[data-theme="retro-futurist"] .theme-art::before {width:1.25rem;height:1.25rem;border-radius:50%;background:#f4c867;top:.2rem;left:.875rem}
html[data-theme="retro-futurist"] .theme-art::after {inset:65% 0 0;background:repeating-linear-gradient(0deg,#35223a 0 2px,#bd684d 2px 4px)}
html[data-theme="retro-futurist"] .home-posts article:first-child {border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);margin:0 .5rem 3rem 0}
html[data-theme="retro-futurist"] .home-posts article:not(:first-child) {border-top:6px solid var(--accent);border-bottom:0}
html[data-theme="retro-futurist"] .article-body {font-family:Georgia,'Noto Sans SC','PingFang SC',sans-serif;line-height:1.8}
html[data-theme="retro-futurist"] .article-body h2,html[data-theme="retro-futurist"] .article-body h3 {font-family:var(--font-body)}
html[data-theme="retro-futurist"] .article-toc {border:2px solid var(--ink);border-radius:0}
html[data-theme="retro-futurist"] .timeline-entry {border-top:3px solid var(--ink);border-bottom:0}
html[data-theme="retro-futurist"] .timeline-type {color:var(--ink);border:2px solid var(--ink);border-radius:0;box-shadow:3px 3px 0 var(--accent);font-weight:bold;font-size:1rem}
html[data-theme="retro-futurist"] .project-card {border:2px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink)}
html[data-theme="retro-futurist"] .project-card:hover {box-shadow:5px 5px 0 var(--ink)}
html[data-theme="retro-futurist"] .project-card__media {border-radius:0}
html[data-theme="retro-futurist"] [data-region="footer"] {border-top:4px solid var(--ink)}
@media(min-width:900px) {
 html[data-theme="retro-futurist"] .home-posts>.flex {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
 html[data-theme="retro-futurist"] .home-posts article:first-child {grid-column:1/-1}
}
@media(max-width:700px) {
 html[data-theme="retro-futurist"] .home-intro::before {width:85%;height:12rem;right:7.5%;top:auto;bottom:0}
 html[data-theme="retro-futurist"] .home-intro::after {width:85%;height:4rem;right:7.5%;top:auto;bottom:0}
 html[data-theme="retro-futurist"] .home-posts article:first-child {box-shadow:5px 5px 0 var(--ink)}
}

@media(min-width:900px) {
 html[data-theme="retro-futurist"] .timeline-entry:not(.timeline-entry--compact) .timeline-body-wrap {display:grid;grid-template-columns:11rem minmax(0,1fr);column-gap:2rem}
 html[data-theme="retro-futurist"] .timeline-entry:not(.timeline-entry--compact) .timeline-topline {grid-column:1;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.65rem}
 html[data-theme="retro-futurist"] .timeline-entry:not(.timeline-entry--compact) :is(.timeline-title,.timeline-content,.timeline-footer) {grid-column:2}
 html[data-theme="retro-futurist"] .timeline-entry:not(.timeline-entry--compact) .timeline-title {margin-top:0}
}

/* holo.css */
/* A reading skin over the shared document; all decoration is inert. */
html[data-theme="holo"] {--project-tag-bg:var(--surface);--project-tag-border:var(--rule);--project-tag-color:var(--ink);--project-tag-count-bg:var(--bg);--project-card-bg:var(--surface);--project-card-border:var(--rule);--project-card-color:var(--ink);--project-card-shadow:none;--project-card-shadow-hover:none;--project-card-divider:var(--rule);--project-card-media-bg:var(--bg);--tag-font:var(--font-mono)}
html[data-theme="holo"] .site-shell {max-width:75rem}
html[data-theme="holo"] [data-region="masthead"] {padding:1.5rem 3rem 1rem}
html[data-theme="holo"] [data-region="masthead"]>a {font-size:1.3rem;color:var(--ink);font-family:var(--font-display)}
html[data-theme="holo"] [data-region="nav"] {padding:0 3rem 1.25rem}
html[data-theme="holo"] [data-region="sidebar"] {gap:.5rem 1.5rem}
html[data-theme="holo"] [data-region="sidebar"] a {color:var(--ink);text-underline-offset:.4em}
html[data-theme="holo"] [data-region="sidebar"] a.underline {color:var(--accent);text-decoration-thickness:3px}
html[data-theme="holo"] [data-region="main"] {padding:3.75rem 3rem 5rem;font-size:1.125rem}
html[data-theme="holo"] h1 {font-size:clamp(2.25rem,4.7vw,4.1rem);letter-spacing:-.045em}
html[data-theme="holo"] h2 {font-size:1.8rem}
html[data-theme="holo"] a {text-underline-offset:.25em}
html[data-theme="holo"] .home-posts {display:flex;flex-direction:column;position:relative;max-width:none}
html[data-theme="holo"] .home-posts>h1 {font-size:clamp(3.25rem,6.4vw,5.6rem);width:56%;margin-bottom:1.25rem}
html[data-theme="holo"] .home-intro {position:relative;max-width:none;min-height:14rem;margin-bottom:3rem;padding-top:5rem}
html[data-theme="holo"] .home-intro>p {max-width:52%;font-size:1.3rem;line-height:1.65;margin-top:0}
html[data-theme="holo"] .home-intro::before,
html[data-theme="holo"] .home-intro::after {content:"";position:absolute;pointer-events:none}
html[data-theme="holo"] .home-posts article {margin:0;padding:2rem 0;border-bottom:1px solid var(--rule)}
html[data-theme="holo"] .home-posts article h2 {margin-top:0}
html[data-theme="holo"] .home-posts article h2 a {color:var(--ink)}
html[data-theme="holo"] .home-posts article:first-child {background:var(--surface);padding:2.5rem;margin-bottom:2rem}
html[data-theme="holo"] .home-posts article:first-child h2 {font-size:2.25rem;max-width:28ch}
html[data-theme="holo"] .article-body {max-width:70ch}
html[data-theme="holo"] .article-body h2 {margin-top:3rem}
html[data-theme="holo"] .article-body h3 {margin-top:2rem}
html[data-theme="holo"] .article-toc {font-size:.95rem;padding:1.25rem;overscroll-behavior:contain}
html[data-theme="holo"] .article-body pre {background:var(--code);font-size:.9rem}
html[data-theme="holo"] .article-body :not(pre)>code {background:var(--code);padding:.12em .3em;font-size:.86em}
html[data-theme="holo"] .timeline-entry {padding:2rem 0;border-radius:0;background:transparent;border-bottom:1px solid var(--rule)}
html[data-theme="holo"] .timeline-title {font-size:1.45rem;margin:.8rem 0}
html[data-theme="holo"] .timeline-content {font-size:1.05rem;line-height:1.75;max-width:70ch;overflow-wrap:anywhere}
html[data-theme="holo"] .timeline-timestamp {opacity:1;color:var(--muted);white-space:normal;font-size:.85rem}
html[data-theme="holo"] .timeline-handle {font-family:var(--font-mono);color:var(--muted);opacity:1}
html[data-theme="holo"] .timeline-tags a {color:var(--muted);opacity:1}
html[data-theme="holo"] .timeline-type {font-family:var(--tag-font);font-size:.85rem;padding:.25rem .75rem;letter-spacing:.035em}
html[data-theme="holo"] [data-series-entry] {border-color:var(--rule);padding-top:1.5rem;padding-bottom:1.5rem}
html[data-theme="holo"] [data-series-entry]::marker {color:var(--accent);font-family:var(--font-display);font-size:1.5rem}
html[data-theme="holo"] .project-card {background:var(--surface);border-color:var(--rule);color:var(--ink);box-shadow:none;transition:none}
html[data-theme="holo"] .project-card:hover {transform:none}
html[data-theme="holo"] [data-region="footer"] {border-top:1px solid var(--rule);color:var(--muted)}
html[data-theme="holo"][lang^="zh"] h1 {letter-spacing:0;line-height:1.35}
html[data-theme="holo"][lang^="zh"] .article-body {max-width:36em}
html[data-theme="holo"][lang^="zh"] .article-body p {line-height:1.95}
/* The masthead slot stays compact so the sticky header never becomes a hero. */
html[data-theme="holo"] .theme-art {display:block;position:relative;flex:0 0 3rem;width:3rem;height:2rem;margin:0 .75rem;overflow:hidden}
html[data-theme="holo"] .theme-art::before,
html[data-theme="holo"] .theme-art::after,
html[data-theme="holo"] .theme-art span {position:absolute;pointer-events:none;content:""}
@media(max-width:700px) {
 html[data-theme="holo"] [data-region="masthead"] {padding:1rem 1.25rem}
 html[data-theme="holo"] [data-region="nav"] {padding:0 1.25rem 1rem}
 html[data-theme="holo"] [data-region="main"] {padding:2rem 1.25rem 3rem}
 html[data-theme="holo"] .theme-art {display:none}
 html[data-theme="holo"] .home-posts>h1 {width:100%;font-size:clamp(2.8rem,12vw,4rem)}
 html[data-theme="holo"] .home-intro {min-height:0;padding-top:0;padding-bottom:14rem;margin-bottom:1.5rem}
 html[data-theme="holo"] .home-intro>p {max-width:100%;font-size:1.15rem}
 html[data-theme="holo"] .home-posts article:first-child {padding:1.5rem}
 html[data-theme="holo"] .home-posts article:first-child h2 {font-size:1.85rem}
 html[data-theme="holo"] .article-body {font-size:1.125rem}
}
@media(prefers-reduced-motion:reduce) {
 html[data-theme="holo"] *,html[data-theme="holo"] *::before,html[data-theme="holo"] *::after {animation:none!important;transition:none!important}
}
@media print {
 html[data-theme="holo"] .home-intro::before,html[data-theme="holo"] .home-intro::after {display:none}
 html[data-theme="holo"] .home-intro {min-height:0;padding-bottom:0}
}

html[data-theme="holo"] .site-header {border-bottom:1px solid var(--rule);box-shadow:0 6px 20px #0003}
html[data-theme="holo"] [data-region="masthead"]>a {color:var(--accent)}
html[data-theme="holo"] h1,html[data-theme="holo"] h2,html[data-theme="holo"] h3 {font-weight:500}
html[data-theme="holo"] .home-intro::before {width:13rem;height:17rem;right:10%;top:0;border:2px solid #70e8f2;border-radius:50%;transform:rotate(-35deg) scaleX(.65);box-shadow:0 0 18px #70e8f222}
html[data-theme="holo"] .home-intro::after {width:11rem;height:15rem;right:11%;top:1rem;border:2px solid #ec74de;border-radius:50%;transform:rotate(30deg) scaleX(.65);box-shadow:inset 0 0 0 1.5rem var(--bg),inset 0 0 0 calc(1.5rem + 2px) #93adff,0 0 18px #ec74de12}
html[data-theme="holo"] .theme-art::before,html[data-theme="holo"] .theme-art::after,html[data-theme="holo"] .theme-art span:first-child {width:1.3rem;height:1.9rem;left:.85rem;top:0;border:1px solid #70e8f2;border-radius:50%;transform:rotate(-35deg)}
html[data-theme="holo"] .theme-art::after {border-color:#ec74de;transform:rotate(30deg)}
html[data-theme="holo"] .theme-art span:first-child {border-color:#93adff;transform:rotate(-5deg);width:.9rem;left:1.05rem}
html[data-theme="holo"] .home-posts article:first-child {position:relative;border:1px solid var(--rule);border-left:3px solid var(--accent);background:linear-gradient(110deg,var(--surface),var(--feature-end))}
html[data-theme="holo"] .home-posts article:first-child::after {content:"";position:absolute;right:0;top:0;width:2.8rem;height:3px;background:#ec74de}
html[data-theme="holo"] .article-layout {border-left:1px solid var(--rule);padding-left:2rem}
html[data-theme="holo"] .article-toc {border-left:3px solid var(--accent);border-radius:0}
html[data-theme="holo"] .timeline-type {border:1px solid var(--accent);border-left:3px solid var(--accent);border-radius:0;box-shadow:inset 0 0 10px #65ffe012,0 0 10px #65ffe020;text-shadow:0 0 8px #65ffe050}
html[data-theme="holo"] .timeline-dot {background:#ec74de}
html[data-theme="holo"] [data-series-entry] {border-left:1px solid var(--rule);padding-left:1.5rem}
html[data-theme="holo"] .project-card {border-radius:0;border-left:3px solid var(--accent)}
html[data-theme="holo"] .project-card__media {border-radius:0}
@media(max-width:700px) {
 html[data-theme="holo"] .home-intro::before {width:9rem;height:12rem;right:calc(50% - 4.5rem);top:auto;bottom:0}
 html[data-theme="holo"] .home-intro::after {width:8rem;height:10rem;right:calc(50% - 4rem);top:auto;bottom:1rem}
 html[data-theme="holo"] .article-layout {padding-left:0;border-left:0}
}

@media(min-width:900px) {
 html[data-theme="holo"] .timeline-entry:not(.timeline-entry--compact) .timeline-body-wrap {display:grid;grid-template-columns:11rem minmax(0,1fr);column-gap:2rem}
 html[data-theme="holo"] .timeline-entry:not(.timeline-entry--compact) .timeline-topline {grid-column:1;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.65rem}
 html[data-theme="holo"] .timeline-entry:not(.timeline-entry--compact) :is(.timeline-title,.timeline-content,.timeline-footer) {grid-column:2}
 html[data-theme="holo"] .timeline-entry:not(.timeline-entry--compact) .timeline-title {margin-top:0}
}

html[data-theme="holo"] .projects-grid {grid-template-columns:minmax(0,1fr)}
@media(min-width:701px) {
 html[data-theme="holo"] .project-card {display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:1.75rem;align-items:start}
 html[data-theme="holo"] .project-card__body {min-width:0}
 html[data-theme="holo"] .project-card__media {margin:0}
}
