/* A continuous life, with details that unfold beside it. */
:root{--active-thread:#577147;--quiet-ink:#58664e;--detail-ink:#775335}
.masthead nav button{font-size:.875rem}.wordmark span{font-size:.75rem}.eyebrow,.life-opening .eyebrow{font-size:.75rem}.life-opening>p{font-size:1rem;max-width:430px;color:var(--quiet-ink)}.life-opening>p>span{font-size:.875rem}.life-opening{padding-bottom:40px}.life-opening h1{font-size:clamp(3.6rem,6.7vw,6.8rem)}
.journey-controls{position:sticky;top:0;z-index:8;background:#eeebe2ee;backdrop-filter:blur(22px);border-bottom:1px solid #adb59f;box-shadow:0 6px 20px #34402305;view-transition-name:journey-controls}.time-controls{position:relative;top:auto;background:none;backdrop-filter:none;border-bottom:0;height:72px;view-transition-name:none;padding-top:12px;padding-bottom:8px}.time-position{width:150px}.time-position>span:first-child{font-size:1.65rem}.scrubber>span{font-size:.75rem;color:#58664e}#time-scale{font-size:.875rem;min-height:44px;min-width:115px}.thread-controls{display:flex;gap:20px;align-items:center;padding:0 4.7vw 12px;min-height:52px}.thread-controls>span{font-size:.75rem;color:#69735c}.thread-controls button{font-size:.875rem;min-height:36px}.thread-controls>#surprise-me{margin-left:auto;color:#775335;text-decoration:underline;text-underline-offset:5px}#thread-options{display:flex;gap:6px}#thread-options button{display:flex;gap:9px;align-items:center;padding:6px 12px;border:1px solid transparent;border-radius:30px;transition:background .2s,border-color .2s}#thread-options i{width:7px;height:7px;border-radius:50%;background:var(--thread-color)}#thread-options button:hover{border-color:#b6baa8}#thread-options button[aria-pressed=true]{background:#fff8;border-color:var(--thread-color);color:#24331f}#thread-context{padding:4px 4.7vw 14px;display:flex;align-items:center;gap:30px;border-top:1px solid #b3bbaa55}#thread-context p{font-size:.875rem;line-height:1.5;margin:10px 0 0;max-width:630px;color:#516046}#thread-context>div{display:flex;gap:14px;align-items:center;margin:8px 0 0 auto;flex-shrink:0}#thread-position{font-family:'IBM Plex Mono',monospace;font-size:.75rem}#thread-context button{font-size:.875rem;min-width:36px;min-height:36px;border:1px solid #a4af95;border-radius:50%}#thread-context #thread-reset{border:0;border-radius:0;text-decoration:underline;text-underline-offset:4px;margin-left:8px;white-space:nowrap}
.life-era.chapter{scroll-margin-top:180px}.era-atmosphere>small,.wide-time .era-atmosphere>small{font-size:.75rem;color:#6b7c58}.era-atmosphere{top:19px}.life-era.chapter{padding-top:88px}.moment,.moment.short,.moment:has(.with-photo){display:grid;grid-template-columns:7% 34% 20% 33% 6%;align-items:start;min-height:340px;padding:38px 0 75px;scroll-margin-top:190px}.moment-content,.moment.right .moment-content{grid-column:2;grid-row:1;width:100%;margin:0;min-width:0}.moment.right .moment-content{grid-column:4}.moment-content h2{font-size:clamp(2.15rem,3.2vw,3.1rem);line-height:1.08}.moment-content>p{font-size:1rem;line-height:1.8;color:#56664a;max-width:none}.moment-content>.moment-note{font-size:1.45rem;line-height:1.3;color:#846c4c}.moment-date,.wide-time .moment-date{font-size:.75rem;line-height:1.5;max-width:170px;white-space:normal;min-width:110px;color:#546d41;background:var(--bg)}.moment-node{top:78px}.moment-finds:empty{display:none}.moment-find-label>span{font-size:.75rem;color:#626f53}.moment-find-label>strong{font-size:1rem;line-height:1.4}.moment-find{padding:17px 0;gap:14px}.moment-find.with-photo .moment-photo{height:auto;aspect-ratio:1.6;width:100%;box-shadow:0 9px 20px #314d2015;position:relative}.moment-photo img{filter:none;transition:transform .7s cubic-bezier(.2,.7,.2,1);scale:1}.moment-find:hover img{scale:1;transform:scale(1.035)}#moment-india-trip .moment-photo{aspect-ratio:1.1}#moment-india-trip .moment-photo img{object-position:50% 40%}#moment-sf-life .moment-photo{aspect-ratio:1.5}#moment-great-wall .moment-photo{aspect-ratio:1.55}.moment-find:hover{background:transparent}.moment-find:hover .find-arrow{transform:translate(3px,-3px)}.find-arrow{transition:transform .25s;color:#6e7758}
.moment-threads{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.moment-threads button{padding:4px 0;font-size:.75rem;color:#6b715e;text-underline-offset:4px}.moment-threads button:hover,.moment-threads button[aria-pressed=true]{text-decoration:underline;color:var(--active-thread)}.pocket-toggle{display:flex;align-items:center;text-align:left;gap:13px;width:100%;padding:16px 0 12px;margin-top:18px;color:#785936;min-height:64px}.pocket-toggle>span:nth-child(2){font-size:.875rem}.pocket-toggle small{display:block;margin-top:6px;max-width:290px;font-size:.75rem;line-height:1.5;color:#747863}.pocket-mark{border:1px solid #a79b7a;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:21px;flex-shrink:0;transition:transform .3s,background .3s}.pocket-arrow{margin-left:auto}.pocket-toggle:hover .pocket-mark{background:#e1d9c4}.pocket-toggle[aria-expanded=true] .pocket-mark{transform:rotate(45deg);background:#d6dcc6}.moment-pocket{grid-column:4;grid-row:1;position:relative;border-top:1px solid #a9af94;padding:16px 0 18px;margin-top:5px;animation:pocket-open .45s both;color:#46523c;min-width:0}.moment.right .moment-pocket{grid-column:2}.moment-pocket:before{content:'';position:absolute;top:22px;right:calc(100% + 12px);width:28px;height:1px;background:#a9af94}.moment.right .moment-pocket:before{right:auto;left:calc(100% + 12px)}.pocket-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:11px}.pocket-heading>span{font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.035em;color:#6f785d}.pocket-heading button{font-size:24px;width:36px;height:36px}.life-fragment{border-bottom:1px solid #b9bfa366;padding:21px 0 24px;scroll-margin-top:200px;outline-offset:7px}.fragment-date{font-family:'IBM Plex Mono',monospace;font-size:.75rem!important;line-height:1.65!important;color:#795d3f!important}.fragment-date>span{display:block;color:#768067}.life-fragment h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:13px}.life-fragment>p{font-size:1rem;line-height:1.7;margin-bottom:15px}.life-fragment blockquote{font-family:'Caveat',cursive;font-size:1.8rem;line-height:1.2;margin:22px 0;color:#94623e}.fragment-evidence{font-size:.875rem;line-height:1.65;color:#67715b}.fragment-evidence summary{cursor:pointer;padding:5px 0;list-style:none;text-decoration:underline;text-decoration-color:#a7ac94;text-underline-offset:5px}.fragment-evidence summary:after{content:' +';font-family:monospace}.fragment-evidence[open] summary:after{content:' −'}.fragment-evidence p{margin:12px 0}.fragment-evidence span{display:block;font-size:.75rem}.fragment-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.fragment-links button{font-size:.875rem;text-align:left;padding:6px 10px;border:1px solid #a9b096;border-radius:2px}.pocket-close{font-size:.875rem;margin-top:20px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}@keyframes pocket-open{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.wide-time .moment,.wide-time .moment.short,.wide-time .moment:has(.with-photo){min-height:165px;padding:25px 0 32px}.wide-time .pocket-toggle,.wide-time .moment-pocket,.wide-time .moment-threads{display:none}.wide-time .moment-content h2{font-size:1.75rem}.wide-time .moment-zoom,.wide-time .moment.right .moment-zoom{position:static;font-size:.875rem;min-height:32px;color:#536d42}.wide-time .moment-node{top:43px}.following-thread #life-progress{stroke:var(--active-thread)}.following-thread .moment.at-now .pin{background:var(--active-thread);border-color:var(--active-thread)}.following-thread .off-thread,.following-thread .off-thread.short,.following-thread .off-thread:has(.with-photo){min-height:128px;padding:27px 0 25px}.off-thread .moment-content>p,.off-thread .moment-finds,.off-thread blockquote,.off-thread .pocket-toggle,.off-thread .moment-pocket,.off-thread .moment-threads{display:none}.off-thread .moment-content h2{font-size:1.25rem;line-height:1.35;color:#79836f;max-width:300px}.off-thread .moment-date{color:#818b73}.off-thread .moment-node{top:42px}.off-thread .pin{width:7px;height:7px;border-width:1px}.following-thread .moment:not(.off-thread) .moment-content h2{color:var(--active-thread)}.open-future>small{font-size:.75rem}.loose-ends>p:not(.eyebrow){font-size:1rem}.loose-item span,.trail-footer>span,.trail-footer>a{font-size:.875rem}.loose-item strong{font-size:1.6rem}.loose-ends #loose-items{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}
/* Artifacts retain their own surface; photography opens without leaving the story. */
.work-info .body-copy,.layer p,.relation p{font-size:1rem;line-height:1.7}.era-crumb,.work-info .eyebrow,.section-kicker,.work-facts dt,.source-note,.photo-credit{font-size:.75rem!important;line-height:1.65}.work-facts dd{font-size:.875rem}.work-chrome>span,.relation small,.layer .kind{font-size:.75rem}.work-chrome>button,.reader header .secondary-action,.layer-link,.era-location-link,.primary-action,.secondary-action{font-size:.875rem!important}.work-display .artifact-meta{font-size:.75rem}.work-display .artifact-copy{gap:30px}.work-display .lyric-fragment{font-size:1.15rem;line-height:1.6}.work-gallery{margin:0 42px 36px;padding-top:25px;border-top:1px solid #b9c3a9}.gallery-strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 0 12px;overscroll-behavior-x:contain;scrollbar-color:#b0baa0 transparent}.gallery-strip button{padding:0;flex:0 0 310px;scroll-snap-align:start;text-align:left;min-width:0}.gallery-strip img{display:block;width:100%;height:235px;object-fit:cover;transition:filter .2s}.gallery-strip button:hover img{filter:brightness(1.06)}.gallery-strip button>span{display:flex;justify-content:space-between;gap:15px;padding-top:12px;font-size:.875rem;line-height:1.5}.photo-credit{margin:14px 0 0;color:#6d745d}#photo-dialog{width:100vw;height:100svh;margin:0;background:#11150ff5;color:#f1eee5;padding:54px 5vw 76px;overflow:auto}#close-photo{position:fixed;right:3vw;top:12px;width:44px;height:44px;font-size:30px;z-index:2}#photo-dialog figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}#large-photo{display:block;max-width:100%;max-height:calc(100svh - 190px);object-fit:contain;min-height:0}#photo-caption{font-size:.875rem;line-height:1.5;text-align:center;color:#c4cbb9}.photo-navigation{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:20px;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:.75rem}.photo-navigation button{width:44px;height:44px;border:1px solid #5c6851;border-radius:50%;font-size:22px}
/* The index searches both creations and small details. */
#index-panel{position:fixed;inset:0;margin:0;width:100vw;height:100svh;max-height:100svh;padding:35px 6vw 80px;background:var(--bg);color:var(--fg);z-index:auto;overflow-y:auto}#index-panel:not([open]){display:none}.index-top{align-items:baseline}.index-top h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;font-weight:400}.index-search{display:block;max-width:760px;font-size:.875rem;color:#606e51;line-height:1.5;margin:25px 0}.index-search input{font:inherit;font-size:clamp(1.1rem,2.4vw,1.65rem);display:block;margin-top:10px;border:0;border-bottom:1px solid #9ea88e;background:transparent;padding:12px 0;width:100%;color:#30402a;outline-offset:5px;border-radius:0}.index-search input::placeholder{color:#8d947f}.index-filters{flex-wrap:wrap;gap:8px}.index-filters button{font-size:.875rem;min-height:40px}#index-count{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:#657453;margin:22px 0}.index-row{grid-template-columns:75px minmax(0,1fr) 150px 145px 20px;border-top-color:#b2bba4}.index-row strong{font-size:1.3rem;line-height:1.3;font-weight:500}.index-row small{font-size:.75rem;color:#647154;line-height:1.6}.index-row .thumb{font-family:'IBM Plex Mono',monospace;font-size:.75rem;line-height:1.3;padding:5px;background:#d9dfcd;color:#586647}.index-row .thumb:has(img){padding:0}.index-row:hover{background:#dce2cf}.fragment-result .thumb{background:transparent;border:1px solid #bac1ab;font-family:'Caveat',cursive;font-size:1.15rem}.empty-search{padding:35px 0;font-size:1rem}.fragment-result strong{font-family:'DM Serif Display',Georgia,serif;font-size:1.5rem}
@media(min-width:1500px){.time-position{width:260px}.time-position>span:last-child{font-size:.75rem}.continuous{max-width:1380px}.moment{grid-template-columns:6% 35% 19% 34% 6%}.moment-content h2{font-size:3.2rem}.moment-pocket{padding-top:20px}}
@media(max-width:950px){.thread-controls{gap:10px}.thread-controls>span{display:none}.moment,.moment.short,.moment:has(.with-photo){grid-template-columns:7% 34% 20% 33% 6%}.moment-content h2{font-size:2rem}.moment-date,.wide-time .moment-date{max-width:130px;min-width:100px}.moment-pocket:before{width:18px;right:calc(100% + 5px)}.moment.right .moment-pocket:before{left:calc(100% + 5px)}.index-row{grid-template-columns:65px minmax(0,1fr) 120px 20px;gap:15px}.index-row small:nth-of-type(1){display:none}#thread-context{gap:15px}#thread-context p{font-size:.75rem}.gallery-strip button{flex-basis:265px}}
@media(max-width:760px){.life-opening>p{font-size:1rem}.life-opening>p>span{font-size:.875rem}.life-opening h1{font-size:clamp(3.2rem,11vw,4.8rem)}.life-opening .eyebrow{font-size:.75rem;line-height:1.5}.masthead{height:auto;min-height:96px;flex-wrap:wrap;gap:15px;padding:20px 6vw}.masthead nav{gap:5px;margin-left:auto}.masthead nav button{font-size:.875rem;padding:8px 6px}.wordmark{font-size:24px}.wordmark span{font-size:.65rem}.masthead #jump-toggle span{display:none}.life-opening{display:block;padding:15px 6vw 28px}.life-opening>p{margin-top:20px;max-width:none}.time-controls{height:67px;padding:10px 6vw 6px;gap:15px}.time-position{width:81px}.time-position>span:first-child{font-size:1.35rem;white-space:normal}.scrubber{gap:9px}.scrubber>span{display:none}#time-scale{font-size:.875rem;min-width:105px;padding-left:0;gap:8px}.thread-controls{padding:0 5vw 10px;gap:3px;flex-wrap:wrap}#thread-options{gap:0;flex:1}#thread-options button{font-size:.8rem;padding:5px 8px;gap:5px}.thread-controls>#surprise-me{font-size:.75rem;padding:5px 0;min-height:36px}.thread-controls>#surprise-me{margin-left:5px}#thread-context{padding:0 6vw 10px;display:block}#thread-context>div{gap:12px;margin-top:5px}#thread-context p{font-size:.875rem;margin:6px 0}#thread-context #thread-reset{margin-left:auto}.life-era.chapter{padding-top:82px;scroll-margin-top:185px}.era-atmosphere,.life-era:nth-child(even)>.era-atmosphere{left:auto;right:7%;top:18px;text-align:right}.era-atmosphere>span{font-size:1.9rem}.era-atmosphere>small{font-size:.75rem}.moment,.moment.short,.moment:has(.with-photo){display:grid;grid-template-columns:24% 69% 7%;min-height:290px;padding:30px 0 50px;scroll-margin-top:195px}.moment-content,.moment.right .moment-content{grid-column:2;grid-row:1;margin:0;width:100%}.moment-node{left:calc(10.5% + var(--bend) * .3);top:64px}.moment-date,.wide-time .moment-date{font-size:.75rem;line-height:1.4;min-width:70px;max-width:80px;padding:3px;background:var(--bg)}.moment-content h2{font-size:2.1rem}.moment-content>p{font-size:1rem;line-height:1.7}.moment-find-label>span{font-size:.75rem}.moment-find-label>strong{font-size:1rem}.moment-content>.moment-note{font-size:1.4rem}.moment-content blockquote{font-size:1.65rem}.moment-pocket,.moment.right .moment-pocket{grid-column:2;grid-row:2;margin-top:22px;border-color:#8f9c7c}.moment-pocket:before{display:none}.moment-find.with-photo .moment-photo{height:auto;aspect-ratio:1.4}.pocket-toggle small{font-size:.75rem}.moment-threads{gap:12px}.pocket-toggle{gap:10px}.pocket-heading>span{font-size:.75rem}.life-fragment h3{font-size:1.65rem}.fragment-date>span{font-size:.75rem}.wide-time .moment,.wide-time .moment.short,.wide-time .moment:has(.with-photo){min-height:155px;padding:26px 0}.wide-time .moment-content h2{font-size:1.6rem}.wide-time .moment-zoom,.wide-time .moment.right .moment-zoom{left:auto;font-size:.875rem}.wide-time .moment-node{top:45px}.following-thread .off-thread,.following-thread .off-thread.short,.following-thread .off-thread:has(.with-photo){min-height:135px}.loose-ends #loose-items{grid-template-columns:1fr}.loose-ends{padding-left:7vw;padding-right:7vw}.loose-item strong{font-size:1.5rem}.loose-ends h2{font-size:2.7rem}.work-gallery{margin:0 20px 28px}.gallery-strip button{flex-basis:83%}.gallery-strip img{height:225px}.work-info h1{font-size:2.8rem}.work-display .artifact-copy h2{font-size:2.8rem!important}.work-display .artifact-meta{font-size:.75rem}.layer p,.relation p{font-size:1rem}.work-chrome>button{font-size:.875rem}.relation small{font-size:.75rem}.work-facts dd{font-size:.875rem}#index-panel{padding:30px 6vw 70px}.index-row{grid-template-columns:50px minmax(0,1fr) 18px;gap:15px;position:relative}.index-row .thumb{height:53px;width:50px;grid-row:1/3}.index-row strong{grid-column:2;font-size:1.1rem}.index-row small:nth-of-type(2){display:block;grid-column:2;grid-row:2;font-size:.75rem}.index-row .arrow{grid-column:3;grid-row:1/3}.index-top h2{margin-bottom:20px}.index-top button{font-size:.875rem}.index-filters button{font-size:.875rem}.fragment-result strong{font-size:1.35rem}.life-line path{stroke-width:2.5}.open-future>small{font-size:.75rem}.trail-footer{padding-bottom:45px}}
@media(max-width:380px){.thread-controls>#surprise-me{width:100%;text-align:right;margin:0;min-height:28px}.masthead nav{margin-left:0;width:100%;justify-content:space-between}.moment-content h2{font-size:1.85rem}.moment-date,.wide-time .moment-date{max-width:70px;min-width:65px}}
@media(prefers-reduced-motion:reduce){.moment-pocket{animation:none}.moment-photo img{transition:none}}
.recording-versions,.artifact-traces{margin:0 42px 32px;border-top:1px solid #b9c3a9;padding-top:24px}.recording-versions ol{list-style:none;padding:0;margin:0;counter-reset:takes}.recording-versions li{counter-increment:takes;display:flex;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid #bbc3ab;line-height:1.5}.recording-versions li:before{content:counter(takes,decimal-leading-zero);font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:#899875}.recording-versions li>span{font-size:1rem}.recording-versions small{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:.75rem;white-space:nowrap}.recording-versions>p:last-child{margin:17px 0 0;font-size:.875rem;color:#67745b}.artifact-traces>details>summary{cursor:pointer;font-family:'DM Serif Display',Georgia,serif;font-size:1.75rem;list-style:none;display:flex;gap:25px;justify-content:space-between}.artifact-traces>details[open]>summary>span{transform:rotate(45deg)}.artifact-traces .life-fragment{max-width:760px}.artifact-traces .life-fragment:focus{outline:2px solid #8d7656}.recording-versions li span{overflow-wrap:anywhere}
@media(max-width:760px){.recording-versions,.artifact-traces{margin-left:20px;margin-right:20px}.artifact-traces>details>summary{font-size:1.5rem}.recording-versions li{gap:13px}}
/* Ordinary life appears on the same dated path as the work. */
.moment-life-photos{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 0 12px;scrollbar-color:#93a17e transparent}.moment-life-photos>button{flex:0 0 86%;text-align:left;scroll-snap-align:start;padding:0}.moment-life-photos img{width:100%;height:270px;object-fit:cover;display:block;transition:filter .2s}.moment-life-photos button:hover img{filter:brightness(1.05)}.moment-life-photos button>span{display:flex;gap:15px;justify-content:space-between;font-size:.875rem;line-height:1.5;margin-top:10px}.moment-life-photos button b{font-weight:400}.moment-content>.photo-date-note{font-family:'IBM Plex Mono',monospace;font-size:.7rem;line-height:1.6;color:#6d795e;margin:0 0 24px}.moment-finds:empty{display:none}.era-photo-door{position:relative;z-index:2;margin:20px 7% 80px;width:36%;max-width:430px;padding:25px 0;border-top:1px solid #8b9f7860}.life-era:nth-child(even) .era-photo-door{margin-left:60%;width:34%}.era-photo-door>button{display:flex;flex-direction:column;gap:20px;text-align:left;width:100%;padding:0}.era-photo-preview{display:flex;gap:6px;width:100%;height:102px;overflow:hidden}.era-photo-preview img{width:calc((100% - 12px)/3);height:100%;object-fit:cover}.era-photo-door button>span:last-child{display:flex;flex-direction:column;gap:8px}.era-photo-door small{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:#69765b}.era-photo-door strong{font-family:'DM Serif Display',Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1.15}.era-photo-door button>span:last-child>span{font-size:.875rem;color:#775335}.era-photo-door button:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.wide-time .moment-life-photos,.wide-time .photo-date-note,.following-thread .off-thread .moment-life-photos,.following-thread .off-thread .photo-date-note,.wide-time .era-photo-door{display:none}.following-thread .era-photo-door{opacity:.65}.moment-life-photos img,.era-photo-preview img{border-radius:2px}.gallery-strip img[src$="experience-line.png"]{object-fit:contain;background:#f2eee4}.light-background{background:#f2eee4}.trail-footer>a{display:block;margin:20px auto 0;width:fit-content}.evidence-status{font-size:.8rem;color:#6a705c}
#photo-dialog{padding:45px 5vw 155px;overflow:hidden}#photo-context{position:absolute;top:12px;left:5vw;right:70px;color:#d7dbc9;font-family:'IBM Plex Mono',monospace;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:8px 0}#photo-dialog figure{gap:12px}#large-photo{max-height:calc(100svh - 285px);max-width:100%;width:auto;height:auto}#photo-dialog figcaption{max-width:900px}#photo-caption{margin:0 0 4px;font-family:'DM Serif Display',Georgia,serif;font-size:1.2rem;color:#f1eee5}#photo-source{font-size:.7rem;line-height:1.5;text-align:center;color:#aeb69f;margin:0}#photo-thumbnails{position:absolute;bottom:77px;left:5vw;right:5vw;display:flex;gap:7px;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#68745a transparent;padding:5px 0 8px}#photo-thumbnails button{flex:0 0 60px;height:50px;padding:0;opacity:.5;border:2px solid transparent;border-radius:2px;overflow:hidden}#photo-thumbnails button[aria-current=true]{opacity:1;border-color:#d9ef64}#photo-thumbnails button:hover{opacity:1}#photo-thumbnails img{width:100%;height:100%;object-fit:cover}.photo-navigation{bottom:17px}
@media(min-width:1000px){#photo-thumbnails{left:15vw;right:15vw}.moment-life-photos img{height:320px}}
@media(max-width:760px){.moment-life-photos img{height:255px}.era-photo-door,.life-era:nth-child(even) .era-photo-door{margin:10px 7% 55px 24%;width:69%;max-width:none}.era-photo-preview{height:85px}.era-photo-door strong{font-size:1.6rem}#photo-dialog{padding:48px 4vw 145px}#large-photo{max-height:calc(100svh - 280px)}#photo-caption{font-size:1.05rem}#photo-source{font-size:.65rem}#photo-thumbnails{left:4vw;right:4vw}.moment-content>.photo-date-note{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.moment-life-photos img{transition:none}}

/* Photographs stay connected to the story, with readable provenance on demand. */
#photo-dialog figcaption{width:min(900px,100%);position:relative;text-align:center}#photo-timeline{font-size:.875rem;min-height:40px;padding:8px 16px;text-decoration:underline;text-underline-offset:4px;color:#e5edc7}#photo-provenance{font-size:.75rem;color:#bcc5ac}#photo-provenance summary{cursor:pointer;min-height:32px;padding:6px}#photo-provenance[open]{background:#1a2017;padding:8px;max-height:165px;overflow:auto}#photo-source{font-size:.75rem;line-height:1.55}#large-photo{max-height:calc(100svh - 330px)}#photo-dialog:has(#photo-provenance[open]) #large-photo{max-height:calc(100svh - 420px)}.photo-result .thumb img{object-fit:cover}.photo-result strong{font-family:inherit}.moment-content>.photo-date-note{font-size:.75rem}@media(max-width:760px){#photo-source{font-size:.75rem}#photo-context{font-size:.75rem}#photo-timeline{font-size:.875rem}#large-photo{max-height:calc(100svh - 330px)}}

/* The solo setlist is a clear entry into the same chronological story. */
.opening-feature{display:block;width:fit-content;margin-top:18px;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;color:#4f6941}
.featured-setlist{position:relative;z-index:2;margin:45px 7% 85px;padding:38px;background:#e0e5d4;scroll-margin-top:160px;border-block:1px solid #9fab8e}
.setlist-intro{max-width:600px}.setlist-intro .eyebrow{font-size:.75rem}.setlist-intro h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.1;font-weight:400;margin:10px 0 18px}.setlist-intro>p:last-child{font-size:1rem;line-height:1.7;color:#4f5d45}.featured-setlist ol{list-style:none;margin:30px 0 0;padding:0}.featured-setlist li{border-top:1px solid #afbaa0}.featured-setlist li button{display:flex;align-items:center;gap:20px;padding:18px 0;width:100%;text-align:left}.setlist-number{font:12px 'IBM Plex Mono',monospace;color:#68785a}.featured-setlist img{width:120px;aspect-ratio:16/9;object-fit:cover}.featured-setlist strong{display:block;font-size:1.4rem;line-height:1.2;font-weight:500}.featured-setlist small{display:block;font-size:.75rem;margin-top:8px;color:#57684b}.setlist-open{margin-left:auto;font-size:.875rem;white-space:nowrap}.featured-setlist button:hover strong{text-decoration:underline;text-underline-offset:5px}.solo-moment .moment-find-label>span{color:#536b40;font-weight:600}.other-recordings{margin:0 42px 36px;padding-top:25px;border-top:1px solid #b9c3a9}.other-recordings a{display:grid;gap:8px;text-decoration:none;border-top:1px solid #bec6b1;padding:18px 0}.other-recordings a strong{font-size:1.2rem}.other-recordings a span{font-size:1rem;text-decoration:underline;text-underline-offset:4px}.other-recordings a small{font-size:.75rem;color:#627354}
@media(max-width:950px){.setlist-open{display:none}.featured-setlist{padding:28px}}@media(max-width:760px){.featured-setlist{margin:25px 7% 60px 12%;padding:22px;scroll-margin-top:190px}.featured-setlist li button{gap:12px}.featured-setlist img{width:72px}.featured-setlist strong{font-size:1.1rem}.setlist-number{display:none}.other-recordings{margin:0 20px 28px}}
.moment-more-photos{display:block;margin:12px 0 0;padding:9px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;text-align:left}.moment-more-photos span{margin-left:8px}.moment-more-photos:hover{opacity:.7}.moment-more-photos:focus-visible{outline:2px solid currentColor;outline-offset:5px}

/* Keep every date beside its story, clear of the winding line and neighbouring headings. */
.moment-content>.moment-date,.wide-time .moment-content>.moment-date{position:static;display:block;min-width:0;max-width:none;padding:0;margin:0 0 13px;background:none;text-align:left;font-size:.75rem;line-height:1.55;white-space:normal;color:#546d41}
.wide-time .moment-content>.moment-date{margin-bottom:9px}
.off-thread .moment-content>.moment-date{color:#79836f}
.moment-node{top:89px}.wide-time .moment-node,.off-thread .moment-node{top:61px}
@media(max-width:760px){.moment-node{top:82px}.wide-time .moment-node,.off-thread .moment-node{top:61px}}

/* Thread descriptions change the sticky controls height, especially on phones. */
html{scroll-padding-top:0}
.moment,.moment.short,.moment:has(.with-photo),.life-era.chapter,.featured-setlist{scroll-margin-top:calc(var(--journey-height,170px) + 24px)}
.wide-time .moment-more-photos,.following-thread .off-thread .moment-more-photos{display:none}

/* An artifact can be fitted to the screen or inspected at its native pixel size. */
#photo-image-area{display:grid;place-items:center;min-height:0;max-width:100%;overflow:hidden;flex:0 1 auto}
#photo-image-area:focus-visible{outline:2px solid #c8dca6;outline-offset:5px}
#photo-zoom{font-size:.8rem;min-height:36px;padding:7px 14px;text-decoration:underline;text-underline-offset:4px;color:#d4dec3}
#photo-dialog #large-photo{max-height:calc(100svh - 366px)}
#photo-dialog:has(#photo-provenance[open]) #large-photo{max-height:calc(100svh - 455px)}
#photo-dialog.photo-zoomed #photo-image-area{display:block;overflow:auto;overscroll-behavior:contain;width:100%;height:calc(100svh - 366px);flex:1 1 auto}
#photo-dialog.photo-zoomed #large-photo{width:auto;height:auto;max-width:none;max-height:none;margin:0 auto}
@media(max-width:760px){#photo-zoom{font-size:.75rem;padding:7px 10px}}

/* A recurring work has more than one place in a life. */
.work-timeline{margin:0 42px 40px;padding-top:26px;border-top:1px solid #b9c3a9}
.work-time-stops{position:relative;margin-top:22px;border-left:1px solid #9eae90;padding-left:22px}
.work-time-stops button{position:relative;display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr) 20px;align-items:center;gap:20px;width:100%;padding:20px 0;text-align:left;border-bottom:1px solid #c1c9b7}
.work-time-stops button::before{content:'';position:absolute;left:-27px;top:50%;width:9px;height:9px;border-radius:50%;background:#5d774b;box-shadow:0 0 0 5px #edf0e6}
.work-time-stops button>span{font:12px/1.6 'IBM Plex Mono',monospace;color:#546b43}
.work-time-stops strong{font-family:'DM Serif Display',Georgia,serif;font-size:1.45rem;font-weight:400;line-height:1.3}
.work-time-stops button:hover strong{text-decoration:underline;text-underline-offset:5px}
.work-time-stops button:focus-visible{outline:2px solid #546b43;outline-offset:5px}
@media(max-width:760px){.work-timeline{margin:0 20px 30px}.work-time-stops button{grid-template-columns:minmax(0,1fr) 20px;gap:9px 15px}.work-time-stops button>span{grid-column:1}.work-time-stops strong{grid-column:1;font-size:1.25rem}.work-time-stops b{grid-column:2;grid-row:1/3}}
/* A silent, manually explored sequence of selected storyboard drawings. */
.work-process{margin:0 42px 44px;padding:28px 0;border-top:1px solid #b9c3a9;min-width:0}
.work-process header>p:last-child{max-width:62ch;font-size:1rem;line-height:1.65;margin:12px 0 24px}
.work-process .section-title{margin:8px 0}.work-process figure{margin:0}
.process-image{display:block;position:relative;width:100%;padding:0;background:#f7f6f2;border:1px solid #a3ad9160;overflow:hidden;cursor:zoom-in}
.process-image img{display:block;width:100%;height:clamp(190px,36svh,430px);object-fit:contain;background:#fff}
.process-image>span{position:absolute;right:12px;bottom:12px;background:#f5f2e8ed;padding:8px 12px;border:1px solid #9da78c;font-size:.75rem}
.work-process figcaption{min-height:3.4em;margin-top:15px;font-size:1rem;line-height:1.6;max-width:70ch}
.process-navigation{display:flex;align-items:center;gap:18px;margin-top:12px}.process-navigation>div{flex:1;min-width:0}
.process-navigation>button{width:46px;height:46px;flex:none;border:1px solid #7c8b68;border-radius:50%;font-size:1.4rem}
.process-navigation>button:disabled{opacity:.3;cursor:default}.process-navigation>button:not(:disabled):hover{background:#d3ddbe}
.process-navigation label{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;line-height:1.5}
#process-scrub{display:block;accent-color:#415332;width:100%;margin:8px 0 0;min-height:32px;cursor:ew-resize}
.process-source{font-family:'IBM Plex Mono',monospace;font-size:.72rem;line-height:1.6;color:#596348;margin:8px 64px 0}
.work-process .photo-credit{max-width:75ch}.work-process :focus-visible{outline:2px solid #526a35;outline-offset:4px}
@media(max-width:760px){.process-image img{height:auto;aspect-ratio:16/9}.work-process{margin:0 20px 30px}.process-navigation{gap:10px}.process-navigation>button{width:42px;height:42px}.process-source{margin-left:52px;margin-right:0}.work-process figcaption{min-height:5em;font-size:.9rem}.process-image>span{right:6px;bottom:6px;padding:5px 8px}}

/* Give every photographed artifact the same separated date and title layers. */
.work-display .image-artifact > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.work-display .image-artifact .artifact-meta{position:absolute;inset:0 0 auto;z-index:1;color:#fff;opacity:1;padding:20px 22px 42px;background:linear-gradient(#0009,transparent)}
.work-display .image-artifact .artifact-caption{z-index:1}

/* An overview stays inside its gallery, preserving its place in the life story. */
#photo-overview-toggle{position:absolute;right:calc(3vw + 54px);top:14px;padding:8px 12px;min-height:38px;border:1px solid #68715e;border-radius:24px;color:#e9e9dc;font-size:.8rem;z-index:2}
#photo-context{right:270px}
#photo-dialog [hidden]{display:none!important}
#photo-overview{height:100%;overflow:auto;overscroll-behavior:contain;padding:10px 1vw 50px;scrollbar-color:#64705d transparent;scroll-padding-top:18px}
#photo-overview header{margin:8px 0 30px}
#photo-overview h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(1.7rem,3.5vw,2.8rem);font-weight:400;margin:0 0 7px}
#photo-overview header p{color:#adb7a3;font-size:.9rem;margin:0 0 18px}
#photo-year-nav{display:flex;gap:8px;flex-wrap:wrap}
#photo-year-nav button{border:1px solid #58644d;border-radius:24px;min-width:60px;min-height:38px;padding:7px 13px;font-family:'IBM Plex Mono',monospace;font-size:.75rem}
#photo-year-nav button:hover{background:#35412b}
#photo-overview-grid section{margin-bottom:35px;scroll-margin-top:12px}
#photo-overview-grid h3{font-family:'IBM Plex Mono',monospace;font-size:.8rem;font-weight:400;color:#d0d8c3;border-top:1px solid #404a37;padding-top:17px;margin:0 0 18px;display:flex;gap:12px;align-items:center}
#photo-overview-grid h3 span{color:#9eaa8e;font-size:.65rem}
.photo-overview-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:26px 18px}
.photo-overview-row button{padding:0;text-align:left;align-self:start;min-width:0}
.photo-overview-row img{display:block;width:100%;height:170px;object-fit:contain;background:#1c2119;border:2px solid transparent;border-radius:2px;transition:border-color .2s,transform .2s}
.photo-overview-row button[aria-current=true] img{border-color:#d9ef64}
.photo-overview-row button:hover img{border-color:#83996a;transform:translateY(-3px)}
.photo-overview-row span{display:block;font-size:.75rem;line-height:1.5;color:#c5cebb;margin-top:9px}
#photo-dialog.photo-overview-open{padding-bottom:12px}
#photo-dialog :focus-visible{outline:2px solid #d9ef64;outline-offset:4px}
@media(max-width:600px){#photo-context{right:66px;top:8px}#photo-overview-toggle{left:4vw;right:auto;top:42px}#photo-dialog{padding-top:91px}#photo-overview{padding-top:12px}.photo-overview-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.photo-overview-row img{height:150px}#photo-overview h2{font-size:1.8rem}#photo-dialog #large-photo{max-height:calc(100svh - 412px)}#photo-dialog:has(#photo-provenance[open]) #large-photo{max-height:calc(100svh - 500px)}}
@media(prefers-reduced-motion:reduce){.photo-overview-row img{transition:none}.photo-overview-row button:hover img{transform:none}}
/* Keep document excerpts readable instead of placing a second title over them. */
.work-display .document-artifact.image-artifact{height:auto;min-height:0;background:#fff;padding:14px;border:1px solid #dad7cc;transform:rotate(-1deg)}
.work-display .document-artifact.image-artifact>img{position:static;width:100%;height:auto;object-fit:contain}
.work-display .document-artifact.image-artifact .artifact-meta,.work-display .document-artifact.image-artifact .artifact-caption{display:none}

/* Echo branch & return (integration patch) */
.moment-echo{display:inline-flex;gap:8px;align-items:baseline;margin-top:14px;padding:4px 0;font-size:.75rem;color:#6b715e;text-underline-offset:4px}
.moment-echo>span:first-child{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;color:var(--acid);text-transform:uppercase}
.moment-echo:hover{color:var(--fg);text-decoration:underline}
.moment.echo-arrived .pin{background:var(--acid);border-color:var(--acid);box-shadow:0 0 0 6px var(--bg),0 0 0 7px var(--acid)}
#echo-return{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:11px;padding:7px 13px 7px 16px;border-radius:30px;background:#ddf459;color:#273417;border:1px solid #8ba430;box-shadow:0 15px 45px #0005;white-space:nowrap}
#echo-return[hidden]{display:none}
#echo-return button{font-size:12px;font-weight:600;padding:5px 2px;text-decoration:underline;text-underline-offset:4px;color:inherit}
#echo-return-label{font-size:11px;opacity:.75;max-width:38vw;overflow:hidden;text-overflow:ellipsis}
#echo-return.echo-suspended{display:none}
.wide-time .moment-echo,.off-thread .moment-echo{display:none}
@media(max-width:640px){#echo-return{max-width:calc(100vw - 20px)}#echo-return-label{display:none}}
