/* Structural drawing is made from actual + - | [ ] / * characters.
   Headings, labels and prose deliberately retain the readable UI font. */
:root{--ascii-ink:#517b89;--ascii-hot:var(--accent)}
.ascii-decor{position:absolute;inset:0;pointer-events:none!important;user-select:none;z-index:1;color:var(--ascii-ink);overflow:hidden;transition:color .18s}
.ascii-edge{position:absolute;margin:0;padding:0;border:0!important;background:none;white-space:pre;font:12px/14px Zpix,monospace;font-weight:400;letter-spacing:0;overflow:visible;pointer-events:none;box-shadow:none}
.ascii-edge-top{left:0;right:0;top:0;height:14px}.ascii-edge-bottom{left:0;right:0;bottom:0;height:14px}.ascii-edge-left{left:0;top:14px;bottom:8px;width:8px}.ascii-edge-right{right:0;top:14px;bottom:8px;width:8px;text-align:right}
.ascii-top .ascii-edge-top,.ascii-horizontal .ascii-edge-top{top:-5px}.ascii-bottom .ascii-edge-bottom,.ascii-horizontal .ascii-edge-bottom{bottom:-5px}
.header,.recent-strip,.dropdown,.dropdown-link,.dropdown-more,.primary-link,.entry-list,.entry-row,.filter-button,.search-dialog,.search-dialog input,.search-result,.load-error,.recent-card{border:0;box-shadow:none;border-radius:0}
.header{position:relative}.navigation{gap:30px;flex-wrap:wrap}.nav-label{letter-spacing:1px}.nav-toggle{font-family:Zpix,monospace;font-size:12px;letter-spacing:0;min-width:28px;padding:15px 3px;color:var(--ascii-ink)}.nav-item[data-open=true] .nav-toggle{transform:none;color:var(--accent)}
.brand-mark{font-family:Zpix,monospace;font-size:18px;letter-spacing:-2px}.mini-mark{font-family:Zpix,monospace;font-size:12px;letter-spacing:-2px}.wordmark{gap:12px}.ascii-icon{font-family:Zpix,monospace;font-style:normal;font-weight:400;letter-spacing:0}.live-dot{background:none;box-shadow:none;width:8px;height:12px;border-radius:0;color:var(--accent);font:12px/12px Zpix,monospace}.live-dot::before{content:'*'}.icon-button{font:12px/1 Zpix,monospace;letter-spacing:1px;min-height:30px;padding:6px;color:var(--accent)}
.dropdown{padding:26px 25px 18px;background:var(--bg);width:345px;box-shadow:none}.dropdown>.ascii-decor{color:var(--accent);opacity:.7}.dropdown::after{content:'v';position:absolute;top:-15px;left:38px;font:12px/14px Zpix,monospace;color:var(--accent);pointer-events:none}.dropdown-art{height:30px;letter-spacing:4px;font:11px/20px Zpix,monospace;opacity:.6}.dropdown-eyebrow{font-family:Zpix,monospace;letter-spacing:2px;font-size:9px;margin-bottom:16px}.dropdown-link{padding:17px 7px 14px;position:relative}.dropdown-link:hover{padding-left:7px}.dropdown-link:hover::before{content:'>';position:absolute;left:-8px;top:18px;font:12px/1 Zpix,monospace;color:var(--accent)}.dropdown-link small{margin-top:5px}.dropdown-more{padding:18px 7px 4px;position:relative;font-size:11px}.dropdown-more>.ascii-decor{color:var(--accent);opacity:.6}
.primary-link{position:relative;padding:16px 22px;gap:28px;min-height:49px;isolation:isolate;transition:color .2s}.primary-link>.ascii-decor{color:var(--accent);opacity:.85}.primary-link:hover{background:transparent;color:var(--text)}.primary-link:hover>.ascii-decor{color:var(--text);opacity:1}.primary-link span.ascii-icon{font-size:13px}.primary-link:active{transform:translateY(1px)}
.caption-line{border:0;width:34px;margin-top:0;font:11px/16px Zpix,monospace}.caption-line::before{content:'-->'}.art-caption{bottom:9%}.footnote-star{font:16px/1 Zpix,monospace}
.recent-strip{padding:14px 0;min-height:110px}.recent-items{gap:26px}.recent-card{padding:12px 0 12px 15px;position:relative}.recent-card::before{content:':\A:';position:absolute;left:0;top:17px;white-space:pre;font:12px/15px Zpix,monospace;color:var(--ascii-ink)}.recent-title i{font-family:Zpix,monospace;font-size:12px}.recent-label>.recent-subtitle,.recent-meta{font-family:Zpix,monospace;letter-spacing:1px}.eyebrow{font-family:Zpix,monospace}.hero-actions .text-link{display:inline-flex;align-items:center;gap:9px}.text-link span.ascii-icon{font-size:15px;margin:0}
.footer-links>a::before,.footer-links>button::before{content:'[';font-family:Zpix,monospace;color:var(--ascii-ink);margin-right:5px}.footer-links>a::after,.footer-links>button::after{content:']';font-family:Zpix,monospace;color:var(--ascii-ink);margin-left:5px}.footer-links{gap:20px}.quiet-button::before{content:'[';font-family:Zpix,monospace;color:var(--ascii-ink);margin-right:6px}.quiet-button::after{content:']';font-family:Zpix,monospace;color:var(--ascii-ink);margin-left:6px}
.entry-row{padding:29px 8px 28px}.entry-arrow{font-family:Zpix,monospace;font-size:14px;padding-top:4px}.entry-tag{font-family:Zpix,monospace}.entry-row:hover>.ascii-decor,.search-result:hover>.ascii-decor{color:var(--accent)}.entry-row:hover .entry-tag::before{content:'> ';font-family:Zpix,monospace}.filter-button{position:relative;padding:12px 19px;min-height:38px;background:transparent}.filter-button[aria-pressed=true]>.ascii-decor{color:var(--accent)}.filter-button[aria-pressed=true]{color:var(--accent)}
.search-dialog{background:var(--bg);padding:30px 32px;overflow:visible}.search-dialog>.ascii-decor{color:var(--accent)}.search-dialog::backdrop{background:#05080ce8;backdrop-filter:none}.search-input-shell{position:relative;margin-bottom:12px;padding-bottom:5px}.search-input-shell::before{content:'>';position:absolute;left:0;top:23px;font:16px/1 Zpix,monospace;color:var(--accent)}.search-dialog input{margin:0;padding:20px 0 20px 21px;border:0;outline-offset:3px}.search-dialog input::-webkit-search-cancel-button{-webkit-appearance:none}.search-result{position:relative;padding:19px 7px}.search-result small{margin-top:7px}.load-error{padding:32px;background:var(--bg)}.load-error>.ascii-decor{color:var(--accent)}
.ascii-host:focus-visible>.ascii-decor,.ascii-host:focus-within>.ascii-decor{color:var(--accent)}
.search-dialog input:focus-visible{outline:none}.search-input-shell:focus-within>.ascii-decor{color:var(--text)}.search-results{max-height:54svh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ascii-ink) transparent}
@media(forced-colors:active){.search-dialog input:focus-visible{outline:2px solid Highlight}}
.nav-item[data-open=true] .dropdown>.ascii-decor{animation:ascii-frame-in .24s steps(5,end) both}@keyframes ascii-frame-in{from{clip-path:inset(0 90% 80% 0)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.nav-item[data-open=true] .dropdown>.ascii-decor{animation:none}}
@media(max-width:1050px){.navigation{gap:18px}.dropdown{width:310px}.footer-links{gap:13px}}
@media(max-width:680px){.navigation{gap:20px;flex-wrap:nowrap}.nav-toggle{font-size:10px;min-width:25px;padding:8px 1px}.brand-mark{font-size:15px;letter-spacing:-2px}.wordmark{gap:8px}.icon-button{font-size:10px;min-height:22px}.dropdown{width:min(320px,calc(100vw - 44px));padding:25px 21px 16px}.dropdown-link{font-size:12px;padding:16px 5px}.dropdown-link:hover{padding-left:5px}.dropdown-more{padding-left:5px;padding-right:5px}.dropdown::after{left:auto;right:25px}.primary-link{padding:14px 20px;min-height:45px;gap:22px}.hero-actions{gap:24px}.recent-strip{padding:27px 0}.recent-card{padding:17px 0 17px 15px;border:0}.recent-card::before{top:22px}.recent-label h2{font-size:11px}.art-caption{bottom:46px;font-size:7px;left:0;width:90%}.footer-links{gap:16px}.entry-row{padding:26px 5px;gap:10px;grid-template-columns:60px 1fr 20px}.entry-arrow{font-size:12px}.search-dialog{padding:28px 24px;margin-top:6svh}.search-dialog input{font-size:14px}.search-results{max-height:60svh}}
