:root{--bg: #f0e7cf;--bg-alt: #e8dfc5;--paper: #fbf5e3;--ink: #1c1a16;--ink-soft: #564f40;--ink-faint: #8b836d;--rule: #c5b692;--rule-soft: #d9cda9;--accent: #8c3a1e;--accent-ink: #6e2c13;--quote-bar: #6b4423;--font: "Courier New", Courier, ui-monospace, monospace;--measure: 64ch;--gutter: clamp(1.25rem, 4vw, 3rem);--easing: cubic-bezier(.2, .65, .25, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background-image:radial-gradient(rgba(140,110,60,.045) 1px,transparent 1px),radial-gradient(rgba(140,110,60,.03) 1px,transparent 1px);background-size:32px 32px,14px 14px;background-position:0 0,7px 7px}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s var(--easing)}a:hover{color:var(--accent-ink)}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.app{min-height:100vh;display:flex;flex-direction:column}.page-stage{flex:1;display:flex;flex-direction:column;animation:page-in .28s var(--easing) both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(120%) blur(8px);-webkit-backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid var(--rule)}.nav-inner{max-width:1180px;margin:0 auto;padding:.9rem var(--gutter);display:flex;align-items:center;gap:1.5rem}.brand{font-family:var(--font);font-weight:700;font-size:1rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}.brand-dot{color:var(--accent)}.brand:hover{color:var(--ink)}.brand:hover .brand-dot{color:var(--accent-ink)}.nav-list{margin-left:auto;display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:.82rem}.nav-link{position:relative;color:var(--ink-soft);text-decoration:none;padding:.3rem 0;letter-spacing:.01em;transition:color .15s var(--easing)}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center;transition:transform .25s var(--easing)}.nav-link:hover{color:var(--ink)}.nav-link:hover:after{transform:scaleX(1)}.nav-link.is-active{color:var(--ink);font-weight:700}.nav-link.is-active:after{transform:scaleX(1);background:var(--accent);height:2px;bottom:-2px}.nav-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--rule);color:var(--ink);font-family:var(--font);font-size:.8rem;padding:.35rem .75rem;cursor:pointer;border-radius:2px}.nav-toggle:hover{border-color:var(--ink)}@media (max-width: 900px){.nav-list{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--rule);padding:.5rem var(--gutter) 1.25rem;gap:.1rem;display:none}.nav-list.is-open{display:flex}.nav-link{padding:.6rem 0;border-bottom:1px dashed var(--rule-soft)}.nav-link:last-child{border-bottom:none}.nav-link:after{display:none}.nav-toggle{display:inline-block}}.nav-meter{height:2px;background:var(--bg-alt);overflow:hidden}.nav-meter-fill{height:100%;background:var(--accent);transition:width .35s var(--easing)}.page{max-width:760px;width:100%;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) var(--gutter) clamp(2rem,4vw,3rem);flex:1;display:flex;flex-direction:column}.page--wide{max-width:1040px}.page-head{margin-bottom:2.5rem}.page-meta{font-size:.78rem;color:var(--ink-faint);letter-spacing:.08em;display:flex;gap:.6rem;margin-bottom:1.25rem}.page-num{color:var(--accent);font-weight:700}.page-slug{font-style:italic}.page-eyebrow{font-style:italic;color:var(--ink-soft);margin:0 0 .5rem;max-width:var(--measure);font-size:.92rem}.page-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.05;margin:0;letter-spacing:-.02em;color:var(--ink)}.page-body{flex:1}.page--home{justify-content:center;min-height:calc(100vh - 80px)}.home-stack{max-width:800px}.home-eyebrow{font-size:.85rem;letter-spacing:.18em;color:var(--accent);margin:0 0 .4rem;text-transform:uppercase}.home-theme{font-size:.95rem;color:var(--ink-soft);margin:0 0 2rem;font-style:italic}.home-title{font-size:clamp(3rem,11vw,6.5rem);line-height:1;margin:0 0 1.5rem;font-weight:700;letter-spacing:-.04em;color:var(--ink)}.home-title-line{position:relative;display:inline-block}.home-title-line:after{content:"_";color:var(--accent);margin-left:.1em;animation:cursor 1.1s steps(1) infinite}@keyframes cursor{0%,50%{opacity:1}51%,to{opacity:0}}.home-subtitle{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--ink-soft);margin:0 0 3rem;max-width:var(--measure);font-style:italic}.home-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem 2rem;padding:1.25rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0}.home-meta>div{display:flex;flex-direction:column;gap:.15rem}.home-meta dt{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0}.home-meta dd{margin:0;font-size:.98rem;color:var(--ink)}.thesis-card,.conclusion-card{background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:2px;padding:clamp(1.5rem,3vw,2.25rem)}.thesis-card .thesis-text{font-size:clamp(1.05rem,1.8vw,1.2rem);line-height:1.75;margin:0 0 1rem;color:var(--ink)}.thesis-card .thesis-text:last-child{margin-bottom:0}.conclusion-card>*+*{margin-top:1.5rem}.vignette{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:clamp(1.5rem,3vw,2.5rem);margin-bottom:1.5rem}.vignette+.vignette{margin-top:1.5rem}.vignette-head{text-align:center;padding-bottom:1.25rem;margin-bottom:1.75rem;border-bottom:1px solid var(--rule-soft)}.vignette-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem}.vignette-title{font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:700;margin:0;letter-spacing:-.01em;color:var(--ink)}.vignette-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,2.5rem);align-items:start}@media (max-width: 720px){.vignette-cols{grid-template-columns:1fr}}.vignette-col>*+*{margin-top:1.25rem}.quote{border-left:3px solid var(--quote-bar);padding:.1rem 0 .1rem 1rem;margin:0}.quote p{margin:0 0 .6rem;font-style:italic;font-size:.98rem;line-height:1.7;color:var(--ink)}.quote-cite{display:block;font-style:italic;font-weight:700;font-size:.92rem;color:var(--ink)}.prose{margin:0;font-size:.98rem;line-height:1.75;color:var(--ink)}.figure{margin:0}.figure-placeholder{position:relative;width:100%;aspect-ratio:4 / 3;background:var(--bg-alt);border:1px solid var(--rule);border-radius:2px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;text-align:center;padding:1rem}.figure-placeholder:before,.figure-placeholder:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--ink-faint)}.figure-placeholder:before{top:8px;left:8px;border-right:none;border-bottom:none}.figure-placeholder:after{bottom:8px;right:8px;border-left:none;border-top:none}.figure-slot{font-size:.78rem;letter-spacing:.1em;color:var(--ink-faint);text-transform:lowercase}.figure-suggestion{font-size:.85rem;font-style:italic;color:var(--ink-soft);max-width:28ch;line-height:1.5}figcaption{margin-top:.6rem;font-size:.8rem;font-style:italic;color:var(--ink-soft);text-align:center}.callout{display:block;margin-top:2rem;padding:1rem 1.25rem;background:transparent;border:1px dashed var(--rule);border-radius:2px;color:var(--ink-soft);font-size:.92rem;line-height:1.65}.callout strong{color:var(--ink)}.card-grid,.biblio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.card{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:1.5rem;transition:transform .2s var(--easing),border-color .2s var(--easing)}.card:hover{transform:translateY(-2px);border-color:var(--ink)}.card-title{font-size:1.1rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule-soft);color:var(--ink)}.card-body{margin:0;font-size:.95rem;line-height:1.65;color:var(--ink)}.biblio-list{margin:0;padding:0;list-style:none;font-size:.92rem}.biblio-list li{padding:.75rem 0;border-bottom:1px solid var(--rule-soft);color:var(--ink);line-height:1.55}.biblio-list li:last-child{border-bottom:none}.biblio-list em{font-style:italic}.link{font-size:.9rem;color:var(--accent)}.timeline{list-style:none;margin:0;padding:0}.timeline-row{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;padding:1rem 0;border-top:1px solid var(--rule-soft)}.timeline-row:first-child{border-top:none}.timeline-year{font-weight:700;color:var(--accent);font-size:1rem;padding-top:.05rem;letter-spacing:.02em}.timeline-content{min-width:0}.timeline-title{font-size:1.05rem;font-weight:700;margin:0 0 .3rem;color:var(--ink)}.timeline-body{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.6}@media (max-width: 600px){.timeline-row{grid-template-columns:1fr;gap:.3rem}}.page-nav{margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:1.5rem}.page-nav-link{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--ink);padding:.5rem .25rem;border-radius:2px;transition:transform .2s var(--easing)}.page-nav-link:hover{color:var(--ink)}.page-nav-link--prev:hover{transform:translate(-3px)}.page-nav-link--next:hover{transform:translate(3px)}.page-nav-link--next{margin-left:auto}.page-nav-stack{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.page-nav-stack--right{align-items:flex-end}.page-nav-eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.page-nav-label{font-size:1rem;font-weight:700;color:var(--ink);position:relative}.page-nav-link:hover .page-nav-label:after{transform:scaleX(1)}.page-nav-label:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .25s var(--easing)}.page-nav-link--next .page-nav-label:after{transform-origin:right center}.page-nav-arrow{font-size:1.3rem;color:var(--accent)}@media (max-width: 500px){.page-nav-eyebrow{font-size:.65rem}.page-nav-label{font-size:.92rem}}
