/* Reading Room sits beyond the existing mountain entrance. Its source text stays whole. */
@font-face{font-family:Alegreya;src:url('/assets/alegreya-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Alegreya;src:url('/assets/alegreya-latin-wght-italic.woff2') format('woff2');font-style:italic;font-weight:400 900;font-display:swap}
/* The scale: small words 18, controls and lists 20, prose 23, passages 34. (--small and --label are one size.) */
:root{--paper:#faf9f5;--ink:#202a30;--muted:#434e56;--line:#c2c6c4;--accent:#743521;--wash:#eeeee8;--prose:1.4375rem;--small:1.125rem;--label:1.125rem;--ui:1.25rem;--passage:clamp(1.6rem,2.6vw,2.125rem);--space:clamp(1.25rem,4vw,4rem)}
html[data-light=dawn]{--paper:#f6f0eb;--ink:#292436;--muted:#4f4554;--line:#bfb2ba;--accent:#743521;--wash:#ede4e0}
html[data-light=dusk]{--paper:#232533;--ink:#f7f1e5;--muted:#d6ccbc;--line:#777b8a;--accent:#ffe2b8;--wash:#2c2e3f}
html[data-light=night]{--paper:#111d25;--ink:#f5f4ec;--muted:#c0ced2;--line:#70828b;--accent:#f4dba5;--wash:#1b2a34}
/* The reader's text size reaches the prose, the passages, and the captions, dates, labels and links around them.
   Titles and year headings are already larger than these and keep their size. */
html[data-size=larger]{--prose:1.75rem;--small:1.25rem;--label:1.25rem;--ui:1.375rem;--passage:clamp(1.95rem,3.1vw,2.5rem)}
html[data-size=largest]{--prose:2rem;--small:1.375rem;--label:1.375rem;--ui:1.5rem;--passage:clamp(2.25rem,3.6vw,2.875rem)}
*{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%;color-scheme:light}
html[data-light=dusk],html[data-light=night]{color-scheme:dark}
body{margin:0;background:var(--paper);color:var(--ink);font:var(--ui)/1.5 Alegreya,Georgia,serif;font-variant-numeric:oldstyle-nums proportional-nums}
[hidden]{display:none!important}
/* Reserve the closed preference row before the deferred enhancement is ready.
   In a script-free document it stays absent; invisible controls cannot be used. */
html.js .comfort[hidden]{display:block!important;visibility:hidden;height:44px;overflow:hidden;pointer-events:none}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:active{color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:1px}
h1,h2,h3,p,figure,ol,ul{margin:0}h1,h2,h3{font-weight:500;line-height:1.06}
h1{font-size:clamp(2.6rem,4.6vw,4.8rem);letter-spacing:-.015em;text-wrap:balance}h2{font-size:2rem}h3{font-size:1.55rem}
img{display:block;width:100%;height:auto;max-width:100%}picture{display:block}figure{min-width:0}
figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;color:var(--muted);font-size:var(--small);line-height:1.5;padding-top:.8rem}
button,summary,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;border:1px solid var(--muted);background:transparent;color:var(--ink);padding:.5rem .85rem;min-height:44px;cursor:pointer;border-radius:2px}
button:hover{background:var(--wash);text-decoration:underline}
button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink);text-decoration:underline;text-decoration-thickness:2px}
.skip{position:fixed;left:1rem;top:-10rem;z-index:20;padding:1rem;background:var(--paper);color:var(--ink)}.skip:focus{top:1rem}
main{outline:none;max-width:88rem;margin:0 auto}
.mast{max-width:88rem;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.4rem 2rem;padding:1.4rem var(--space) 0}
.mast a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}
.mast .name{font-size:1.45rem;font-weight:600;letter-spacing:-.02em}
.mast nav{display:flex;gap:clamp(.8rem,2vw,2rem);flex-wrap:wrap}
.mast nav a:hover,.mast nav a[aria-current]{text-decoration:underline}
.meta{color:var(--muted);font-size:var(--small);line-height:1.45}
.prose{font-size:var(--prose);line-height:1.6;max-width:37rem}
.prose p{margin:0 0 1.1em}.prose a{overflow-wrap:anywhere}.prose p[id]{scroll-margin-top:2rem}.prose p:target{outline:2px solid var(--accent);outline-offset:.45rem}
.essay-opening h1{max-width:12ch;margin:1.2rem 0 1.8rem}.essay-opening .opening{max-width:35rem}
.read-link{display:inline-flex;gap:.8rem;align-items:center;min-height:44px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--accent);padding:.45rem 0}
.read-link:hover{color:var(--accent)}
.reading-entrance{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:clamp(3rem,8vw,9rem);padding:clamp(3rem,6vw,6rem) var(--space) 3rem;align-items:start}
.reading-side{padding-top:1.45rem;max-width:33rem}.reading-side .quiet-link{margin-top:1.4rem}
.quiet-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}
.comfort{margin:1rem var(--space) 3rem;max-width:52rem}
.comfort summary,.piece-shape summary{cursor:pointer;display:list-item;min-height:44px;padding:.5rem 0;font-size:var(--label);color:var(--muted);width:max-content;max-width:100%}
.settings-body{padding:1rem 0;border-bottom:1px solid var(--line)}
.choice{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.choice>span{min-width:3rem}.choice button{font-size:var(--label)}
.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.section-title span,.section-title a{font-size:var(--small);color:var(--muted)}.section-title a{min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.photo-shelf,.writing-index{padding:3rem var(--space) 4rem}
.photo-triptych{display:grid;grid-template-columns:1.3fr .75fr .75fr;gap:2rem;padding-top:2.2rem;align-items:start}
.photo-triptych figcaption{justify-content:flex-start;column-gap:1rem}.writing-index{margin-top:2rem}
.index-year{display:grid;grid-template-columns:9rem minmax(0,1fr);padding:2rem 0 1rem;gap:2rem}.index-year h3{padding-top:.85rem}
.index-year ol{list-style:none;padding:0}.index-year li{border-bottom:1px solid var(--line)}
.index-year a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;text-decoration:none;min-height:58px;padding:.9rem 0}
.index-year a:hover>span{text-decoration:underline}.index-year a>span{max-width:32rem;line-height:1.3}.index-year time{font-size:var(--small);color:var(--muted);white-space:nowrap}
.full-essay{max-width:47rem;margin:0 auto;padding:4rem var(--space) 4rem}
.full-essay h1{max-width:13ch;margin:1rem 0 2rem}.full-essay .comfort{margin:0 0 .25rem}
.full-essay .prose{max-width:100%}.essay-sub{font-size:1.375rem;margin:-.8rem 0 2rem;color:var(--muted)}
.piece-shape{margin-bottom:1.25rem}.piece-shape figure{padding:.8rem 0 1rem}
.ridge{width:100%;height:auto;display:block;overflow:visible;color:var(--ink)}
.ridge .unread{fill:var(--wash);stroke:var(--ink);stroke-width:1}
.ridge .read{fill:var(--ink)}.ridge .questions{fill:var(--accent)}.ridge .ticks{stroke:var(--muted)}
.ridge .hits rect{fill:transparent}.ridge .hits a:hover rect{fill:var(--accent);fill-opacity:.15}
.ridge .hits a:focus-visible{outline:none}.ridge .hits a:focus-visible rect{stroke:var(--accent);stroke-width:4;fill:var(--wash);fill-opacity:.35}
.piece-shape figcaption{display:block;line-height:1.5}.author-body p:empty{display:none}
.essay-finish{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;gap:.5rem 2rem;flex-wrap:wrap}
.essay-finish a{display:inline-flex;min-height:44px;align-items:center}.essay-finish>p{width:100%}
.room-continuation{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0;padding-top:1.5rem;border-top:1px solid var(--line);width:100%}
.room-continuation a{display:block;min-height:44px;text-decoration:none}.room-continuation a:hover .next-title{text-decoration:underline}
.room-continuation .meta,.room-continuation .next-title{display:block}.room-continuation .next-title{margin:.35rem 0;line-height:1.25}
.room-destinations{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;width:100%;margin-top:1rem}
.room-destinations a{display:inline-flex;align-items:center;min-height:44px}
.room-not-found h1{margin-bottom:1.5rem}.room-not-found p{margin-bottom:1.5rem}
.end{max-width:88rem;margin:0 auto;padding:2rem var(--space) 3rem;border-top:1px solid var(--line)}
.invitation{display:flex;gap:.3rem 2.5rem;align-items:baseline;flex-wrap:wrap;margin-bottom:2rem}
.invitation a{display:inline-flex;min-height:44px;align-items:center}.invitation>span{font-size:var(--small);color:var(--muted)}
.end nav{display:flex;flex-wrap:wrap;gap:.25rem 1.6rem}.end nav a{min-height:44px;display:inline-flex;align-items:center;font-size:var(--label)}
/* The range returns at the end of a piece: the entrance's own ridges and lights, this piece lit. Nothing moves. */
:root{--sky-top:#B9CFDC;--sky-low:#E7EEF1;--l0:#2C4050;--l1:#6A8090;--l2:#9AAEBB;--l3:#C4D1D9;--lit:#C9D24A}
html[data-light=dawn]{--sky-top:#BDB9D8;--sky-low:#F6D6C0;--l0:#3A3048;--l1:#86698A;--l2:#C49AA8;--l3:#E0B9B9;--lit:#F2BE72}
html[data-light=dusk]{--sky-top:#222C50;--sky-low:#E38A68;--l0:#201A2F;--l1:#573F62;--l2:#A8646F;--l3:#C98470;--lit:#F4A261}
html[data-light=night]{--sky-top:#060B15;--sky-low:#172339;--l0:#0D141F;--l1:#1C293B;--l2:#2A3950;--l3:#34445C;--lit:#C9D24A}
.essay-finish .range-return{display:block;width:100%;min-height:0;margin:2.5rem 0 .5rem;text-decoration:none;color:inherit}
.range-again{display:block;aspect-ratio:1000/372;background:linear-gradient(var(--sky-top),var(--sky-low));margin:0 calc(-1*var(--space));width:calc(100% + 2*var(--space));max-width:none}
.range-again .layer-0{fill:var(--l0)}.range-again .layer-1{fill:var(--l1)}.range-again .layer-2{fill:var(--l2)}.range-again .layer-3{fill:var(--l3)}
.range-again .lit{fill:url(#lit-fade)}.range-again .lit-a{stop-color:var(--lit);stop-opacity:.55}.range-again .lit-b{stop-color:var(--lit);stop-opacity:0}
.range-again .crest{fill:none;stroke:var(--lit);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.range-return-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.25rem;padding-top:.9rem;min-height:44px}
.range-return-word{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.range-return:hover .range-return-word{text-decoration-thickness:2px}
.range-return:focus-visible{outline-offset:8px}
@media(forced-colors:active){.range-again .lit{fill:Highlight}.range-again .crest{stroke:CanvasText}.range-again .layer-0{fill:CanvasText}.range-again .layer-1,.range-again .layer-2,.range-again .layer-3{fill:GrayText}.range-again{background:Canvas}}
@media print{.range-return{display:none!important}}
/* One day: one sky for the whole page, the colour of each minute reached at its photograph; the range's skyline closes each hour.
   One photograph: the sky of its hour above, the ground and its caption below. One column, one left edge. */
.room-day main,.room-photo main{max-width:none}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.col{max-width:64rem;margin:0 auto;padding:0 var(--space)}
.day-head{padding:3rem 0 2.5rem}
.day-head h1{margin:.5rem 0 1rem}.day-head .meta{font-size:var(--ui);max-width:36rem}
.hours{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr));gap:0 .25rem;margin:1rem 0 0 -.5rem;outline:none}
.hours a{display:inline-flex;align-items:center;min-height:44px;padding:0 .5rem;font-size:var(--small);color:var(--muted)}
.day{list-style:none;padding:0 0 calc(clamp(2.75rem,7vw,5.5rem) + 1.5rem);margin:0;background:var(--sky-low)}
.hour-group{background:var(--sky-from);scroll-margin-top:0}
.hour-group>.col{padding-top:1.25rem}
.hour-h{margin:0;font-size:var(--small);font-weight:500;line-height:1}
.hour-h a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;background:var(--ground);color:var(--on-ground);border-radius:2px;text-decoration:none}
.hour-h a:hover{text-decoration:underline}
.hour{background:var(--sky);color:var(--on-sky);padding:1.75rem 0 0;scroll-margin-top:1rem}
.frame{display:block;position:relative;z-index:1;width:min(100%,calc(74vh*var(--ar,1.3333)));max-width:100%;text-decoration:none}
.frame img{width:100%;height:auto}
.ground{position:relative;background:var(--ground);color:var(--on-ground);padding:0 var(--space) 2.25rem}
.ground::before{content:"";display:block;height:clamp(2.75rem,7vw,5.5rem);margin:-1px calc(-1*var(--space)) 0;background:var(--ground);-webkit-mask:url(/day-horizon.svg) center bottom/100% 100% no-repeat;mask:url(/day-horizon.svg) center bottom/100% 100% no-repeat;position:relative;top:calc(-1*clamp(2.75rem,7vw,5.5rem) + 1px);margin-bottom:calc(-1*clamp(2.75rem,7vw,5.5rem) + 1px)}
.cap{padding-top:.75rem;font-size:var(--small);line-height:1.5}
.cap .no{font-weight:500;font-variant-numeric:lining-nums;margin-right:.75rem}
.day-end{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;padding-top:2.5rem;padding-bottom:3rem}
.day-end a{display:inline-flex;align-items:center;min-height:44px}
.room-photo .mast{max-width:none;background:var(--sky-top);padding-left:max(var(--space),calc((100% - 88rem)/2));padding-right:max(var(--space),calc((100% - 88rem)/2))}
.ph{margin:0}
.ph .sky{background:linear-gradient(var(--sky-top),var(--sky-low));padding:2rem var(--space) calc(clamp(2.75rem,7vw,5.5rem) + 1.25rem)}
.ph-col{width:min(100%,calc(min(66vh,54rem)*var(--ar,1.3333)));max-width:84rem;margin:0 auto}
.ph .frame{width:100%}
.ph .ground{display:block;padding-top:0;padding-bottom:1.5rem;justify-content:normal;gap:0}
.ph .ground a{color:inherit}
.ph-nav{padding:1.25rem var(--space) 0;font-size:var(--small)}
.ph-pair,.ph-more{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem}
.ph-more{justify-content:flex-start;gap:.25rem 1.75rem}
.ph-nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.mast nav a,.room-destinations a,.end nav a{min-width:44px}
/* Subscribe: one field, one button, posting plainly to the newsletter. */
.subscribe{display:flex;flex-direction:column;gap:.4rem;max-width:34rem}
.subscribe label{font-size:var(--label)}
.subscribe-row{display:flex;flex-wrap:wrap;gap:.5rem}
.subscribe input[type=email]{font:inherit;font-size:var(--small);min-height:44px;min-width:0;flex:1 1 min(14rem,100%);padding:0 .8rem;border:1px solid var(--muted);border-radius:2px;background:var(--paper);color:var(--ink)}
.subscribe input[type=email]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.subscribe button{background:var(--ink);color:var(--paper);border-color:var(--ink);padding:.5rem 1.1rem}
.subscribe button:hover{background:var(--ink);text-decoration:underline}
.subscribe .meta{margin:0}
.subscribe-page{margin:2rem 0 2.5rem;max-width:40rem}.subscribe-page label{font-size:var(--ui)}
.room-subscribe h1{margin-bottom:1.5rem}.room-subscribe .prose{margin-bottom:.5rem}.room-subscribe>.meta{margin-bottom:2rem;max-width:40rem}
.invitation .subscribe{margin-bottom:.75rem}
@media(forced-colors:active){.ground::before{display:none}.hour-h a{border:1px solid CanvasText}.hour-group,.hour,.ph .sky{background:Canvas}}
@media print{.hour-group,.hour,.ph .sky{background:#fff;color:#000}.ground::before,.hours,.day-end,.ph-nav,.subscribe{display:none!important}.ground{background:#fff;color:#000}}
@media(max-width:1050px){.reading-entrance{gap:3rem}.index-year{grid-template-columns:6rem minmax(0,1fr)}}
@media(max-width:760px){
 :root{--space:1.25rem;--prose:1.375rem}
 .frame{width:100%}.ph-col{width:min(100%,calc(62vh*var(--ar,1.3333)))}.ph .sky{padding-top:1.25rem}
 .mast{padding-top:1rem;gap:0;width:100%}.mast .name{width:100%;margin-bottom:.2rem}
 .mast nav{justify-content:space-between;width:100%;gap:.25rem .7rem}.mast nav a{font-size:var(--label)}
 .reading-entrance{display:flex;flex-direction:column;padding-top:2rem;gap:2.5rem}
 .essay-opening h1{font-size:3rem;max-width:13ch;margin:.8rem 0 1.5rem}.reading-side{padding-top:0;max-width:100%;width:100%}
 .comfort{margin-bottom:1.5rem}.section-title{padding-bottom:1rem}.photo-shelf,.writing-index{padding-top:2rem;padding-bottom:2.5rem}
 .photo-triptych{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.photo-triptych figure:first-child{grid-column:1/-1}.photo-triptych figcaption{font-size:1rem}
 .index-year{grid-template-columns:1fr;gap:1rem;padding-top:2rem}.index-year h3{font-size:1.6rem}
 .index-year a{flex-direction:column;gap:.2rem;padding:.8rem 0}.index-year time{white-space:normal}
 .full-essay{padding-top:2rem}.full-essay h1{font-size:3rem}
 .room-continuation{grid-template-columns:1fr;gap:1.5rem}
 .invitation{flex-direction:column;align-items:flex-start;gap:.15rem}.invitation>span{margin-bottom:1rem}
 .end{padding-top:1.6rem}.end nav{gap:.2rem 1.25rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){button,button[aria-pressed=true]{color:ButtonText;background:ButtonFace;border:1px solid ButtonText}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:Highlight}.ridge .unread{fill:Canvas;stroke:CanvasText}.ridge .questions{fill:CanvasText}.ridge .hits a:focus-visible rect{stroke:Highlight}}
@media print{
 :root,html[data-light]{--paper:#fff;--ink:#000;--muted:#333;--line:#aaa;--prose:12pt;--accent:#000}
 body{background:#fff;color:#000;font-size:12pt}.mast nav,.comfort,.end,.skip,.read-link,.piece-shape,.room-continuation{display:none!important}
 main,.full-essay,.reading-entrance{display:block;max-width:none;padding:0}.mast{padding:0 0 1rem}
 .prose{font-size:12pt;max-width:none;line-height:1.5}.full-essay h1,h1{font-size:28pt}h2,h3{break-after:avoid}
 .photo-triptych figure{break-inside:avoid}a{color:#000}p{orphans:3;widows:3}
}
