@font-face{font-family:'MicroKnight';src:url('fonts/MicroKnight_v1.0.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Xerox Classic';src:url('fonts/XeroxClassic24-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Xerox Classic Small';src:url('fonts/XeroxClassic18-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--mono:'MicroKnight','Courier New',monospace;--sans:'MicroKnight','Courier New',monospace;--serif:'Xerox Classic','Times New Roman',serif;--serif-small:'Xerox Classic Small','Times New Roman',serif}
body{font-synthesis:none}
button,input,select,textarea,pre,code,kbd,samp{font-family:var(--mono)}
svg text{font-family:var(--mono)}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400}
/* Preserve the existing window sizes, surfaces, controls and dock. */
.titlebar{font:400 12px/16px var(--sans);letter-spacing:1px}
.pbody{font-size:13px;line-height:1.65}
#p-about .pbody{font-size:13px;line-height:1.7}
#p-works .work .wt b{font:400 18px/1.3 var(--serif-small);letter-spacing:0}
#p-works .work .wd{font-size:12px;line-height:1.5}
#p-works .work .wt i{font-size:10px;letter-spacing:1px}
#p-console .pbody{font-size:12px;line-height:1.5}
#p-console .project{padding:7px 8px}
#p-console .project>a{font:400 18px/1.3 var(--serif-small)}
#p-console .project p{font-size:12px;line-height:1.5;margin-top:3px}
#p-console .project-more{font-size:11px}
#p-console #clockline{font-size:10px}
#p-contact .mail{font-size:11px;letter-spacing:1px}
#p-contact .prompt{font-size:12px}
.spotify-meta{font-size:12px}
#spotify-title{font:400 18px/1.3 var(--serif-small)}
#spotify-state{font-size:10px;letter-spacing:.5px}
#spotify-album{font-size:11px}
.litany-track span{font-size:14px;letter-spacing:4px}
/* Keep ASCII grids in their original metrics; changing these distorts the art. */
#nameart,#p-ascii pre,#candle,.brand-mark{font-family:'Courier New',monospace}
.entry-product{font:400 42px/1.15 var(--serif);letter-spacing:-1px}
.entry-maker{font:400 18px/1.4 var(--serif-small);letter-spacing:0}
.entry-actions button{font:400 14px/1.4 var(--sans);letter-spacing:2px}
.entry-prompt{font-size:10px;letter-spacing:2px}
#dock button{font:400 12px/1.2 var(--mono);letter-spacing:2px}
/* Small spacing changes only, keeping the page's established structure. */
.prose{line-height:1.75}
.row .meta{line-height:1.6}
.d-title,.d-name{font:400 24px/1.3 var(--serif)}
.d-notes{font-size:14px;line-height:1.75}
.resume-container h1,.content h1{font:400 32px/1.2 var(--serif);letter-spacing:0}
@media(max-width:720px){.pbody{font-size:14px;line-height:1.65}.entry-product{font-size:31px}#p-console .project{padding-block:8px}}
@media(min-width:721px) and (max-height:950px){#p-wave svg{height:64px}}

@media(min-width:721px) and (max-width:1350px) and (max-height:850px){
  #p-wave svg{height:40px}
  #p-wave .spotify-art{width:48px;height:48px}
}
@media(min-width:721px) and (max-width:1350px) and (max-height:850px){#p-wave .now-playing{min-height:48px}}

/* Xerox Classic carries headings; Amiga faces carry interface and reading text. */
.titlebar .tl,.jp-hud .titlebar>span:first-child{font:400 14px/16px var(--serif-small);letter-spacing:.3px}
#loader pre{font:400 18px/1.35 var(--serif-small);letter-spacing:0}
#hexdump,#loadpct{font-family:var(--mono)}
.row .title,.row .name,.row-title{font:400 18px/1.3 var(--serif-small)}
.entry-title{font-family:var(--serif);font-weight:400}
.content h2,.content .item-head strong{font:400 18px/1.35 var(--serif-small);letter-spacing:0}
.jp-hud .wordmark .hero-title{font:400 20px/1.15 var(--serif-small);letter-spacing:0}
.jp-hud .detail h2{font:400 24px/1.3 var(--serif)}
.jp-hud .record strong{font:400 16px/1.4 var(--serif-small)}
.jp-hud .maplibregl-popup-content strong{font-family:var(--serif-small)}
/* Narrow system windows retain readable labels without growing their frames. */
#p-ascii .titlebar .tl,#p-hex .titlebar .tl,#p-note .titlebar .tl{font-size:12px;letter-spacing:0}
#p-relic .titlebar .tl{font:400 11px/16px var(--serif-small);letter-spacing:0;padding-inline:1px}
#p-name .pbody>div:first-child{font-family:var(--serif-small);font-weight:400}

.jp-hud .maplibregl-ctrl-attrib,.jp-hud .maplibregl-ctrl button{font-family:var(--mono)}

/* Controls keep their own face regardless of the reading/heading pairing. */
button,input,select,textarea,kbd,.pbtn,.resume-download,#dock button{font-family:var(--sans)!important}
