:root{--night:#070b10;--paper:#eae6dc;--muted:#aaa99f;--faint:#74776f;--olive:#a8ac82;--line:rgba(234,230,220,.16);--serif:"Iowan Old Style","Baskerville","Songti SC","STSong",serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--night);color:var(--paper)}body{font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:1px solid var(--olive);outline-offset:7px}::selection{color:var(--night);background:var(--olive)}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;left:20px;top:-70px;padding:12px;background:var(--paper);color:var(--night)}.skip:focus{top:15px}
.skip{opacity:0;pointer-events:none}.skip:focus{opacity:1;pointer-events:auto}
.home{height:100svh;min-height:640px;position:relative;overflow:hidden;isolation:isolate}
.masthead{position:absolute;left:6%;right:6%;top:max(36px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:10}
.signature{display:flex;align-items:center;gap:16px;text-decoration:none;white-space:nowrap}
.signature svg{width:28px;height:28px;stroke:var(--paper);stroke-width:.8;fill:none;opacity:.75}
.signature>span{font:400 clamp(16px,1.6vw,23px)/1.3 var(--sans);letter-spacing:.24em}
.signature small{display:block;font:8px/1.5 var(--mono);letter-spacing:.14em;color:var(--faint);margin-top:7px}
.masthead-tools{display:flex;gap:30px;align-items:center}
.index-trigger{display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.12em;padding:10px 0 10px 10px}
.index-trigger i{width:21px;display:grid;gap:5px}.index-trigger b{height:1px;background:var(--paper);display:block}.index-trigger b:last-child{width:13px;justify-self:end}
.sculpture{position:absolute;inset:0;z-index:-2;transition:filter .6s}
.sculpture img{position:absolute;left:-8%;top:8%;width:120%;height:82%;object-fit:contain;opacity:1}
.stone-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.fracture-ready #monolith{opacity:0}.fracture-ready .stone-canvas{opacity:1}
.sculpture-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--night),transparent 16%,transparent 82%,var(--night))}
.home:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 70% 45%,transparent 25%,#070b1077 100%)}
.connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.connection,.connection-glow{fill:none;stroke-linecap:round;transition:opacity .4s,stroke .4s}
.connection{stroke:var(--flow-stroke);stroke-width:.65;opacity:.64;transition:opacity .45s,stroke-width .45s}
.connection.active{opacity:1;stroke-width:.8}
.connection-glow{stroke:#f4e7cb;stroke-width:2.3;opacity:0;filter:blur(2px)}
.connection-glow.active{opacity:.13}

.anchor{fill:#fff0d3;opacity:0;transition:opacity .4s}.anchor.active{opacity:.18}
.anchor-hit{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}
.entrances{position:absolute;inset:0;z-index:3;pointer-events:none}
.entrance{position:absolute;left:var(--label-x,60%);top:var(--label-y,40%);transform:translateY(-50%);display:flex;gap:12px;align-items:center;min-height:44px;padding:7px 0;text-decoration:none;pointer-events:auto;touch-action:manipulation;color:var(--muted)}
.entry-no{font:10px var(--mono);letter-spacing:.08em;color:var(--olive);flex:none;min-width:24px;min-height:40px;padding:0;text-align:left;touch-action:manipulation}
.entry-name{position:relative;display:inline-block;width:72px;height:34px;font:400 25px/34px var(--serif);letter-spacing:.08em;white-space:nowrap;text-decoration:none;transform-origin:left center;transition:transform .28s,color .3s}
.entry-text{display:block;position:absolute;inset:0;opacity:calc(.72 + var(--clarity,0)*.28);filter:blur(calc(var(--idle-blur,2px)*(1 - var(--clarity,0))));pointer-events:none}
.entry-dot{height:3px;width:3px;flex:0 0 3px;background:var(--olive);border-radius:50%;opacity:.6;transition:box-shadow .3s}
.entrance.is-active .entry-name{transform:translate(var(--magnet-x,0px),var(--magnet-y,0px)) scale(1.035);color:#fff0d6}
.entrance.is-active .entry-dot{box-shadow:0 0 9px #ffe8b655;opacity:1}
.fissure-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
.home-footer{position:absolute;left:6%;right:6%;bottom:max(28px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px var(--serif);letter-spacing:.12em;color:var(--muted);z-index:5}
.sep{padding:0 10px;color:var(--faint)}.invitation{font:10px var(--serif);color:var(--faint)}
.edition{font:8px var(--mono);letter-spacing:.1em;color:var(--faint);display:flex;align-items:center;gap:10px}.edition-dot{height:4px;width:4px;display:inline-block;background:var(--olive);border-radius:50%}
body.reading .sculpture{filter:brightness(.45)}.section-subtitle{font:400 22px var(--serif);margin:45px 0 24px}.photo-empty{padding:35px 0;border-top:1px solid var(--line);font:15px/2 var(--serif);color:var(--muted)}
.reader{position:fixed;inset:0 0 0 auto;width:min(950px,78vw);height:100dvh;max-width:none;max-height:none;margin:0;padding:0;background:#0b1015;border:0;border-left:1px solid var(--line);color:var(--paper);overflow:hidden;box-shadow:-40px 0 120px #0005}
.reader::backdrop{background:rgba(2,5,8,.32);backdrop-filter:blur(3px)}
.reader[open]{animation:open-reader .55s cubic-bezier(.2,.7,.2,1)}
.reader-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#454b45 transparent}
.reader-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px clamp(25px,4vw,66px);position:sticky;top:0;background:rgba(11,16,21,.96);border-bottom:1px solid var(--line);z-index:4;backdrop-filter:blur(10px)}
.back,.reader-index{font-size:11px;letter-spacing:.08em;padding:8px 0;white-space:nowrap;color:var(--muted)}
.back span{font-size:18px;margin-right:10px;color:var(--olive)}
.back:hover,.reader-index:hover{color:var(--paper)}
.sample-label{font:10px var(--sans);color:var(--olive);letter-spacing:.08em}
.reader-body{padding:55px clamp(25px,5vw,80px) 28px}
.chapter-kicker{font:10px var(--mono);color:var(--olive);letter-spacing:.16em;margin:0 0 17px}
.chapter-heading h2{font:400 clamp(38px,4.3vw,60px)/1.3 var(--serif);letter-spacing:.08em;margin:0;outline:none}
.chapter-deck{font:14px/1.9 var(--serif);letter-spacing:.03em;color:var(--muted);margin:22px 0 40px;max-width:33em}
.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px}
.filter{padding:8px 12px;border:1px solid transparent;border-radius:2px;font-size:11px;color:var(--muted);transition:color .2s,border-color .2s}
.filter:hover{color:var(--paper)}
.filter[aria-pressed=true]{color:var(--paper);border-color:rgba(168,172,130,.4);background:rgba(168,172,130,.05)}
.entry-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.archive-entry{border-bottom:1px solid var(--line)}
.archive-entry[hidden]{display:none}
.archive-entry summary{position:relative;display:grid;grid-template-columns:63px 1fr 18px;align-items:start;gap:18px;list-style:none;cursor:pointer;padding:25px 0;transition:padding .3s}
.archive-entry summary::-webkit-details-marker{display:none}
.archive-entry summary:hover{padding-left:7px}
.entry-date{font:10px/1.8 var(--mono);color:var(--faint);padding-top:4px;white-space:nowrap}
.list-title{font:400 23px/1.5 var(--serif);letter-spacing:.025em;margin:0;display:block}
.list-meta{display:block;margin-top:9px;font:10px/1.6 var(--sans);color:var(--muted);letter-spacing:.03em}
.entry-plus{font:300 20px/1.8 var(--sans);color:var(--olive);transition:transform .3s}
.archive-entry details[open] .entry-plus{transform:rotate(45deg)}
.entry-body{margin-left:81px;padding:0 0 30px;max-width:37em}
.entry-body p{font:16px/2 var(--serif);color:#c7c8be;margin:0 0 14px}
.entry-body .content-note{font:11px/1.8 var(--sans);color:var(--faint);margin-top:20px}
.entry-body .tag{font:10px var(--mono);color:var(--olive);letter-spacing:.06em}
.project-entry summary{grid-template-columns:63px 1fr 18px}
.project-entry .list-title{font-family:var(--sans);letter-spacing:.08em;font-size:25px}
.project-figure{height:150px;display:flex;align-items:center;justify-content:center;margin:0 0 20px;background:radial-gradient(ellipse at 50% 50%,#18211f6b,transparent 70%);border-bottom:1px solid var(--line)}
.project-figure svg{width:85%;height:130px;stroke:#b8bba4;stroke-width:.7;fill:none}
.project-figure circle{fill:var(--olive);stroke:var(--paper)}
.project-spec{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0 0;font-size:11px}
.project-spec dt{color:var(--faint);margin-bottom:5px}
.project-spec dd{margin:0;color:var(--muted);line-height:1.6}
.thesis-details{margin:10px 0 0}
.thesis-details>div{padding:13px 0;border-top:1px solid var(--line)}
.thesis-details dt{font-size:11px;color:var(--olive);margin-bottom:10px}
.thesis-details dd{margin:0;font:15px/1.95 var(--serif);color:#c7c8be}
.thesis-details .falsifier{border-left:1px solid var(--olive);padding-left:17px;margin-top:12px;border-top:0}
.year-title{font:13px var(--mono);font-weight:400;color:var(--olive);letter-spacing:.12em;margin:32px 0 16px}
.year-title span{font-size:9px;color:var(--faint);margin-left:15px}
.book-entry summary{grid-template-columns:1fr 18px;padding:21px 0}
.book-entry .entry-body{margin-left:0}
.book-entry .list-title{font-size:22px}
.book-original{font:12px/1.8 var(--sans);color:var(--faint);margin-bottom:13px}
.quote-mark{color:var(--olive);font:40px var(--serif);line-height:.8;margin-right:4px}
.year-group[hidden]{display:none}
.empty-result{font:14px/1.9 var(--serif);color:var(--muted);padding:30px 0}
.travel-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.globe-wrap{position:sticky;top:105px;min-width:0}
.globe-wrap canvas{display:block;max-width:100%;width:100%;aspect-ratio:1;cursor:grab;touch-action:pan-y;border-radius:50%}
.globe-wrap canvas:active{cursor:grabbing}
.globe-caption{font:10px/1.9 var(--sans);color:var(--muted);text-align:center;margin-top:8px;min-height:3.8em}
.globe-caption span{font:9px/1.8 var(--mono);color:var(--faint)}
.travel-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.country{width:100%;display:grid;grid-template-columns:40px 1fr 15px;text-align:left;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:18px 0;color:var(--muted);transition:color .3s}
.country:hover,.country[aria-pressed=true]{color:var(--paper)}
.country-year{font:9px var(--mono);color:var(--faint)}
.country-name{font:20px/1.5 var(--serif)}
.country-name small{display:block;font:9px/1.8 var(--sans);color:var(--faint);margin-top:3px}
.country-mark{font:12px var(--serif);color:var(--olive)}
.country-note{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font:13px/1.9 var(--serif);color:var(--muted)}
.contact-empty{padding:35px 0 50px;border-top:1px solid var(--line)}
.contact-symbol{display:block;font:52px var(--serif);color:var(--olive);margin-bottom:24px}
.contact-empty h3{font:24px var(--serif);font-weight:400;margin:0 0 17px}
.contact-empty p{font:14px/2 var(--serif);color:var(--muted);max-width:28em}
.contact-link{display:block;font:clamp(20px,3vw,34px)/1.6 var(--serif);margin-bottom:20px;text-decoration-thickness:1px;text-underline-offset:8px;overflow-wrap:anywhere}
.contact-links{display:flex;gap:24px;flex-wrap:wrap}
.contact-links a{font:12px var(--mono);text-underline-offset:6px}
.copy-email{font:12px var(--sans);border:1px solid var(--line);padding:10px 15px}
.copy-status{font:11px var(--sans);color:var(--olive);margin-left:15px}
.reader[data-section=contact] .reader-body{position:relative;padding-top:36px}
.reader[data-section=contact] .chapter-heading{min-height:180px;padding-right:250px}
.reader[data-section=contact] .chapter-heading h2{font-size:clamp(38px,4vw,52px)}
.reader[data-section=contact] .chapter-deck{margin:16px 0 24px}
.reader[data-section=contact] .chapter-visual{position:absolute;top:28px;right:clamp(25px,5vw,80px);width:230px;height:180px;margin:0;border:0;background:radial-gradient(ellipse at 50% 50%,#18221f44,transparent 72%);pointer-events:none}
.contact-details{border-top:1px solid var(--line)}
.contact-email{position:relative;padding:24px 0 26px}
.contact-caption{font:9px var(--mono);letter-spacing:.2em;color:var(--olive)}
.contact-email .contact-link{font-size:clamp(19px,2.5vw,30px);line-height:1.4;margin:13px 0 18px;text-decoration:none;letter-spacing:-.015em}
.contact-link:hover{color:#fff4dc}
.contact-email .copy-email{font-size:10px;border-color:#a8ac824d;padding:8px 12px;color:var(--muted)}
.contact-email .copy-email:hover{border-color:var(--olive);color:var(--paper)}
.contact-channels{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.contact-channels li{display:grid;grid-template-columns:minmax(84px,1fr) minmax(0,2.3fr) auto;gap:16px;align-items:center;min-height:66px;padding:14px 0;border-bottom:1px solid var(--line)}
.contact-channel-label{font:11px/1.6 var(--sans);color:var(--muted)}
.contact-handle{font:13px/1.6 var(--mono);letter-spacing:.025em;overflow-wrap:anywhere;color:var(--paper)}
.contact-copy,.contact-external{font:10px/1.6 var(--sans);color:var(--olive);white-space:nowrap}
.contact-copy{padding:8px 0 8px 10px}.contact-copy:hover,.contact-social:hover .contact-external{color:var(--paper)}
.contact-copy span,.contact-external span{margin-left:8px}
.contact-social{grid-column:2/4;display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none}
.contact-status{font:10px/1.8 var(--sans);color:var(--olive);min-height:18px;margin:12px 0 0;overflow-wrap:anywhere}
.reader[data-section=contact] .reader-footer{margin-top:24px}
@media(max-width:800px){.reader[data-section=contact] .chapter-heading{min-height:0;padding-right:0}.reader[data-section=contact] .chapter-visual{position:relative;top:auto;right:auto;width:100%;height:120px;margin-bottom:20px}}
@media(max-width:600px){.contact-channels li{grid-template-columns:76px minmax(0,1fr) auto;gap:10px}.contact-handle{font-size:11px}.contact-channel-label{font-size:10px}.contact-copy,.contact-external{font-size:9px}.contact-copy span,.contact-external span{margin-left:3px}.contact-email .contact-link{font-size:20px}}
.index-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.index-list a{display:flex;align-items:baseline;gap:26px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
.index-list .index-number{font:11px var(--mono);color:var(--olive)}
.index-list strong{font:28px var(--serif);font-weight:400;flex:1}
.index-list small{font:9px var(--mono);color:var(--faint);letter-spacing:.06em}
.index-list .index-arrow{color:var(--muted)}
.reader-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:65px;padding-top:25px}
.reader-footer a{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}
.reader-footer a:hover{color:var(--paper)}
.reader-footer span{font:8px var(--mono);color:var(--faint);letter-spacing:.1em}
.no-js{position:fixed;bottom:60px;left:5%;max-width:90%;padding:15px;background:#0b1015;font-size:13px}


@keyframes open-reader{from{transform:translateX(6%);opacity:0}to{transform:none;opacity:1}}
@media(max-width:900px){.reader{width:90vw}.masthead-tools{gap:20px}.signature>span{font-size:16px}.entry-name{font-size:23px}.reader-body{padding-top:40px}}
@media(max-width:600px){
.home{min-height:640px}.masthead{left:6%;right:6%;top:max(27px,env(safe-area-inset-top));gap:12px}.signature{gap:10px}.signature svg{width:22px;height:22px}.signature>span{font-size:clamp(12px,3.6vw,16px);letter-spacing:.17em}.signature small{font-size:7px;margin-top:5px}.masthead-tools{gap:0}.index-trigger{font-size:10px;gap:8px;padding-left:0}.index-trigger i{width:17px}
.sculpture img{left:-14%;top:14%;width:128%;height:70%}.entry-name{font-size:26px;width:64px;height:48px;line-height:48px;--idle-blur:.35px}.entrance{gap:6px;min-height:52px}.entry-no{font-size:11px;min-width:28px;min-height:48px}.entry-dot{width:2px;height:2px;flex-basis:2px}.entrance .entry-name{text-shadow:0 0 12px #070b10,0 0 5px #070b10}.home-footer{left:6%;right:6%;bottom:max(24px,env(safe-area-inset-bottom));font-size:9px}.invitation{position:absolute;left:0;bottom:30px;font-size:9px}.edition{font-size:6px;gap:6px}.sep{padding:0 7px}
.reader{width:100%;border-left:0}.reader-bar{padding:17px 23px;gap:10px}.back,.reader-index{font-size:10px}.sample-label{font-size:9px}.back span{margin-right:6px}.reader-body{padding:35px 25px 25px}.chapter-heading h2{font-size:42px}.chapter-kicker{font-size:9px}.chapter-deck{font-size:14px;margin-bottom:30px}.list-title{font-size:21px}.archive-entry summary{grid-template-columns:51px 1fr 14px;gap:12px;padding-block:22px}.entry-date{font-size:8px;padding-top:7px}.entry-body{margin-left:0;padding-top:0}.entry-body p{font-size:15px}.entry-plus{font-size:18px}.project-entry summary{grid-template-columns:43px 1fr 14px}.book-entry summary{grid-template-columns:1fr 14px}.travel-layout{grid-template-columns:1fr;gap:25px}.globe-wrap{position:relative;top:auto;order:-1;display:flex;flex-direction:column;align-items:center}.globe-wrap canvas{width:min(270px,75vw);touch-action:pan-y}.globe-caption{margin:0}.country{grid-template-columns:50px 1fr 20px}.country-name small{display:inline;margin-left:10px}.country-note{display:none}.index-list a{gap:18px}.index-list strong{font-size:25px}.index-list small{font-size:7px}.reader-footer{margin-top:45px}.reader-footer span{font-size:7px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fissure-dust{display:none}.entry-name{transform:none!important}}
@media(max-width:600px){.invitation{display:none}.entrance .entry-no{text-shadow:0 0 3px #070b10,0 0 7px #070b10}}

.entry-name:before{content:"";position:absolute;inset:-6px -4px}.entry-no[aria-pressed=true]{color:#f7eed8}.entrance.right .entry-no{text-align:center}

/* Language controls remain reachable in the reading layer as well as at home. */
.language-switch{display:flex;align-items:center;gap:7px;font:10px var(--mono);letter-spacing:.04em;color:var(--faint);white-space:nowrap}
.language-switch button{font:inherit;min-width:26px;min-height:36px;padding:6px 3px;color:var(--faint);transition:color .2s}
.language-switch button:hover,.language-switch button[aria-pressed=true]{color:var(--paper)}
.language-switch button[aria-pressed=true]{text-decoration:underline;text-decoration-color:var(--olive);text-underline-offset:6px}
.language-switch>span{opacity:.4}
.masthead-tools{gap:24px}.reader-tools{display:flex;align-items:center;gap:22px}
.reader-bar{display:grid;grid-template-columns:auto 1fr auto}.sample-label{text-align:center}
.back{text-align:left;justify-self:start}
.reader-tools{grid-column:3}
.reader-footer[hidden]{display:none}
.reader[data-section=index] .chapter-heading h2{font-size:clamp(24px,2.5vw,34px);letter-spacing:.01em;line-height:1.5;margin-bottom:38px}
.chapter-visual{height:clamp(240px,29vw,340px);margin:0 0 42px;overflow:hidden;background:radial-gradient(ellipse at center,#18221f55,transparent 72%);border-block:1px solid rgba(234,230,220,.08)}
.chapter-visual canvas{display:block;width:100%;height:100%}
.writing-views{display:flex;flex-wrap:wrap;gap:8px 22px;border-bottom:1px solid var(--line);padding:0 0 19px;margin:0 0 26px}
.writing-views button{font:12px var(--sans);color:var(--faint);padding:7px 0;border-bottom:1px solid transparent}
.writing-views button:hover,.writing-views button[aria-pressed=true]{color:var(--paper)}
.writing-views button[aria-pressed=true]{border-color:var(--olive)}
.section-empty{border-top:1px solid var(--line);padding:30px 0 40px}
.section-empty h3{font:400 25px/1.5 var(--serif);margin:0 0 18px}
.section-empty p{font:15px/2 var(--serif);max-width:32em;color:var(--muted)}
html[lang=en] .entry-name{font-size:21px;letter-spacing:.015em;width:110px}
.entrance[data-section=contact] .entry-name{font-size:23px;letter-spacing:.01em;width:125px}
html[lang=en] .chapter-heading h2{letter-spacing:.015em}
html[lang=en] .list-title{letter-spacing:0}
@media(max-width:600px){
 .masthead-tools{gap:14px}.index-trigger>span{display:none}.language-switch{gap:3px;font-size:9px}.language-switch button{min-width:23px;padding-inline:2px}
 .reader-bar{grid-template-columns:1fr auto;gap:8px}.reader-tools{gap:15px;grid-column:2}.sample-label{grid-row:2;grid-column:1/-1;text-align:left}
 .chapter-visual{height:240px;margin-bottom:30px}.chapter-heading h2{font-size:38px}.writing-views{gap:8px 18px}.writing-views button{font-size:11px}
 html[lang=en] .entry-name{font-size:19px;width:82px}.entrance[data-section=contact] .entry-name{font-size:19px;width:96px;letter-spacing:0}
 .entrance{color:#c4c2b8}.entry-text{opacity:calc(.88 + var(--clarity,0)*.12)}
 html[lang=en] #home-domains{font-size:8px;letter-spacing:0}.reader-footer{flex-wrap:wrap}.index-list strong{font-size:24px}.index-list a{gap:16px}
}
