:root{--ink:#e8eee8;--muted:#89958b;--dim:#526056;--panel:#101510;--panel-2:#151b15;--line:#293329;--accent:#b7f34a;--paper:#0b0e0b;--danger:#ff6b5f;--mono:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;--serif:Iowan Old Style,"Palatino Linotype",Palatino,Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}
::selection{background:var(--accent);color:#0b0e0b}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.scanlines{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.055;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,#fff 4px)}
.skip-link{position:absolute;z-index:100;left:16px;top:-80px;background:var(--accent);color:#0a0a0a;padding:10px 14px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(11,14,11,.92);backdrop-filter:blur(14px)}
.header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.wordmark{font-size:20px;font-weight:700;letter-spacing:-.04em}.wordmark .prompt{color:var(--accent)}.cursor{color:var(--accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
.site-nav{display:flex;align-items:center;gap:30px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.site-nav a:hover,.site-nav a:focus-visible{color:var(--accent)}
.nav-toggle,.mobile-nav{display:none}
.site-main{padding-block:54px 100px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:80px;align-items:end;padding:56px 0 74px;border-bottom:1px solid var(--line)}
.eyebrow,.side-label{margin:0 0 16px;color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.hero h1,.page-heading h1,.post-header h1{max-width:820px;margin:0;font-family:var(--serif);font-size:clamp(40px,7vw,78px);font-weight:400;letter-spacing:-.055em;line-height:.98;text-wrap:balance}
.hero>div>p:last-child{max-width:670px;margin:28px 0 0;color:var(--muted);font-size:17px}
.hero-readout{display:grid;grid-template-columns:1fr auto;gap:9px 20px;border:1px solid var(--line);background:var(--panel);padding:18px;font-size:11px;letter-spacing:.08em}.hero-readout span{color:var(--dim)}.hero-readout strong{color:var(--accent);text-align:right}
.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;padding-top:64px}
.post-stream{min-width:0}.post-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--line)}.post-card:not(:has(.post-card-image)){grid-template-columns:1fr}
.post-card-image{align-self:start;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.post-card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05);transition:transform .35s,filter .35s}.post-card-image:hover img{transform:scale(1.025);filter:saturate(1)}
.post-meta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.post-meta span+span:before,.post-meta time+span:before{content:"·";padding-right:12px;color:var(--dim)}
.post-card h2{margin:0 0 12px;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.15;letter-spacing:-.025em}.post-card h2 a:hover{color:var(--accent)}
.post-card-body>p{margin:0;color:#aeb7af}.post-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:22px}.read-link{color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.read-link:hover span{display:inline-block;transform:translateX(3px)}
.tag-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.tag-row a{color:var(--muted);font-size:11px}.tag-row a:hover{color:var(--accent)}
.sidebar{align-self:start;position:sticky;top:110px}.side-block{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--line)}.side-block h2{margin:0 0 8px;font-family:var(--serif);font-size:22px;font-weight:400}.side-block>p:not(.side-label){color:var(--muted);font-size:12px}.search-form{display:grid;grid-template-columns:1fr 40px;border:1px solid var(--line);background:var(--panel)}.search-form input{min-width:0;border:0;background:transparent;color:var(--ink);padding:10px 12px;outline:0}.search-form:focus-within{border-color:var(--accent)}.search-form button{border:0;border-left:1px solid var(--line);background:transparent;color:var(--accent);cursor:pointer}.side-tags{display:flex;flex-direction:column;gap:8px}.side-tags a,.archive-mini a{display:flex;justify-content:space-between;color:#aab4ac;font-size:12px}.side-tags a:hover,.archive-mini a:hover{color:var(--accent)}.side-tags small,.archive-mini small{color:var(--dim)}.archive-mini{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:7px}.muted-link{color:var(--muted);font-size:11px}.muted-link:hover{color:var(--accent)}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin-top:15px;font-size:12px}.pagination a:last-child{text-align:right}.pagination a{color:var(--accent)}.pagination>span{color:var(--dim)}
.page-heading{padding:52px 0 60px;border-bottom:1px solid var(--line);margin-bottom:60px}.page-heading h1{font-size:clamp(44px,7vw,76px)}.lede{max-width:700px;margin:24px 0 0;color:var(--muted);font-size:17px}
.single-post{width:min(850px,100%);margin-inline:auto}.post-header{padding:58px 0 48px}.post-header h1{font-size:clamp(44px,7vw,74px)}.post-header .tag-row{justify-content:flex-start;margin-top:24px}.post-deck{max-width:720px;margin:24px 0 0;color:#b5beb6;font-family:var(--serif);font-size:21px;line-height:1.5}.post-cover{margin:0 0 54px}.post-cover img{width:100%;max-height:620px;object-fit:cover;border:1px solid var(--line)}
.post-content{font-family:var(--serif);font-size:19px;line-height:1.78;color:#d8ded9}.post-content>*{max-width:720px;margin-left:auto;margin-right:auto}.post-content p{margin-top:0;margin-bottom:1.45em}.post-content h2,.post-content h3,.post-content h4{font-family:var(--mono);line-height:1.25;color:var(--ink);letter-spacing:-.025em}.post-content h2{margin-top:2.4em;font-size:28px}.post-content h3{margin-top:2em;font-size:21px}.post-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.post-content blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 24px;color:#bac4bb;font-style:italic}.post-content pre{overflow:auto;max-width:100%;padding:22px;border:1px solid var(--line);background:var(--panel);font:13px/1.7 var(--mono)}.post-content code{font-family:var(--mono);font-size:.83em;color:var(--accent)}.post-content img,.post-content figure{max-width:100%}.post-content img{border:1px solid var(--line);margin-block:2em}.post-content figcaption{margin-top:-1.5em;color:var(--muted);font:11px/1.5 var(--mono);text-align:center}.post-content table{width:100%;border-collapse:collapse;font:13px/1.5 var(--mono)}.post-content td,.post-content th{padding:10px;border:1px solid var(--line);text-align:left}
.post-signoff{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-top:70px;padding:24px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.post-signoff>span{padding:4px 7px;background:var(--accent);color:#0a0a0a;font-weight:700}.post-signoff a{color:var(--accent)}
.gallery-grid{columns:3;column-gap:20px}.gallery-grid figure{break-inside:avoid;margin:0 0 20px;padding:0}.gallery-open{display:block;width:100%;border:1px solid var(--line);padding:0;background:var(--panel);cursor:zoom-in;overflow:hidden}.gallery-open img{width:100%;filter:saturate(.78);transition:.3s}.gallery-open:hover img{filter:saturate(1);transform:scale(1.015)}.gallery-grid figcaption{padding:8px 2px;color:var(--muted);font-size:11px}.lightbox{width:min(1100px,94vw);max-height:92vh;border:1px solid var(--line);padding:10px;background:#080a08}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{max-height:86vh;margin:auto}.lightbox button{position:absolute;right:16px;top:16px;width:38px;height:38px;border:1px solid var(--line);background:#0b0e0b;color:var(--ink);cursor:pointer}
.archive-list{width:min(880px,100%);margin-inline:auto}.archive-list h2{position:sticky;top:75px;z-index:2;margin:42px 0 0;padding:14px 0 8px;background:var(--paper);color:var(--accent);font-size:12px;letter-spacing:.12em}.archive-list a{display:grid;grid-template-columns:90px 1fr auto;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.archive-list time{color:var(--muted);font-size:12px}.archive-list span{font-family:var(--serif);font-size:21px}.archive-list i{color:var(--dim);font-style:normal}.archive-list a:hover span,.archive-list a:hover i{color:var(--accent)}
.search-page-form{max-width:720px;margin:0 auto 54px}.search-page-form label{display:block;margin-bottom:8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.search-page-form div{display:grid;grid-template-columns:1fr auto}.search-page-form input,.search-page-form button{border:1px solid var(--line);padding:14px;background:var(--panel);color:var(--ink)}.search-page-form input:focus{border-color:var(--accent);outline:0}.search-page-form button{border-left:0;color:var(--accent);cursor:pointer}.search-results{width:min(850px,100%);margin:auto}
.prose-page{max-width:720px;margin:0 auto;font-family:var(--serif);font-size:19px;line-height:1.8}.prose-page h2{margin-top:2em;font-family:var(--mono);font-size:24px}.prose-page code{font-family:var(--mono);color:var(--accent)}.terminal-line{margin-top:50px!important;border:1px solid var(--line);background:var(--panel);padding:16px 20px;font:13px var(--mono)}.terminal-line span{color:var(--accent)}
.empty-state,.not-found{padding:70px 30px;border:1px dashed var(--line);text-align:center}.empty-state h2,.not-found h1{font-family:var(--serif);font-size:34px;font-weight:400}.empty-state p,.not-found p{color:var(--muted)}.error-code{margin:0;color:var(--accent)!important;font-size:70px;font-weight:700;line-height:1}.not-found{margin:80px auto;max-width:720px}
.preview-banner{position:sticky;top:75px;z-index:15;display:flex;align-items:center;gap:12px;margin:-30px 0 28px;padding:10px 14px;border:1px solid #5b682e;background:#171d10;color:var(--muted);font-size:11px}.preview-banner strong{color:var(--accent)}.preview-banner span{margin-right:auto}.preview-banner button{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:5px 8px;font:10px var(--mono);cursor:pointer}.preview-frame{transition:max-width .25s}.preview-frame.preview-mobile{max-width:430px;margin-inline:auto;border-inline:1px solid var(--line);padding-inline:18px}.related-notes{width:min(850px,100%);margin:72px auto 0;padding-top:38px;border-top:1px solid var(--line)}.related-notes h2{margin:0 0 22px;font-family:var(--serif);font-size:34px;font-weight:400}.related-notes>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-notes a{display:flex;flex-direction:column;min-height:180px;padding:18px;border:1px solid var(--line);background:var(--panel)}.related-notes time{color:var(--dim);font-size:10px}.related-notes strong{margin:15px 0 10px;font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.25}.related-notes span{margin-top:auto;color:var(--muted);font-size:11px}.related-notes a:hover{border-color:var(--accent)}.related-notes a:hover span{color:var(--accent)}
.site-footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:11px}.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.footer-grid p{margin:0}.footer-grid p:nth-child(2){text-align:center}.footer-grid p:last-child{text-align:right}.footer-grid a:hover{color:var(--accent)}.status-light{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:35px}.hero-readout{max-width:430px}.journal-layout{grid-template-columns:1fr}.sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.side-block{margin:0}.gallery-grid{columns:2}}
@media(max-width:680px){body{font-size:14px}.shell{width:min(100% - 28px,1180px)}.header-inner{height:64px}.site-nav{display:none}.nav-toggle{display:block;border:1px solid var(--line);background:transparent;color:var(--accent);padding:7px 10px;text-transform:uppercase;font-size:11px}.mobile-nav{padding:0 0 14px;grid-template-columns:repeat(2,1fr);gap:1px}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{background:var(--panel);padding:10px}.site-main{padding-block:28px 70px}.hero{padding:40px 0 52px}.hero h1{font-size:45px}.journal-layout{padding-top:45px}.post-card{grid-template-columns:1fr;gap:20px}.post-card-image{aspect-ratio:16/10}.post-card-foot{align-items:flex-start;flex-direction:column}.tag-row{justify-content:flex-start}.sidebar{grid-template-columns:1fr}.page-heading{padding:35px 0 40px;margin-bottom:40px}.post-header{padding-top:30px}.post-header h1{font-size:43px}.post-content{font-size:18px}.post-signoff{grid-template-columns:auto 1fr}.post-signoff a{grid-column:1/-1}.gallery-grid{columns:1}.archive-list a{grid-template-columns:66px 1fr auto}.archive-list span{font-size:18px}.footer-grid{grid-template-columns:1fr}.footer-grid p,.footer-grid p:nth-child(2),.footer-grid p:last-child{text-align:left}.preview-banner{position:static;flex-wrap:wrap;margin-top:0}.preview-banner span{width:100%;order:3}.related-notes>div{grid-template-columns:1fr}.related-notes a{min-height:140px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.scanlines{display:none}}
