.portfolio-document { box-sizing: border-box; height: 100dvh; overflow-y: auto; background: #008080; color: #161616; font: 16px/1.65 Tahoma, Arial, sans-serif; padding: 30px 20px; }
.portfolio-document * { box-sizing: border-box; }
.portfolio-document a { color: #000080; text-underline-offset: 3px; }
.portfolio-document a:focus-visible { outline: 2px solid #000080; outline-offset: 4px; }
.reading-window { max-width: 960px; margin: 0 auto; padding: 3px; background: #c0c0c0; box-shadow: inset -1px -1px #0a0a0a,inset 1px 1px white,inset -2px -2px #808080,inset 2px 2px #dfdfdf,6px 6px 0 #006666; }
.reading-title { background: #000080; color: white; display: flex; align-items: center; gap: 9px; padding: 5px 9px; font-size: 15px; font-weight: bold; }
.reading-title img { image-rendering: pixelated; }
.reading-nav { display: flex; flex-wrap: wrap; gap: 2px 8px; padding: 6px 8px; }
.reading-nav a { display: inline-block; padding: 6px 8px; color: #161616; }
.reading-nav a[aria-current] { background: #000080; color: white; }
.reading-content { background: white; padding: 28px 36px; box-shadow: inset 1px 1px #808080,inset -1px -1px white; overflow-wrap: anywhere; }
.reading-content h1 { font-size: clamp(25px,5vw,36px); line-height: 1.3; margin: 0 0 14px; }
.reading-content h2 { font-size: 23px; margin: 30px 0 12px; border-bottom: 1px solid #c0c0c0; padding-bottom: 8px; }
.reading-content h3 { font-size: 18px; margin: 20px 0 6px; }
.reading-content p { margin: 0 0 16px; }
.reading-content .lead { font-size: 20px; line-height: 1.55; }
.reading-content .byline { font-size: 14px; color: #555; }
.reading-content li { margin-bottom: 10px; }
.reading-content figure { margin: 24px 0; padding: 8px; background: #ededed; border: 1px solid #aaa; }
.reading-content figure img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: contain; }
.reading-content figcaption { margin-top: 8px; padding: 0 4px; font-size: 14px; }
.reading-content figcaption span { display: block; margin-top: 4px; }
.project-index { padding: 0; list-style: none; }
.project-index li { margin: 0 0 25px; }
.project-index h2 { font-size: 21px; margin-top: 22px; }
.reading-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 6px 9px; font-size: 13px; }
.reading-skip { position: absolute; top: -100px; padding: 8px; background: white; }
.reading-skip:focus { top: 0; }
html, body { margin: 0; }
@media(max-width:600px) { .portfolio-document { padding: 10px 8px; font-size: 16px; } .reading-content { padding: 22px 18px; } .reading-title { font-size: 13px; } .reading-nav { gap: 0; padding: 4px; } .reading-nav a { padding: 8px; } }
