/* TermMono asset build 4.3.5 — unique URL to avoid stale browser/CDN cache. */
/*
Theme Name: TermMono
Theme URI: https://typecho.org/
Description: Inspired by claude.dev's editorial developer-blog and terminal interactions. Cache-safe v4.3.5 assets with per-post cover field.
Version: 4.3.5
Author: Zhouyi2013
*/

:root{
  color-scheme:light;
  --bg:#f8f6f1;--paper:#fffefa;--paper-2:#f1eee7;--paper-3:#e9e4da;
  --fg:#24231f;--muted:#77736b;--faint:#a5a096;--line:#e4dfd5;
  --accent:#c96b4b;--accent-text:color-mix(in srgb,var(--accent) 78%,#24231f);--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--bg));
  --btn:#27251f;--btn-fg:#fffdf8;--ok:#477b5a;--danger:#a6422a;
  --serif:Georgia,"Iowan Old Style","Baskerville","Palatino Linotype","Noto Serif SC","Songti SC",serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --radius-sm:7px;--radius-md:13px;--radius-lg:20px;
  --shadow-sm:0 3px 12px rgba(48,38,28,.035);--shadow-md:0 16px 42px rgba(48,38,28,.09);
  --ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(.22,1,.36,1);
  --fast:180ms;--normal:340ms;--slow:700ms;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#1c1b19;--paper:#242320;--paper-2:#2d2b27;--paper-3:#37342e;
  --fg:#f0eee7;--muted:#b0aca2;--faint:#888378;--line:#3c3933;
  --accent:#e18a68;--accent-text:color-mix(in srgb,var(--accent) 78%,#ffffff);--accent-soft:color-mix(in srgb,var(--accent) 17%,var(--bg));
  --btn:#f0eee7;--btn-fg:#24231f;--ok:#8fc9a0;--danger:#f0a087;
  --shadow-sm:0 3px 14px rgba(0,0,0,.12);--shadow-md:0 18px 52px rgba(0,0,0,.3);
}
:root[data-motion="subtle"]{--fast:140ms;--normal:200ms;--slow:360ms}
:root[data-motion="off"]{--fast:0ms;--normal:0ms;--slow:0ms}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.75 var(--sans);-webkit-font-smoothing:antialiased;transition:background-color 300ms ease,color 300ms ease;position:relative;min-height:100vh}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 5% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 38%),radial-gradient(ellipse at 90% 28%,color-mix(in srgb,var(--accent) 4%,transparent),transparent 30%);opacity:.95}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
::selection{background:color-mix(in srgb,var(--accent) 24%,transparent);color:var(--fg)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-shell{width:min(1320px,calc(100% - 64px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.logo{display:inline-flex;align-items:center;gap:11px;min-width:0;color:var(--fg);transform-origin:left center;transition:transform var(--normal) var(--ease-out),opacity var(--fast) ease}
.logo:hover{transform:translateY(-1px);opacity:.9}
.logo-mark{width:var(--logo-width,34px);height:auto;flex:0 0 auto;color:var(--accent);filter:drop-shadow(0 3px 5px color-mix(in srgb,var(--accent) 18%,transparent));transition:transform 600ms var(--ease-out),filter var(--normal) ease}
.logo:hover .logo-mark{transform:rotate(24deg) scale(1.04);filter:drop-shadow(0 5px 10px color-mix(in srgb,var(--accent) 28%,transparent))}
.logo-image{display:block;width:var(--logo-width,34px);max-width:18vw;max-height:54px;height:auto;object-fit:contain}
.brand-stack{display:flex;flex-direction:column;line-height:1.15;gap:5px;min-width:0}
.brand-stack strong{font:600 18px/1.15 var(--serif);letter-spacing:-.025em;overflow-wrap:anywhere}
.brand-stack small{font:500 9px/1.2 var(--mono);color:var(--muted);letter-spacing:.14em;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:clamp(8px,1.4vw,22px)}
.header-link{color:var(--muted);font-size:12px;letter-spacing:.02em;transition:color var(--fast) ease}
.header-link:hover{color:var(--accent-text)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:7px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;transition:background var(--fast) ease,border-color var(--fast) ease,color var(--fast) ease,transform var(--fast) var(--ease-out)}
.icon-button:hover{background:var(--paper);border-color:var(--line);color:var(--fg);transform:translateY(-1px)}
.icon-button:active{transform:scale(.97)}
.icon-button kbd{margin-left:5px}
.search-glyph{display:inline-block;width:13px;height:13px;border:1.5px solid currentColor;border-radius:50%;position:relative;flex:0 0 auto}
.search-glyph:after{content:"";position:absolute;width:5px;height:1.5px;right:-4px;bottom:-2px;background:currentColor;transform:rotate(48deg);border-radius:2px}
.theme-glyph{font-size:20px;line-height:1}
.write-link{display:inline-flex;align-items:center;gap:12px;padding:10px 15px;background:var(--btn);color:var(--btn-fg);border:1px solid var(--btn);border-radius:7px;font-size:12px;font-weight:600;transition:transform var(--fast) var(--ease-out),box-shadow var(--fast) ease,background var(--fast) ease}
.write-link span{transition:transform var(--fast) var(--ease-out)}
.write-link:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.12)}
.write-link:hover span{transform:translate(2px,-2px)}
.write-link:active{transform:translateY(0)}

.frame{display:grid;grid-template-columns:minmax(0,1fr) 246px;gap:clamp(34px,5.2vw,78px);align-items:start;padding:0 0 48px}
.frame.no-rail{grid-template-columns:minmax(0,1fr)}
.frame.no-rail .main{grid-column:1/-1}
.main{min-width:0;padding-top:0;min-height:70vh}
.col{min-width:0;max-width:930px;margin:0 auto}
.rail{position:sticky;top:106px;align-self:start;padding-top:44px;min-width:0;max-height:calc(100vh - 124px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}

.hero{position:relative;min-height:350px;display:flex;align-items:center;gap:20px;padding:62px 0 58px;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.hero-copy{position:relative;z-index:2;max-width:760px;padding-bottom:7px}
.eyebrow,.section-overline,.rail-label,.search-kicker{margin:0;color:var(--accent-text);font:600 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:25px}
.eyebrow-dot,.prompt-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);animation:tm-pulse 2.7s ease-in-out infinite}
.hero h1{max-width:720px;margin:0;font:500 clamp(39px,5.3vw,66px)/1.08 var(--serif);letter-spacing:-.055em;text-wrap:balance}
.hero-description{max-width:510px;margin:23px 0 0;color:var(--muted);font-size:15px;line-height:1.9}
.hero-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}
.text-link{display:inline-flex;align-items:center;gap:13px;font-size:12px;font-weight:650;letter-spacing:.01em}
.text-link span{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;transition:transform var(--normal) var(--ease-out),background var(--normal) ease,border-color var(--normal) ease}
.text-link:hover span{transform:translateY(3px);background:var(--accent);border-color:var(--accent);color:#fff}
.hero-note{color:var(--faint);font:10px/1.6 var(--mono);letter-spacing:.035em}
.hero-bottom-line{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:18px;padding:13px 0;color:var(--faint);font:9px/1.5 var(--mono);letter-spacing:.1em}
.archive-heading{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.archive-heading .eyebrow{margin-bottom:14px}
.archive-heading h1{margin:0;font:500 clamp(30px,4vw,44px)/1.18 var(--serif);letter-spacing:-.045em}
.archive-heading>p:last-child{margin:13px 0 0;color:var(--muted);font-size:13px}

.topic-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:24px 0 26px;border-bottom:1px solid var(--line)}
.topic-pill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 48%,transparent);color:var(--muted);font-size:11px;white-space:nowrap;transition:color var(--fast) ease,background var(--fast) ease,border-color var(--fast) ease,transform var(--fast) var(--ease-out)}
.topic-pill:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--paper);color:var(--accent-text)}
.topic-pill.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}
.pill-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.posts-section{padding-top:42px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}
.section-overline{font-size:9px;color:var(--faint);margin-bottom:5px}
.section-heading h2{margin:0;font:500 29px/1.2 var(--serif);letter-spacing:-.04em}
.section-caption{margin:0 0 3px;color:var(--faint);font-size:11px}
.list-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quick-search{display:flex;align-items:center;gap:12px;min-width:120px;max-width:380px;flex:1;color:var(--muted)}
.quick-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--fg);font-size:12px}
.quick-search input::placeholder{color:var(--faint)}
kbd{display:inline-flex;align-items:center;justify-content:center;min-width:21px;padding:2px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--paper);color:var(--muted);font:10px/1.6 var(--mono);white-space:nowrap}
.list-tools{display:flex;align-items:center;gap:12px}
.sort-wrap{display:flex;align-items:center;gap:6px;color:var(--faint);font-size:10px;white-space:nowrap}
.sort-wrap select{max-width:108px;border:0;background:transparent;color:var(--muted);font-size:11px;outline-offset:3px}
.view-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;transition:background var(--fast) ease,border-color var(--fast) ease,color var(--fast) ease}
.view-toggle span:first-child{font-size:15px}
.view-toggle:hover,.view-toggle[aria-pressed="true"]{border-color:var(--line);background:var(--paper);color:var(--fg)}
.filter-status{margin:13px 0 0;color:var(--muted);font-size:11px}
.article-list{display:flex;flex-direction:column}
.post-entry{position:relative;min-width:0;border-bottom:1px solid var(--line);transition:background var(--normal) ease,border-color var(--normal) ease,transform var(--normal) var(--ease-out)}
.post-entry-link{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px 4px 24px 0;min-width:0}
.post-entry:not(.featured-entry):hover{background:color-mix(in srgb,var(--accent-soft) 28%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));transform:translateX(4px)}
.post-entry:not(.featured-entry) .post-entry-link{padding-left:2px;transition:padding var(--normal) var(--ease-out)}
.post-entry:not(.featured-entry):hover .post-entry-link{padding-left:12px;padding-right:8px}
.entry-thumbnail{position:relative;width:100%;aspect-ratio:4/3;align-self:center;overflow:hidden;border-radius:8px;background:var(--paper-2);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);isolation:isolate}.entry-thumbnail.is-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease-out)}.post-entry.has-cover:hover .entry-thumbnail img{transform:scale(1.045)}.entry-thumbnail.is-default{background:radial-gradient(ellipse at 35% 25%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 62%),linear-gradient(140deg,color-mix(in srgb,var(--accent) 10%,var(--paper-2)),var(--paper-2) 58%,color-mix(in srgb,#d0a06c 13%,var(--paper)))}.entry-thumbnail.is-default:before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--muted) 45%,transparent) .8px,transparent .8px);background-size:11px 11px;mask-image:radial-gradient(circle at center,black 0%,transparent 74%);opacity:.3}.entry-thumb-ring{position:absolute;left:50%;top:50%;width:48%;height:72%;border:1px solid color-mix(in srgb,var(--accent) 46%,transparent);border-radius:50%;transform:translate(-50%,-50%) rotate(-28deg);box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 25px color-mix(in srgb,var(--accent) 3%,transparent);animation:tm-orbit 32s linear infinite}.entry-thumb-dot{position:absolute;left:69%;top:29%;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}.post-entry.has-thumbnail:not(.featured-entry) .post-entry-link{grid-template-columns:112px minmax(0,1fr) auto;gap:20px}.article-list.is-compact .post-entry.has-thumbnail:not(.featured-entry) .post-entry-link{grid-template-columns:82px minmax(0,1fr) auto;gap:14px}.article-list.is-grid .post-entry.has-thumbnail:not(.featured-entry) .post-entry-link{display:flex;flex-direction:column;align-items:stretch}.article-list.is-grid .entry-thumbnail{aspect-ratio:16/9;margin-bottom:10px}.entry-main{min-width:0}
.entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--faint);font:10px/1.6 var(--mono);letter-spacing:.025em}
.entry-kicker{color:var(--accent-text);letter-spacing:.1em}
.entry-separator{color:var(--accent)}
.entry-category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entry-category a{color:var(--accent-text);text-underline-offset:3px}
.entry-title{position:relative;width:fit-content;max-width:100%;margin:9px 0 7px;font:500 23px/1.35 var(--serif);letter-spacing:-.025em;text-wrap:pretty;transition:color var(--normal) ease}
.post-entry:hover .entry-title{color:var(--accent-text)}
.entry-title:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--accent);transition:width 420ms var(--ease-out)}
.post-entry:not(.featured-entry):hover .entry-title:after{width:100%}
.entry-excerpt{max-width:660px;margin:0;color:var(--muted);font-size:12px;line-height:1.85;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.entry-side{display:flex;align-items:center;gap:18px;padding-left:12px;color:var(--faint);font-size:10px;white-space:nowrap}
.entry-readtime{font:10px/1.5 var(--mono)}
.entry-arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:13px;transition:transform var(--normal) var(--ease-out),color var(--normal) ease,background var(--normal) ease,border-color var(--normal) ease}
.post-entry:hover .entry-arrow{transform:translate(2px,-2px) rotate(0deg);background:var(--accent);border-color:var(--accent);color:white}
.featured-entry{overflow:hidden;margin:10px 0 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-sm);transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) ease,border-color var(--normal) ease}
.featured-entry:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:var(--shadow-md)}
.featured-entry .post-entry-link{grid-template-columns:minmax(180px,.78fr) minmax(0,1.22fr);gap:0;padding:0;min-height:268px}
.featured-art{position:relative;min-height:268px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 16%,var(--paper-2)),var(--paper-2) 55%,color-mix(in srgb,#d0a06c 16%,var(--paper)));isolation:isolate}
.featured-art:before{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--muted) 50%,transparent) .85px,transparent .85px);background-size:12px 12px;mask-image:radial-gradient(circle at center,black 0%,transparent 74%);opacity:.35}
.featured-art:after{content:"";position:absolute;transform:rotate(-32deg);width:62%;height:76%;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:50%;box-shadow:0 0 0 20px color-mix(in srgb,var(--accent) 5%,transparent),0 0 0 40px color-mix(in srgb,var(--accent) 3%,transparent);animation:tm-orbit 32s linear infinite}
.featured-art-caption{position:absolute;z-index:1;left:17px;bottom:15px;color:color-mix(in srgb,var(--fg) 65%,transparent);font:8px/1.5 var(--mono);letter-spacing:.14em}
.featured-art-orbit{position:absolute;z-index:1;top:22%;right:23%;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 10%,transparent);animation:tm-pulse 3s ease-in-out infinite}.featured-art-point{position:absolute;z-index:1;left:22%;bottom:25%;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--accent) 62%,var(--paper));box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 7%,transparent)}.featured-art.is-image:before,.featured-art.is-image:after{display:none}.featured-art.is-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 700ms var(--ease-out)}.featured-entry:hover .featured-art.is-image img{transform:scale(1.035)}
.featured-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(22px,3.5vw,38px)}
.featured-body .entry-meta{margin-bottom:8px}
.featured-body .entry-title{font-size:clamp(25px,3vw,34px);line-height:1.2;margin:8px 0 12px}
.featured-body .entry-excerpt{display:-webkit-box;-webkit-line-clamp:3;font-size:13px}
.entry-read-link{display:inline-flex;align-items:center;gap:14px;margin-top:22px;color:var(--accent-text);font-size:11px;font-weight:650}
.entry-read-link span{display:inline-block;transition:transform var(--normal) var(--ease-out)}
.featured-entry:hover .entry-read-link span{transform:translate(3px,-3px)}
.article-list.is-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:14px}
.article-list.is-grid .post-entry{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);overflow:hidden}
.article-list.is-grid .post-entry:not(.featured-entry):hover{transform:translateY(-4px)}
.article-list.is-grid .post-entry:not(.featured-entry) .post-entry-link{display:flex;align-items:stretch;flex-direction:column;justify-content:space-between;min-height:240px;padding:22px}
.article-list.is-grid .entry-side{display:flex;justify-content:space-between;padding:18px 0 0}
.article-list.is-grid .featured-entry{grid-column:1/-1;margin:0}
.article-list.is-compact .post-entry-link{padding-top:15px;padding-bottom:15px}
.article-list.is-compact .entry-title{font-size:18px;margin:5px 0}
.article-list.is-compact .entry-excerpt{display:none}
.article-list.is-compact .featured-entry .entry-excerpt{display:-webkit-box}
.empty-state{padding:58px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--paper) 55%,transparent)}
.empty-mark{font:42px/1 var(--serif);color:var(--accent)}
.empty-state h3{margin:12px 0 5px;font:500 24px/1.3 var(--serif)}
.empty-state p{margin:0;color:var(--muted);font-size:12px}
.no-filter-results{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.page-wrap{padding:22px 0;border-top:1px solid var(--line);margin-top:22px;color:var(--muted);font-size:11px}
.page-navigator{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0;padding:0;list-style:none}
.page-navigator a,.page-navigator span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:6px}
.page-navigator a{border-color:var(--line);background:var(--paper);transition:transform var(--fast) var(--ease-out),background var(--fast) ease,border-color var(--fast) ease}
.page-navigator a:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}
.page-navigator .current{background:var(--accent);color:white;font-weight:700}

/* Article and page reading surface */
.back{display:inline-flex;align-items:center;gap:9px;margin:38px 0 24px;color:var(--muted);font-size:11px;transition:color var(--fast) ease,transform var(--fast) var(--ease-out)}
.back:hover{color:var(--accent-text);transform:translateX(-3px)}
.art-title{max-width:850px;margin:0;font:500 clamp(34px,5vw,52px)/1.13 var(--serif);letter-spacing:-.05em;text-wrap:balance}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:19px 0 30px;padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}
.article-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 32px}
.article-tool{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--muted);font-size:10px;transition:background var(--fast) ease,border-color var(--fast) ease,color var(--fast) ease,transform var(--fast) var(--ease-out)}
.article-tool:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent-text)}
.prose{min-width:0;overflow-wrap:anywhere;font-size:var(--article-font-size,16px);line-height:2;color:var(--fg)}
.prose h1,.prose h2,.prose h3,.prose h4{font-weight:550;line-height:1.35;letter-spacing:-.035em;margin:2.2em 0 .65em;scroll-margin-top:100px;text-wrap:pretty}
.prose h1{font:500 34px/1.2 var(--serif)}.prose h2{font:500 28px/1.25 var(--serif);padding-bottom:.35em;border-bottom:1px solid var(--line)}.prose h3{font:550 21px/1.35 var(--sans)}.prose h4{font-size:17px}
.prose p{margin:0 0 1.35em}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.7em}
.prose li{margin:.35em 0;padding-left:.2em}
.prose li::marker{color:var(--accent)}
.prose a{color:var(--accent-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:3px;transition:text-decoration-color var(--fast) ease}
.prose a:hover{text-decoration-color:var(--accent)}
.prose blockquote{margin:1.7em 0;padding:10px 20px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--accent-soft) 60%,var(--paper));color:color-mix(in srgb,var(--fg) 85%,var(--muted))}
.prose blockquote>*:last-child{margin-bottom:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose img{display:block;max-width:100%;height:auto;margin:1.7em auto;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:zoom-in;transition:transform var(--normal) var(--ease-out),box-shadow var(--normal) ease}
.prose img:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.prose code{padding:2px 5px;border:1px solid var(--line);border-radius:4px;background:var(--paper-2);font: .87em/1.6 var(--mono);overflow-wrap:anywhere}
.prose pre{position:relative;overflow:auto;margin:1.7em 0;padding:42px 18px 18px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);font:12px/1.8 var(--mono);tab-size:4;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:border-color var(--normal) ease,box-shadow var(--normal) ease}
.prose pre:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:var(--shadow-sm)}
.prose pre code{display:block;min-width:max-content;padding:0;border:0;background:transparent;font:inherit;overflow-wrap:normal}
.prose pre .lang{position:absolute;top:10px;left:15px;font:10px/1.5 var(--mono);color:var(--muted)}
.copy{position:absolute;top:8px;right:9px;z-index:2;padding:4px 9px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--muted);font-size:10px;transition:background var(--fast) ease,color var(--fast) ease,transform var(--fast) var(--ease-out)}
.copy:hover{transform:translateY(-1px);background:var(--accent-soft);color:var(--accent-text)}
.code-info{position:absolute;top:11px;left:15px;max-width:60%;overflow:hidden;color:var(--muted);font:9px/1.5 var(--mono);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.prose pre.termmono-code-block{padding-top:42px}
.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.9em}
.prose th,.prose td{padding:9px 12px;border:1px solid var(--line);text-align:left}
.prose th{background:var(--paper-2);font-weight:650}
.tbl{overflow-x:auto;margin-bottom:1.4em}
.prose .copy{z-index:3}
.post-tags{margin:30px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.post-tags a{display:inline-block;margin:3px 4px 3px 0;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--accent-text)}
.post-near{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none;color:var(--muted);font-size:11px}
.post-near li{min-width:0;overflow-wrap:anywhere}.post-near li:last-child{text-align:right}.post-near a{color:var(--fg)}.post-near a:hover{color:var(--accent-text)}
#comments{margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}
#comments h3{font:500 25px/1.25 var(--serif);margin:0 0 22px}
.comment-list{list-style:none;margin:0 0 24px;padding:0}
.comment-list .comment{padding:18px 0;border-bottom:1px solid var(--line)}
.comment-author{font-weight:650}.comment-meta,.comment-reply{font-size:10px;color:var(--muted)}.comment-content{margin-top:8px;overflow-wrap:anywhere}.comment-children{margin:12px 0 0 18px;padding-left:16px;border-left:1px solid var(--line);list-style:none}
.respond{margin-top:28px}.respond form p{margin:0 0 15px}.respond label{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}
.respond input[type="text"],.respond input[type="email"],.respond input[type="url"],.respond textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--fg);font:inherit;font-size:13px;transition:border-color var(--fast) ease,box-shadow var(--fast) ease}
.respond textarea{resize:vertical;min-height:150px}.respond input:focus,.respond textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.respond button,.respond input[type="submit"]{padding:10px 17px;border:1px solid var(--btn);border-radius:7px;background:var(--btn);color:var(--btn-fg);font-size:12px;transition:transform var(--fast) var(--ease-out),opacity var(--fast) ease}
.respond button:hover,.respond input[type="submit"]:hover{transform:translateY(-2px);opacity:.92}.respond .cancel-comment-reply{font-size:11px;color:var(--muted)}
.error-page{padding:80px 10px}.error-code{font:10px/1.5 var(--mono);color:var(--accent-text);letter-spacing:.15em}.error-page h1{font:500 40px/1.2 var(--serif);margin:14px 0}.error-page p{color:var(--muted)}

/* Right rail */
.rail-card{padding:19px 0 21px;border-bottom:1px solid var(--line);animation:tm-rail-in 600ms var(--ease-out) both}
.rail-card:first-child{padding-top:0}
.rail-label{margin:0 0 12px;color:var(--faint);font-size:9px}
.rail-card h3{margin:0 0 9px;font:500 21px/1.25 var(--serif);letter-spacing:-.025em}
.rail-card p:not(.rail-label){margin:0;color:var(--muted);font-size:11px;line-height:1.85}
.rail-card-footer{display:flex;gap:8px;margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}
.rail-card-footer button{padding:0;background:transparent;border:0;color:var(--muted);font-size:10px;transition:color var(--fast) ease}.rail-card-footer button:hover{color:var(--accent-text)}
.rail-card-footer button+button{margin-left:auto}
.profile-card .status-line{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font:9px/1.5 var(--mono);color:var(--muted)}
.status-line time,.status-line strong{margin-left:auto;color:var(--accent-text);font-size:9px;font-weight:600;letter-spacing:.04em}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 13%,transparent);animation:tm-pulse 2.6s ease-in-out infinite}
.quick-keys>div{display:flex;align-items:center;gap:9px;margin-top:9px;color:var(--muted);font-size:10px}.quick-keys kbd{min-width:34px}
.toc-card{padding:0 0 18px}.toc-card h4{margin:0 0 10px;color:var(--faint);font:600 9px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}.toc-card a{display:block;padding:6px 0 6px 11px;border-left:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.5;transition:border-color var(--fast) ease,color var(--fast) ease,padding var(--fast) ease}.toc-card a.l3{padding-left:22px}.toc-card a:hover,.toc-card a.is-active{padding-left:15px;border-left:2px solid var(--accent);color:var(--accent-text)}
.reading-card{background:color-mix(in srgb,var(--paper) 58%,transparent);border:1px solid var(--line);border-radius:var(--radius-md);padding:17px;margin:20px 0;box-shadow:var(--shadow-sm)}
.reading-card h3{font-size:20px}.reading-card .reading-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.reading-actions button{padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--muted);font-size:10px;transition:border-color var(--fast) ease,color var(--fast) ease,transform var(--fast) var(--ease-out)}.reading-actions button:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent-text)}.reading-actions button:first-child{margin-right:auto}

/* Terminal command bar */
.out{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);font:11px/1.8 var(--mono);white-space:pre-wrap;animation:tm-dialog-in 240ms var(--ease-out) both}
.prompt-wrap{margin-top:45px;padding-top:16px;border-top:1px solid var(--line)}
.prompt-caption{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--faint);font:9px/1.5 var(--mono);letter-spacing:.05em}
.prompt-pulse{width:5px;height:5px;animation:none}
.prompt-hint{margin-left:auto;letter-spacing:0;text-transform:none}
.prompt{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:14px 14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);box-shadow:var(--shadow-sm);transition:border-color var(--normal) ease,box-shadow var(--normal) ease,transform var(--normal) var(--ease-out)}
.prompt:focus-within{border-color:color-mix(in srgb,var(--accent) 72%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent),var(--shadow-sm);transform:translateY(-1px)}
.prompt label{white-space:nowrap;color:var(--muted);font:10px/1.6 var(--mono)}
.prompt-chevron{color:var(--accent);font-size:15px}
.prompt input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--fg);font:12px/1.6 var(--mono);caret-color:var(--accent)}
.prompt input::placeholder{color:var(--faint);opacity:.8}
#command-submit{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:0;border-radius:6px;background:var(--btn);color:var(--btn-fg);font-size:15px;transition:transform var(--fast) var(--ease-out),opacity var(--fast) ease}
#command-submit:hover{transform:translateY(-1px)}
.cmdbox{position:absolute;z-index:40;left:0;right:0;bottom:calc(100% + 8px);overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-md);animation:tm-dialog-in 160ms var(--ease-out) both}
.cmdbox .cm{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 14px;cursor:pointer;font:10px/1.5 var(--mono);transition:background var(--fast) ease,color var(--fast) ease}.cmdbox .cm .d{color:var(--muted);font:10px/1.5 var(--sans)}.cmdbox .cm:hover,.cmdbox .cm.sel{background:var(--accent-soft);color:var(--accent-text)}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0 27px;color:var(--faint);font-size:9px}
.footnote{margin:0}.footer-dot{padding:0 5px;color:var(--accent)}.site-footer>a{color:var(--muted);transition:color var(--fast) ease}.site-footer>a:hover{color:var(--accent-text)}.footer-made{margin-left:auto;font:8px/1.5 var(--mono);letter-spacing:.08em}

/* Overlays / reading controls */
.reading-progress{position:fixed;z-index:1200;top:0;left:0;right:0;height:3px;background:color-mix(in srgb,var(--line) 70%,transparent);pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 54%,#f5c69c));transform:scaleX(0);transform-origin:left center;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 32%,transparent);will-change:transform}
.back-to-top{position:fixed;z-index:900;right:25px;bottom:24px;width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);color:var(--fg);font-size:18px;line-height:1;box-shadow:var(--shadow-md);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px) scale(.92);pointer-events:none;transition:opacity var(--normal) ease,visibility var(--normal) ease,transform var(--normal) var(--ease-out),border-color var(--fast) ease}
.back-to-top span{margin-top:2px;font:7px/1.1 var(--mono);letter-spacing:.08em;color:var(--muted)}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{border-color:var(--accent);color:var(--accent-text);transform:translateY(-3px)}
.search-overlay,.preferences-overlay{position:fixed;z-index:1500;inset:0;display:grid;place-items:start center;padding:10vh 18px 28px;overflow-y:auto}
.search-backdrop{position:fixed;inset:0;background:rgba(28,26,22,.48);backdrop-filter:blur(9px);animation:tm-fade-in 180ms ease both}
.search-dialog,.preferences-dialog{position:relative;width:min(620px,100%);padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 28px 90px rgba(0,0,0,.22);animation:tm-dialog-in 300ms var(--ease-out) both}
.search-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.search-kicker{font-size:9px}
.search-close,.lightbox-close{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;background:var(--paper-2);color:var(--fg);font-size:21px;line-height:1;cursor:pointer;transition:transform var(--normal) var(--ease-out),border-color var(--fast) ease,color var(--fast) ease}
.search-close:hover,.lightbox-close:hover{transform:rotate(90deg);border-color:var(--accent);color:var(--accent-text)}
.search-dialog h2,.preferences-dialog h2{margin:24px 0 8px;font:500 30px/1.2 var(--serif);letter-spacing:-.04em}
.search-dialog>p,.preferences-intro{margin:0 0 23px;color:var(--muted);font-size:12px}
.site-search-form label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px}
.search-input-row{display:flex;gap:8px}.search-input-row input{min-width:0;flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font-size:13px;outline:0;transition:border-color var(--fast) ease,box-shadow var(--fast) ease}.search-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}
.search-input-row button,.primary-button{padding:0 16px;border:1px solid var(--btn);border-radius:8px;background:var(--btn);color:var(--btn-fg);font-size:11px;font-weight:600;transition:transform var(--fast) var(--ease-out),opacity var(--fast) ease}.search-input-row button:hover,.primary-button:hover{transform:translateY(-2px);opacity:.9}
.search-dialog-foot{display:flex;align-items:center;gap:6px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.search-foot-spacer{flex:1}
body.overlay-open{overflow:hidden}
.preferences-dialog{width:min(580px,100%)}.preferences-intro{margin-bottom:20px}
.preference-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer}
.preference-row>span{display:flex;flex-direction:column;gap:4px}.preference-row strong{font-size:12px;font-weight:650}.preference-row small{font-size:10px;color:var(--muted)}
.preference-row select{max-width:44%;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--fg);font-size:11px}
.preference-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.secondary-button{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:11px;transition:background var(--fast) ease,color var(--fast) ease}.secondary-button:hover{background:var(--paper-2);color:var(--fg)}.primary-button{padding:10px 16px}
.image-lightbox{position:fixed;z-index:1600;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:54px 24px 30px;background:rgba(14,13,12,.92);backdrop-filter:blur(12px);animation:tm-fade-in 180ms ease both}
.image-lightbox img{display:block;max-width:min(1200px,94vw);max-height:78vh;width:auto;height:auto;object-fit:contain;border:1px solid rgba(255,255,255,.18);border-radius:10px;box-shadow:0 30px 100px rgba(0,0,0,.4);animation:tm-image-in 320ms var(--ease-out) both}.lightbox-close{position:absolute;right:22px;top:20px;width:42px;height:42px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff;font-size:28px}.lightbox-caption{max-width:min(900px,90vw);color:rgba(255,255,255,.75);font-size:12px;text-align:center}
.focus-exit{position:fixed;z-index:950;top:16px;right:16px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--fg);box-shadow:var(--shadow-md);font-size:11px;cursor:pointer}
body.focus-mode .site-header,body.focus-mode .rail,body.focus-mode .site-footer,body.focus-mode .prompt-wrap,body.focus-mode .out{display:none!important}
body.focus-mode .site-shell{width:min(920px,calc(100% - 40px))}body.focus-mode .frame{display:block}body.focus-mode .main{padding-top:32px}body.focus-mode .col{max-width:850px}body.focus-mode .back-to-top{right:24px;bottom:24px}

/* Motion language — expressive but short, and completely optional. */
@keyframes tm-fade-in{from{opacity:0}to{opacity:1}}
@keyframes tm-page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes tm-rail-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
@keyframes tm-dialog-in{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tm-image-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes tm-pulse{0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 3%,transparent)}}
@keyframes tm-orbit{to{transform:rotate(328deg)}}
@keyframes tm-orbit-reverse{to{transform:rotate(-360deg)}}
@keyframes tm-breathe{0%,100%{transform:scale(.93);opacity:.75}50%{transform:scale(1.07);opacity:1}}
@keyframes tm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes tm-core-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes tm-star-float{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}
html.motion-ready .reveal{opacity:0;transform:translateY(17px)}
html.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0);transition:opacity 650ms var(--ease-out),transform 650ms var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
html[data-motion="subtle"].motion-ready .reveal.is-visible{transition-duration:320ms}
html[data-motion="off"] .reveal,html[data-motion="off"].motion-ready .reveal{opacity:1!important;transform:none!important}
html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-width="wide"] .site-shell{width:min(1480px,calc(100% - 64px))}
html[data-width="wide"] .frame{grid-template-columns:minmax(0,1fr) 270px;gap:clamp(40px,6vw,100px)}
html[data-width="narrow"] .site-shell{width:min(1100px,calc(100% - 56px))}
html[data-width="narrow"] .frame{grid-template-columns:minmax(0,1fr) 220px;gap:34px}
html[data-density="compact"] .post-entry-link{padding-top:15px;padding-bottom:15px}
html[data-density="compact"] .entry-excerpt{display:none}
html[data-density="compact"] .featured-entry .entry-excerpt{display:-webkit-box}
html[data-density="grid"] .article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:14px}
html[data-density="grid"] .post-entry:not(.featured-entry){border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);overflow:hidden}
html[data-density="grid"] .post-entry:not(.featured-entry) .post-entry-link{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-height:235px;padding:22px}
html[data-density="grid"] .post-entry:not(.featured-entry) .entry-side{padding:18px 0 0;justify-content:space-between}
html[data-density="grid"] .featured-entry{grid-column:1/-1}
html[data-density="grid"] .post-entry:not(.featured-entry):hover{transform:translateY(-3px)}

@media(max-width:1100px){
  .site-shell{width:min(100% - 42px,1040px)}
  .frame{grid-template-columns:minmax(0,1fr) 215px;gap:30px}
  .header-actions{gap:8px}.header-link{display:none}.write-link{padding:9px 12px}
  .hero{min-height:320px;padding:54px 0 56px}
  .featured-entry .post-entry-link{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr)}
}
@media(max-width:800px){
  .site-shell,html[data-width="wide"] .site-shell,html[data-width="narrow"] .site-shell{width:calc(100% - 36px)}
  .site-header{min-height:72px;gap:12px}
  .brand-stack strong{font-size:16px}.brand-stack small{font-size:8px}
  .header-actions{gap:5px}.icon-button{min-height:35px;padding:6px 8px}.search-trigger{font-size:0;gap:0}.search-trigger .search-glyph{font-size:12px}.search-trigger kbd{display:none}
  .write-link{font-size:0;gap:0;padding:9px 12px}.write-link span{font-size:15px}
  .frame,html[data-width="wide"] .frame,html[data-width="narrow"] .frame{grid-template-columns:minmax(0,1fr);gap:24px;padding-bottom:28px}
  .main{padding-top:0}.rail{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;padding-top:0}
  .rail-card:first-child{padding-top:18px}.rail-card{padding:18px 0}.quick-keys{grid-column:span 2}
  .hero{min-height:300px;display:flex;padding:48px 0 56px}
  .hero h1{font-size:clamp(35px,7vw,52px)}.hero-description{font-size:13px;margin-top:17px}
  .topic-pills{gap:6px;padding:18px 0}.topic-pill{padding:6px 10px;font-size:10px}
  .posts-section{padding-top:33px}.section-heading h2{font-size:26px}.section-caption{font-size:10px}
  .featured-entry .post-entry-link{grid-template-columns:minmax(125px,.72fr) minmax(0,1.28fr);min-height:230px}.featured-art{min-height:230px}.featured-body{padding:20px}.featured-body .entry-title{font-size:24px}.post-entry.has-thumbnail:not(.featured-entry) .post-entry-link{grid-template-columns:88px minmax(0,1fr) auto;gap:12px}
  .post-entry-link{gap:10px;padding:20px 2px}.entry-title{font-size:20px}.entry-excerpt{font-size:11px}
}
@media(max-width:560px){
  .site-shell,html[data-width="wide"] .site-shell,html[data-width="narrow"] .site-shell{width:calc(100% - 30px)}
  .site-header{min-height:65px}.logo{gap:8px}.logo-mark{width:min(var(--logo-width,34px),30px)}.logo-image{width:min(var(--logo-width,34px),30px)}.brand-stack strong{font-size:15px}.brand-stack small{letter-spacing:.07em;font-size:7px}
  .header-actions{gap:2px}.icon-button{padding:6px;min-width:31px}.theme-trigger{font-size:15px}.write-link{padding:8px 10px}
  .hero{display:flex;min-height:0;padding:44px 0 48px}.hero-copy{max-width:100%}.eyebrow{font-size:9px;margin-bottom:19px}.hero h1{max-width:95%;font-size:clamp(38px,10.5vw,51px)}.hero-description{max-width:100%;font-size:12px;line-height:1.85}.hero-cta-row{margin-top:23px}.hero-bottom-line{font-size:7px;letter-spacing:.06em}
  .archive-heading{padding:42px 0 25px}.archive-heading h1{font-size:31px}
  .topic-pills{padding:15px 0;gap:6px}.topic-pill{font-size:9px;padding:6px 9px}
  .section-heading{align-items:start;flex-direction:column;gap:5px;margin-bottom:18px}.section-heading h2{font-size:25px}.section-caption{margin:0}
  .list-controls{align-items:stretch;flex-direction:column;gap:8px;padding:12px 0}.quick-search{max-width:none;min-height:31px}.list-tools{justify-content:space-between;border-top:1px solid var(--line);padding-top:8px}.sort-wrap{flex:1}.sort-wrap select{max-width:none}.view-toggle{margin-left:auto}
  .article-list.is-grid,html[data-density="grid"] .article-list{grid-template-columns:1fr}.article-list.is-grid .featured-entry,html[data-density="grid"] .featured-entry{grid-column:auto}
  .featured-entry .post-entry-link{grid-template-columns:1fr}.featured-art{min-height:150px;max-height:170px}.featured-art:after{width:42%;height:75%}.featured-body{padding:19px 18px 22px}.post-entry.has-thumbnail:not(.featured-entry) .post-entry-link{grid-template-columns:72px minmax(0,1fr);gap:11px}.post-entry.has-thumbnail:not(.featured-entry) .entry-side{grid-column:2;padding:0;justify-content:space-between}.entry-thumbnail{border-radius:6px}.featured-body .entry-title{font-size:27px}.featured-body .entry-excerpt{font-size:12px;-webkit-line-clamp:2}.entry-read-link{margin-top:16px}
  .post-entry-link{padding:18px 0;gap:5px}.entry-title{font-size:19px;line-height:1.35}.entry-excerpt{font-size:11px;-webkit-line-clamp:2}.entry-side{padding-left:5px;gap:8px}.entry-arrow{width:25px;height:25px;font-size:11px}.entry-readtime{display:none}.entry-meta{font-size:9px;gap:7px}
  .rail{grid-template-columns:1fr}.quick-keys{grid-column:auto}.rail-card{padding:15px 0}.rail-card h3{font-size:19px}
  .posts-section{padding-top:28px}.page-wrap{margin-top:18px}
  .prompt-wrap{margin-top:30px}.prompt{flex-wrap:wrap;gap:8px;padding:11px}.prompt label{font-size:9px}.prompt input{flex-basis:55%;font-size:11px}.prompt-caption{font-size:8px}.prompt-hint{font-size:8px}.footer-made{width:100%;margin-left:0}.site-footer{gap:8px}
  .back{margin-top:27px}.art-title{font-size:36px}.meta{gap:6px;margin:15px 0 22px}.prose{font-size:var(--article-font-size,15px);line-height:1.9}.prose h2{font-size:25px}.prose h3{font-size:19px}.prose pre{padding:39px 12px 13px;font-size:11px}.article-tools{margin-bottom:25px}
  .post-near{grid-template-columns:1fr}.post-near li:last-child{text-align:left}.comment-children{margin-left:7px;padding-left:10px}
  .search-overlay,.preferences-overlay{padding:6vh 10px 18px}.search-dialog,.preferences-dialog{padding:22px 17px;border-radius:13px}.search-dialog h2,.preferences-dialog h2{font-size:25px}.search-input-row{flex-direction:column}.search-input-row button{min-height:43px}.preference-row{align-items:flex-start;flex-direction:column}.preference-row select{max-width:none;width:100%}.search-dialog-foot{font-size:9px}
  .back-to-top{right:13px;bottom:13px;width:40px;height:40px}
  body.focus-mode .site-shell{width:calc(100% - 30px)}body.focus-mode .main{padding-top:18px}.focus-exit{top:8px;right:8px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html.motion-ready .reveal{opacity:1!important;transform:none!important}
}

@media print{
  :root{color-scheme:light;--bg:#fff;--paper:#fff;--paper-2:#f6f6f6;--fg:#111;--muted:#555;--line:#ddd}
  body{background:#fff!important;color:#111!important;font-size:11pt}
  .site-header,.rail,.topic-pills,.list-controls,.prompt-wrap,.site-footer,.back-to-top,.reading-progress,.article-tools,.post-near,#comments .respond,.focus-exit{display:none!important}
  .site-shell{width:100%!important;margin:0!important}.frame{display:block!important;padding:0!important}.main{padding:0!important}.col{max-width:none!important}.prose{font-size:11pt!important;line-height:1.65!important}.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none;break-inside:avoid}.prose img{max-width:100%;box-shadow:none}a{color:inherit!important;text-decoration:none!important}.art-title{font-size:28pt}
}

/* v4.2 — warm paper editorial polish, larger typography, Claude.dev-inspired command palette */
html{font-size:17px}body{font-size:16px;line-height:1.78;-webkit-font-smoothing:antialiased}p,li,dd,dt{line-height:1.85}.site-header{padding-top:24px;padding-bottom:22px}.brand-name{font-size:clamp(24px,2.2vw,31px);letter-spacing:-.045em}.brand-tagline,.site-nav a,.site-nav button{font-size:13px}.hero-title{font-size:clamp(46px,6vw,76px);line-height:1.12;letter-spacing:-.055em}.hero-subtitle{max-width:650px;font-size:18px;line-height:1.9}.hero-eyebrow,.hero-meta,.section-overline,.rail-label{font-size:11px;letter-spacing:.12em}.hero-cta,.category-pill,.filter-tools,.post-meta,.post-excerpt,.featured-meta{font-size:14px}.section-title{font-size:clamp(30px,3.2vw,40px);line-height:1.25}.post-title{font-size:clamp(23px,2.2vw,29px);line-height:1.42}.post-excerpt{font-size:15px;line-height:1.85}.featured-title{font-size:clamp(29px,3vw,38px);line-height:1.3}.article-content{font-size:18px;line-height:1.95}.article-content h2{font-size:clamp(29px,3vw,36px)}.article-content h3{font-size:24px}.article-content p,.article-content li{line-height:1.95}.rail-card h3{font-size:24px}.rail-card p:not(.rail-label){font-size:14px;line-height:1.9}.quick-keys>div,.toc-card a,.reading-actions button{font-size:13px}.site-footer{font-size:12px}.site-footer .footer-made{font-size:11px}.prompt-wrap{margin-top:36px;padding-top:22px}.prompt-caption{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.prompt{gap:14px;padding:17px 18px;border-radius:13px;background:var(--paper);box-shadow:0 5px 18px rgba(50,39,28,.055)}.prompt label{font-size:13px}.prompt input{font-size:16px;line-height:1.7}.prompt input::placeholder{font-family:var(--sans);font-size:15px}.prompt-chevron{font-size:19px}#command-submit{width:38px;height:38px;border-radius:10px;font-size:19px}.out{padding:18px 20px;border-radius:12px;font-size:14px;line-height:1.9;background:color-mix(in srgb,var(--paper) 88%,var(--accent-soft))}.cmdbox{border-radius:14px;box-shadow:0 18px 48px rgba(46,35,25,.15);background:var(--paper)}.cmdbox .cm{grid-template-columns:minmax(105px,150px) minmax(0,1fr);gap:16px;padding:13px 17px;font-size:13px;line-height:1.7}.cmdbox .cm .d{font-size:13px;line-height:1.7}.prompt-hint{font-size:11px}.search-dialog,.preferences-dialog{border-radius:20px;padding:clamp(24px,4vw,36px);box-shadow:0 30px 100px rgba(38,29,21,.2)}.search-dialog input,.preferences-dialog input,.preferences-dialog select{font-size:16px;min-height:46px}button,.button,.category-pill,.filter-tools select{transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}button:hover,.button:hover{transform:translateY(-1px)}::selection{background:rgba(201,107,75,.2)}@media(max-width:720px){html{font-size:16px}.hero-title{font-size:clamp(40px,10vw,58px)}.hero-subtitle{font-size:16px}.article-content{font-size:17px}.prompt{padding:13px}.prompt input{font-size:15px}.cmdbox .cm{grid-template-columns:1fr;gap:2px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* v4.3.0 customizable footer links */
.site-footer .footer-hello{color:var(--muted);text-decoration:none;transition:color var(--fast) ease}.site-footer .footer-hello:hover{color:var(--accent-text)}.site-footer .footer-rss{white-space:nowrap}
