/* Two-column reading shell: left /WRITINGS rail + one article column. No right rail. */
.article-terminal{grid-template-rows:32px 24px minmax(0,1fr) 42px 24px}
.article-terminal .writings-layout{min-height:0;height:100%;overflow:hidden}
.article-terminal .categories{padding:28px 18px 16px;min-height:0;height:100%;overflow:hidden}
.article-terminal .sidebar-title{margin-bottom:21px;flex-shrink:0}
.back-link{display:block;font-size:14px;line-height:22px;margin:0 10px 15px;width:max-content;flex-shrink:0}
.back-link,.article-path a,.article-end a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color 140ms ease-out}
.back-link:is(:hover,:focus-visible),.article-path a:is(:hover,:focus-visible),.article-end a:is(:hover,:focus-visible){text-decoration-color:currentColor}
.article-meta>a:hover{text-decoration:underline;text-underline-offset:4px}
.article-navigation{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;padding:3px;flex:1 1 auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b0b0aa var(--bg)}
.article-navigation::-webkit-scrollbar{width:8px;height:8px;background:var(--bg)}
.article-navigation::-webkit-scrollbar-track{background:#121210}
.article-navigation::-webkit-scrollbar-thumb{background:#b0b0aa;border:1px solid var(--bg)}
.article-navigation a{display:flex;align-items:center;gap:8px;box-sizing:border-box;flex:0 0 36px;height:36px;border:1px solid transparent;padding:0 5px;font-size:13px;line-height:20px;overflow:hidden;transition:background-color 120ms ease-out}
.article-navigation a>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.article-navigation a[aria-current=page]{border-color:var(--ink);outline:1px dotted #8d8d87;outline-offset:2px;transform:none}
.article-navigation a:hover{background:#1b1b19}
.detail-panel{display:flex;flex-direction:column;min-height:0;padding:10px}
.article-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#85857e var(--bg);scrollbar-width:auto}
.article-scroll::-webkit-scrollbar{width:10px;height:10px}
.article-scroll::-webkit-scrollbar-track{background:var(--bg)}
.article-scroll::-webkit-scrollbar-thumb{background:#85857e;border:2px solid var(--bg)}
.article-scroll:focus-visible{outline:1px dashed #85857e;outline-offset:-3px}
.article-scroll article{max-width:1040px;margin:0 auto;padding:23px 28px 36px}
.article-path{display:flex;align-items:center;gap:12px;font-size:10px;line-height:18px;letter-spacing:.5px;color:var(--muted);margin-bottom:18px}
.article-path-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.article-heading h1{font-size:30px;line-height:1.5;letter-spacing:.4px;font-weight:500;text-wrap:pretty}
.article-subtitle{font-size:16px;line-height:1.9;letter-spacing:.3px;margin-top:10px;color:var(--muted)}
.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:10px;line-height:18px;margin-top:18px}
.article-meta .article-tags{gap:8px}
.article-meta .article-tags span{padding:4px 8px}
.article-meta>a{margin-left:auto;color:var(--muted)}
.article-heading .short-rule{margin:18px 0 20px}
.article-body{font-size:15px;line-height:1.95;letter-spacing:.2px;overflow-wrap:anywhere}
.article-body p{margin:0 0 18px}
.article-body h2,.article-body h3,.article-body h4{font-weight:500;line-height:1.7;margin:30px 0 16px;letter-spacing:.5px}
.article-body h2{font-size:23px}
.article-body h3{font-size:20px}
.article-body h4{font-size:17px}
.article-body hr{border:0;border-top:1px dashed #50504b;margin:28px 0}
.article-body blockquote{white-space:normal;font-size:inherit;line-height:inherit;margin:22px 0;padding:4px 0 4px 20px;border-left:2px solid #aaa;color:var(--muted)}
.article-body blockquote p:last-child{margin-bottom:0}
.article-body ul,.article-body ol{padding-left:26px;margin:18px 0}
.article-body li{margin:7px 0}
.article-body a{text-decoration:underline;text-underline-offset:4px}
.article-body img,.article-body video{display:block;width:auto;max-width:100%;height:auto;margin:24px auto;background:#0d0d0c}
.article-body video{width:100%;max-height:70vh}
.article-body pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px dashed #62625b;background:#0c0c0b;padding:18px 20px;margin:22px 0;font-size:12px;line-height:1.9;letter-spacing:0;tab-size:2}
.article-body code{font-family:inherit}
.article-body :not(pre)>code{background:#20201d;padding:2px 4px}
.article-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:22px 0}
.article-body th,.article-body td{border:1px solid #62625b;padding:8px 12px}
.article-end{display:flex;justify-content:space-between;gap:20px;border-top:1px dashed #62625b;margin-top:36px;padding-top:22px;font-size:11px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.article-navigation a,.back-link,.article-path a,.article-end a{transition:none}}
