:root{--paper:#f6f3eb;--ink:#343c34;--muted:#7c8072;--green:#526c59;--line:#dedfd3;--rust:#ac705d;--blue:#718b97;--serif:Georgia,"Noto Serif SC","Songti SC",SimSun,serif;--sans:"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;z-index:9;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23a4a18b' opacity='.15' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input{touch-action:manipulation}a,button,input{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green)}button{color:inherit}::selection{background:#dce3cf}h1,h2,h3,p{margin:0}img{max-width:100%}.wrap{max-width:1160px;margin:auto;padding-inline:32px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font:23px/1.2 var(--serif);letter-spacing:-.5px}.brand small{display:block;font:10px/2 var(--sans);letter-spacing:3px;color:var(--muted);margin-top:3px}.header nav{display:flex;align-items:center;gap:31px;font-size:13px}.header nav a{position:relative;padding:8px 0;color:var(--muted)}.header nav a.active{color:var(--green)}.header nav a.active:after{content:"";position:absolute;width:4px;height:4px;background:var(--green);border-radius:50%;bottom:0;left:calc(50% - 2px)}.search-button,.icon-button{border:0;background:none;padding:8px;display:grid;place-items:center}.search-button svg{width:19px;height:19px}.eyebrow{font:10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:2.5px;color:var(--green);text-transform:uppercase}.eyebrow:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;border:1px solid var(--green);border-radius:50%;vertical-align:1px}.hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:16px;padding:62px 0 56px;min-height:438px}.hero h1{font:clamp(32px,4.2vw,51px)/1.6 var(--serif);letter-spacing:3px;margin:24px 0 17px}.hero h1 span{color:var(--green);position:relative;white-space:nowrap}.hero h1 span:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;border-bottom:1px solid #9caa8e;transform:rotate(-2deg)}.hero p{color:var(--muted);font-size:13px;line-height:2.2;max-width:370px}.hero-actions{margin-top:28px;display:flex;gap:25px;align-items:center;font-size:12px}.button{display:inline-flex;gap:28px;align-items:center;padding:10px 18px;border:1px solid var(--green);background:var(--green);color:var(--paper);border-radius:2px;transition:background .18s}.button:hover{background:#3e5745}.text-link{font-size:12px;border-bottom:1px solid #bdc4b4;padding-bottom:3px}.text-link:hover{color:var(--green)}.hero-art{position:relative;transform:rotate(-2deg);padding-left:15px}.hero-art img{display:block;width:100%;filter:drop-shadow(0 12px 11px #424b2810)}.hero-art:after{content:"FIG. 01 / 思绪的辐合带";position:absolute;right:22px;bottom:-17px;font-size:9px;letter-spacing:1px;color:var(--muted);transform:rotate(2deg)}.station-strip{border-block:1px solid var(--line);display:flex;gap:26px;align-items:center;justify-content:space-between;padding:14px 0;font-size:11px;color:var(--muted)}.station-strip strong{font-weight:500;color:var(--green)}.station-strip .dot{width:5px;height:5px;border-radius:50%;display:inline-block;background:#89977b;margin-right:8px}.section{padding:47px 0 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-title{font:25px/1.5 var(--serif);letter-spacing:2px}.section-title small{font:9px/1.5 ui-monospace,monospace;letter-spacing:2px;color:var(--muted);display:inline-block;margin-left:13px}.featured{display:grid;grid-template-columns:1fr 1.2fr;min-height:271px;border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:border-color .2s}.featured:hover{border-color:#aab79f}.feature-visual{position:relative;overflow:hidden;min-height:230px;background:#e4e8da;background-image:repeating-radial-gradient(ellipse at 40% 130%,transparent 0,transparent 30px,#aab79f70 31px,transparent 32px,transparent 44px)}.feature-visual:before{content:"OBSERVATION\A FIELD NOTES";white-space:pre;font:10px/1.8 ui-monospace,monospace;letter-spacing:3px;position:absolute;left:27px;top:23px;color:#6c7e63}.feature-visual:after{content:"☁";position:absolute;right:50px;top:41px;font:124px/1 var(--serif);color:#f6f3eb;text-shadow:1px 2px 0 #9ba99340}.feature-coord{font:10px/1.5 ui-monospace,monospace;letter-spacing:1px;color:#6c7e63;position:absolute;bottom:20px;left:27px}.feature-content{padding:32px 35px;display:flex;flex-direction:column;align-items:start;justify-content:center}.meta{font-size:10px;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px;align-items:center}.category{font-size:10px;letter-spacing:1px;color:var(--green)}.featured h2{font:25px/1.65 var(--serif);margin:13px 0 12px;letter-spacing:1px}.featured p{font-size:12px;line-height:2;color:var(--muted);max-width:400px}.feature-bottom{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:23px;font-size:11px;color:var(--muted)}.arrow{color:var(--green);font-size:21px;line-height:1}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:55px;margin-top:47px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.filter{border:0;background:transparent;font-size:11px;padding:6px 12px;color:var(--muted);border-radius:2px}.filter[aria-pressed=true]{background:#e6e9de;color:var(--green)}.post-row{display:grid;grid-template-columns:1fr 81px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:23px 0}.post-row h3{font:19px/1.7 var(--serif);margin:7px 0;letter-spacing:.6px}.post-row:hover h3{color:var(--green)}.post-row p{font-size:12px;line-height:1.8;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-row .meta{margin-top:10px}.mini-art{height:81px;display:grid;place-items:center;position:relative;background:#e6e9df;border-radius:3px;color:#71816a;font:30px/1 var(--serif);overflow:hidden}.mini-art:before{content:"";position:absolute;inset:-30px;background:repeating-radial-gradient(ellipse at 80% 10%,transparent 0,transparent 13px,#a4af9860 14px,transparent 15px,transparent 24px)}.mini-art span{position:relative}.mini-art.code{background:#e7e6dd;color:#91826c}.mini-art.note{background:#eee3d7;color:#b08c73}.sidebar{border-left:1px solid var(--line);padding-left:27px}.sidebar h3{font:17px/1.5 var(--serif);letter-spacing:1px;margin-bottom:14px}.station-badge{width:54px;height:54px;background:#e5e9dc;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:26px;margin-bottom:17px}.sidebar p{font-size:12px;color:var(--muted);line-height:2.1}.sidebar .side-block{margin-top:30px;padding-top:23px;border-top:1px solid var(--line)}.mini-label{font:9px/1.5 ui-monospace,monospace;letter-spacing:1.6px;color:var(--muted);margin-bottom:12px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tag{font-size:10px;padding:3px 9px;border:1px solid var(--line);border-radius:2px;color:#79816f}.side-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:9px}.side-line strong{font-weight:400;color:var(--ink)}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.work{border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:transform .2s,border-color .2s}.work:hover{transform:translateY(-3px);border-color:#aab79f}.work-visual{height:155px;position:relative;display:flex;align-items:center;justify-content:center;gap:17px;overflow:hidden;background:#e6e9df;background-image:linear-gradient(#a2b19822 1px,transparent 1px),linear-gradient(90deg,#a2b19822 1px,transparent 1px);background-size:25px 25px}.work-visual .wind-icon{font:75px/1 var(--serif);color:#738b73;transform:rotate(-30deg)}.work-visual .wind-text{font:10px/2 ui-monospace,monospace;letter-spacing:2px;color:#71816a}.work-visual.paper{background:#ede7dc;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 22px,#cfc5b550 23px,transparent 24px)}.paper-illustration{border:1px solid #b8b8a5;transform:rotate(-5deg);background:var(--paper);padding:20px 30px;box-shadow:7px 6px 0 #d8d4c6;font:18px/1.8 var(--serif);color:#6e7863}.work-info{padding:21px 24px}.work-info h3{font:19px/1.6 var(--serif);margin-bottom:7px;letter-spacing:1px}.work-info p{font-size:12px;color:var(--muted);margin-bottom:16px}.work-info .meta{justify-content:space-between}.bottom-note{margin:48px 0 8px;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.bottom-note em{font:italic 19px var(--serif);color:#89937c}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:57px;padding-top:27px;padding-bottom:35px;border-top:1px solid var(--line)}.footer>a{font:17px var(--serif)}.footer>a span{display:block;font:10px/2.4 var(--sans);color:var(--muted);letter-spacing:1px}.footer>div{font:9px/2 ui-monospace,monospace;letter-spacing:1.5px;color:var(--muted)}.footer small{display:block;font:10px/2 var(--sans);letter-spacing:0}.footer .top-link{border:1px solid var(--line);width:31px;height:31px;display:grid;place-items:center;font-size:19px}.page-intro{padding:57px 0 28px}.page-intro h1{font:38px/1.6 var(--serif);letter-spacing:3px;margin:15px 0 12px}.page-intro p{font-size:13px;color:var(--muted)}.notes-page{max-width:800px}.empty{padding:35px 0;font-size:13px;color:var(--muted)}.article{max-width:760px;margin:48px auto 0}.back{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:28px}.article h1{font:37px/1.6 var(--serif);letter-spacing:1.5px;margin:14px 0 18px}.article .lead{font-size:15px;color:var(--muted);line-height:2;margin-bottom:24px}.article-head{padding-bottom:28px;border-bottom:1px solid var(--line)}.demo-label{font-size:10px;border:1px solid #cfbba4;padding:2px 7px;color:#9a7d5a}.prose{padding:25px 0;font-size:15px;line-height:2.1;overflow-wrap:anywhere}.prose h2{font:25px/1.7 var(--serif);margin:30px 0 15px}.prose h3{font:20px/1.8 var(--serif);margin:25px 0 10px}.prose p{margin:15px 0}.prose ul,.prose ol{padding-left:24px}.prose blockquote{margin:24px 0;padding:10px 21px;border-left:2px solid #98a38b;background:#e9ece26b;color:#707b67}.prose a{border-bottom:1px solid #a5b194;color:var(--green)}.prose code{font:13px/1.8 ui-monospace,Consolas,monospace;background:#e9e9df;padding:2px 5px;border-radius:3px}.code-block{margin:24px 0;border:1px solid #d7ddcf;border-radius:4px;overflow:hidden;background:#edf0e7}.code-head{display:flex;justify-content:space-between;align-items:center;padding:7px 16px;border-bottom:1px solid #d7ddcf;font:10px/1.8 ui-monospace,monospace;color:#74806c}.code-head button{border:0;background:none;font-size:11px;padding:3px 6px;color:#64745b}.code-block pre{margin:0;padding:20px;overflow:auto;font:12px/1.9 ui-monospace,Consolas,monospace}.code-block pre code{font:inherit;background:none;padding:0}.tok-key{color:#8d6656}.tok-string{color:#657f50}.tok-number{color:#61849c}.tok-comment{color:#8e9985;font-style:italic}.article-end{border-top:1px solid var(--line);padding-top:25px;color:var(--muted);font-size:12px}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;margin-top:20px}.about-grid .prose{padding-top:0}.about-map{align-self:start;background:#e8ebdf;border:1px solid var(--line);padding:23px;transform:rotate(1deg)}.about-map img{display:block}.about-map p{font-size:11px;color:var(--muted);margin-top:10px;text-align:center}.lab{border:1px solid var(--line);padding:25px;margin:27px 0;border-radius:3px;background:#f0f0e5}.lab-layout{display:grid;grid-template-columns:1fr 220px;gap:28px;align-items:center}.lab label{display:block;font-size:12px;margin-bottom:14px;color:var(--muted)}.lab input{width:100%;background:var(--paper);border:1px solid #c7cebb;border-radius:3px;padding:8px 10px;color:var(--ink);margin-top:5px}.lab-output{font:20px var(--serif);color:var(--green);margin:15px 0}.lab-note{font-size:11px!important;color:var(--muted)}.wind-diagram{background:#e5e9dc;border-radius:50%;width:220px;max-width:100%;height:auto}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#394e3d;color:var(--paper);padding:8px 18px;border-radius:3px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:26px;width:min(580px,calc(100vw - 32px));max-height:80vh;box-shadow:0 20px 100px #273a2240}dialog::backdrop{background:#29342550;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font:24px var(--serif)}.icon-button{font-size:27px}.search-field input{width:100%;border:0;border-bottom:1px solid #aeb8a1;background:transparent;padding:15px 0;margin:12px 0;color:var(--ink)}.search-result{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.search-result span{display:block;font-size:10px;color:var(--muted)}.search-hint{font-size:10px;color:var(--muted);margin-top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:10px;top:-60px;padding:10px;background:var(--green);color:white;z-index:100}.skip:focus{top:10px}@media(min-width:1400px){.wrap{max-width:1220px}.hero{padding-block:70px}.hero h1{font-size:53px}}@media(max-width:850px){.wrap{padding-inline:24px}.header{height:96px}.brand{font-size:20px}.header nav{gap:20px}.hero h1{font-size:36px;letter-spacing:1px}.hero{padding-top:43px;gap:7px;min-height:370px}.hero-art{padding:0}.content-grid{gap:28px;grid-template-columns:minmax(0,1fr) 210px}.sidebar{padding-left:20px}.feature-content{padding:25px}.featured h2{font-size:22px}.hero p br{display:none}}@media(max-width:600px){.wrap{padding-inline:20px}.header{height:100px;gap:10px;flex-wrap:wrap;align-content:center}.brand{font-size:20px;gap:9px}.brand img{width:27px;height:27px}.brand small{font-size:8px;letter-spacing:2px}.header nav{width:100%;justify-content:flex-end;gap:24px;margin-top:-3px;font-size:11px}.search-button{padding:2px}.search-button svg{width:16px;height:16px}.hero{grid-template-columns:1fr;padding:40px 0 39px;gap:27px}.hero h1{font-size:36px;margin-top:20px;line-height:1.65;letter-spacing:2px}.hero p{max-width:100%;font-size:12px}.hero-actions{margin-top:22px}.hero-art{max-width:440px;margin:auto;width:100%;padding:0 8px}.hero-art:after{right:24px;bottom:-10px;font-size:8px}.station-strip{gap:8px;font-size:9px;padding-block:12px}.station-strip .strip-last{display:none}.section{padding-top:34px}.section-title{font-size:22px}.section-title small{font-size:8px;margin-left:8px}.featured{grid-template-columns:1fr}.feature-visual{min-height:175px}.feature-visual:after{font-size:105px;top:20px}.feature-content{padding:23px}.featured h2{font-size:23px}.content-grid{grid-template-columns:1fr;margin-top:34px;gap:34px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:23px}.sidebar .side-block{margin:0;padding:0;border:0}.sidebar .side-block:last-child{display:none}.sidebar p{font-size:11px}.station-badge{width:40px;height:40px;font-size:22px;margin-bottom:13px}.works-grid{grid-template-columns:1fr}.work-visual{height:155px}.post-row{grid-template-columns:1fr 66px;padding:19px 0;gap:15px}.mini-art{height:66px}.post-row h3{font-size:18px}.bottom-note{margin-top:34px;padding-top:20px;align-items:start;gap:20px}.bottom-note em{font-size:15px}.footer{margin-top:30px;flex-wrap:wrap;gap:18px}.footer>a{font-size:16px}.footer>div{font-size:8px;order:3;width:100%}.footer .top-link{margin-left:auto}.page-intro{padding-top:37px}.page-intro h1{font-size:32px}.article{margin-top:30px}.article h1{font-size:29px}.article .lead{font-size:13px}.prose{font-size:14px}.prose h2{font-size:23px}.about-grid{grid-template-columns:1fr;gap:20px}.about-map{max-width:420px}.lab{padding:18px}.lab-layout{grid-template-columns:1fr}.wind-diagram{justify-self:center;width:190px}}
:root{--muted:#707568}.hero-art img,.about-map img{height:auto}

/* 阅读与导航：沿用纸张、等压线和灰绿色的视觉语言。 */
main:focus{outline:none}
.hero h1{letter-spacing:2px}
.hero{gap:35px;padding-bottom:72px}
.hero-stage{position:relative;min-width:0;padding:30px 0 34px}
.hero-stage .hero-art{padding:0}
.hero-stage .hero-art:after{display:none}
.hero-footnote{font-size:11px;color:var(--muted);margin-top:30px;display:flex;align-items:center;gap:9px;letter-spacing:.5px}
.small-cross{font-size:20px;line-height:1;color:var(--rust)}
.map-node{position:absolute;width:209px;padding:16px 18px;background:#faf8f0f2;border:1px solid #cbd2c1;border-radius:4px;box-shadow:0 6px 20px #455c4010;transition:transform .2s,box-shadow .2s;backdrop-filter:blur(7px)}
.map-node:hover{transform:translateY(-4px);box-shadow:0 10px 28px #455c4020}
.node-note{top:0;right:6px;transform:rotate(2deg)}
.node-work{bottom:5px;left:-12px;transform:rotate(-2deg);background:#e9eee5f2}
.node-label{font:9px/1.8 ui-monospace,Consolas,monospace;letter-spacing:1px;color:var(--muted);display:flex;align-items:center;gap:7px}
.node-label i{display:inline-block;width:5px;height:5px;background:var(--rust);border-radius:50%}
.node-work .node-label i{background:var(--blue)}
.map-node strong{display:block;font:17px/1.7 var(--serif);margin:9px 0 12px;color:var(--ink)}
.node-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--green)}
.node-foot b{font-weight:400;font-size:16px}
.map-coordinate{position:absolute;right:10px;bottom:8px;font:8px/1.6 ui-monospace,Consolas,monospace;letter-spacing:1.3px;color:var(--muted)}
.hero p{max-width:400px}
.work{transition:transform .2s,border-color .2s,box-shadow .2s}
.work:hover{transform:translateY(-3px);border-color:#b6c1aa;box-shadow:0 10px 28px #455c4010}
.work-label{display:block;font:10px/1.6 ui-monospace,Consolas,monospace;color:var(--green);margin-bottom:8px;letter-spacing:1px}
.project-icon{font:72px/1 var(--serif);color:#738b73}
.work-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px}
.work-detail .prose{max-width:740px;font-size:16px}
.hero-art img{border-radius:5px}
.post-row .mini-art{transition:transform .2s}
.post-row:hover .mini-art{transform:rotate(-3deg)}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:60;background:#e2e5d9;pointer-events:none}
.reading-progress[hidden]{display:none}
.reading-progress>span{display:block;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left}
.header nav a,.search-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.search-button{min-width:44px}
.filter{min-height:44px}
.filter-count{font:10px/1 ui-monospace,Consolas,monospace;opacity:.7;margin-left:3px}
.archive-caption{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 0 17px;color:var(--muted);font-size:11px}
.article{max-width:1040px}
.article-head{max-width:740px}
.article-tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px;font-size:11px;color:var(--muted)}
.article-tools button{min-height:40px;padding:5px 0 5px 12px;border:0;background:none;color:var(--green);font-size:12px;white-space:nowrap}
.article-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(180px,1fr);gap:48px;align-items:start}
.article-layout .prose{min-width:0;font-size:16px;line-height:2.1}
.prose h2,.prose h3{scroll-margin-top:36px}
.prose h2:focus,.prose h3:focus{outline:none}
.article-toc{position:sticky;top:42px;padding-top:42px;font-size:12px;color:var(--muted)}
.article-toc details{padding-left:20px;border-left:1px solid #cdd4c4}
.article-toc summary{list-style:none;cursor:pointer;color:var(--green);font-size:12px;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.article-toc summary::-webkit-details-marker{display:none}
.article-toc summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.article-toc nav{display:grid;gap:4px;margin-top:14px}
.article-toc nav a{padding:7px 0;line-height:1.8;transition:color .15s}
.article-toc nav a:hover,.article-toc nav a.current{color:var(--green)}
.article-toc nav a.current{font-weight:600}
.article-toc .toc-sub{padding-left:12px;font-size:11px}
.article-toc p{font:10px/1.6 ui-monospace,Consolas,monospace;margin-top:23px;padding-top:16px;border-top:1px solid var(--line);letter-spacing:.5px}
.article-end,.adjacent-posts{max-width:740px}
.adjacent-posts{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}
.adjacent-posts a{padding:10px 0;display:block;min-width:0}
.adjacent-posts a:last-child{text-align:right}
.adjacent-posts span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}
.adjacent-posts strong{font:17px/1.9 var(--serif);color:var(--green);overflow-wrap:anywhere}
.code-head button{min-height:36px}
.code-block pre:focus-visible{outline:2px solid var(--green);outline-offset:-3px}
.search-count{font-size:11px;color:var(--muted);margin:0 0 6px}
#search-results{max-height:48vh;overflow-y:auto;overscroll-behavior:contain;padding-inline:5px;margin-inline:-5px}
.search-result{padding:17px 5px;border-radius:2px}
.search-result:hover,.search-result:focus-visible{background:#e8ecdf}
.search-result strong{display:block;font:18px/1.8 var(--serif);margin:4px 0;color:var(--ink)}
.search-result p{font-size:12px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}
.search-result span{font-size:10px;letter-spacing:.5px}
.icon-button{min-width:44px;min-height:44px}
.search-hint{line-height:1.8}
@media(max-width:950px){
  .article-layout{grid-template-columns:minmax(0,1fr) 170px;gap:30px}
  .hero{gap:20px}
  .map-node{width:180px;padding:13px 15px}
  .map-node strong{font-size:15px}
  .node-work{left:0;bottom:-10px}
  .hero-footnote{font-size:10px}
}
@media(max-width:760px){
  .article{max-width:740px}
  .article-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .article-toc{position:static;order:-1;padding-top:22px}
  .article-toc details{border:1px solid var(--line);padding:12px 18px;background:#e9ece245;border-radius:3px}
  .article-toc summary{min-height:28px}
  .article-toc nav{grid-template-columns:1fr 1fr;column-gap:20px;margin-top:10px}
  .article-toc nav a{font-size:12px;min-height:40px}
  .article-toc p{margin-top:10px;padding-top:10px}
}
@media(max-width:600px){
  .header{height:118px;row-gap:8px}
  .header nav{gap:21px;margin:0;justify-content:space-between;font-size:12px}
  .header nav a{min-width:38px}
  .hero p{font-size:13px}
  .hero{gap:32px;padding-bottom:37px}
  .hero-stage{max-width:440px;width:100%;margin:0 auto;padding:28px 0 42px}
  .hero-stage .hero-art{width:100%}
  .map-node{width:174px;padding:12px 14px}
  .map-node strong{font-size:15px;margin:7px 0 8px}
  .node-note{right:0;top:0}
  .node-work{bottom:0}
  .node-label{font-size:8px}
  .map-coordinate{right:0;bottom:3px;font-size:7px;max-width:110px;text-align:right}
  .hero-footnote{margin-top:21px;font-size:10px}
  .station-strip{flex-wrap:wrap}
  .section-heading{gap:12px}
  .post-row p,.work-info p{font-size:13px;line-height:1.9}
  .meta{flex-wrap:wrap}
  .post-row h3{line-height:1.9}
  .filter{font-size:12px;padding-inline:12px}
  .filters{gap:5px;flex-wrap:wrap}
  .article-layout .prose{font-size:16px;line-height:2}
  .article .lead{font-size:14px}
  .article-tools{gap:8px}
  .article-tools .reading-label{font-size:10px}
  .article-toc nav{grid-template-columns:1fr}
  .article-toc nav a{padding:7px 0}
  .adjacent-posts{gap:20px}
  .adjacent-posts strong{font-size:15px}
  .archive-caption{font-size:10px}
  .search-result strong{font-size:17px}
  .code-block pre{font-size:12px;padding:17px 14px}
  dialog{padding:20px;max-height:86dvh}
  #search-results{max-height:48dvh}
}
