/* The room moves around matte paper. No lighting sweep is applied to a leaf. */
.room-breath,.paper-breath,.title-air,.paper-air{display:none!important}
.echo-space{background:radial-gradient(ellipse at 41% 30%,#f2ebd8 0%,#e8e0cb 43%,transparent 77%),linear-gradient(114deg,#d7d1bd,#e7dfca 55%,#d9d4c2)}
#room-shadows{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:multiply;z-index:3}
#room-air{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
body.ambient-paused #room-air{visibility:hidden}

/* The accepted Song lettering, paper slip and outlined second impression. */
.opening-note{--prose-face:var(--song)}
.opening-note h2.prologue-title{margin-bottom:13px;width:min(100%,calc(var(--leaf-h)*.48));max-width:360px;animation:none}
.opening-note .soul-lettering{filter:none;transform:none;animation:none;overflow:visible;aspect-ratio:360/267}
.opening-note .prologue-imprint{font:400 11px/1.6 var(--song);letter-spacing:.12em;color:#675e45;margin-left:13px;gap:18px}
.opening-note .prologue-imprint time{font:400 10px/1.6 var(--song);color:#796b51}
.foreword-setting{column-gap:16px;margin-left:14px;margin-right:4px;grid-template-columns:minmax(0,1fr) 22px;max-width:326px;animation:none!important}
.foreword-days{max-width:272px}
.foreword-margin{font:400 12px/1.75 var(--song);letter-spacing:.17em;padding-top:9px;color:#6d634a}
.foreword-correspondence{margin-top:17px;padding-top:13px;border-top:1px solid #89927455}
.foreword-names{font:italic 28px/1.2 var(--display);margin-bottom:13px;color:#3d5036;gap:14px}
.foreword-names i{font:400 12px var(--song)}
.foreword-prose{font:400 clamp(15px,1.07vw,17px)/2.04 var(--song);font-synthesis:none;letter-spacing:.045em;color:#35422f;text-shadow:none;-webkit-text-stroke:0}
.foreword-line{white-space:nowrap}
.foreword-line:last-child{padding-left:.7em;margin-top:7px;color:#35422f}
.opening-note .prologue-turn{font:400 12px var(--song);margin-left:14px;letter-spacing:.17em;color:#63593f}
.foreword-margin:after{width:1px;background:linear-gradient(#aaa08380,#aaa08300);transform-origin:50% 0;animation:loose-margin 7s ease-in-out infinite alternate}
.at-opening .soul-paper{transform-origin:210px 126px;animation:paper-arrive 1.3s cubic-bezier(.2,.7,.2,1) both,paper-stir 8s 1.3s ease-in-out infinite alternate}
.at-opening .soul-outline{animation:outline-arrive 1.3s .18s ease-out both}
.at-opening .soul-ink{animation:ink-arrive 1.25s .12s cubic-bezier(.2,.6,.2,1) both}
.at-opening .foreword-premise,.at-opening .foreword-margin,.at-opening .foreword-names,.at-opening .foreword-line,.at-opening .prologue-turn{animation:note-arrive .95s .25s ease-out both}
.at-opening .foreword-margin{animation-delay:.35s}
.at-opening .foreword-names{animation-delay:.4s}
.at-opening .foreword-line:nth-child(1){animation-delay:.45s}
.at-opening .foreword-line:nth-child(2){animation-delay:.54s}
.at-opening .foreword-line:nth-child(3){animation-delay:.63s}
.at-opening .prologue-turn{animation-delay:.7s}
@keyframes paper-arrive{from{opacity:0;transform:translate(8px,13px) rotate(2deg)}to{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes paper-stir{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(-1px,-2.5px) rotate(-.6deg)}}
@keyframes outline-arrive{from{opacity:0;transform:translate(3px,-5px)}to{opacity:1;transform:translate(0,0)}}
@keyframes ink-arrive{from{opacity:0;filter:blur(3px);clip-path:inset(0 0 65% 0)}to{opacity:1;filter:blur(0);clip-path:inset(0)}}
@keyframes note-arrive{from{opacity:0;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes loose-margin{to{transform:rotate(3deg)}}

/* The quote mark shares exactly the same entrance as the quotation. */
.echo-panel:before{display:none!important;content:none!important}
.echo-quote-mark{position:absolute;left:-4px;top:84px;font:43px/1 Georgia,serif;color:var(--voice-accent);pointer-events:none}
.echo-panel .thought-thread path{transition:stroke .7s}
.echo-panel.room-near .thought-thread path{stroke:#746442}
.echo-panel.room-near .echo-folio{color:#8171512b}
.primary-read span,.end-links span{transition:transform .4s}
.primary-read:hover span,.end-links>*:hover span{transform:translate(3px,-3px)}

/* An open wooden cylinder music box. Its pins turn only during real playback. */
.listening-room{gap:12px;align-items:center}
.listen-toggle{display:grid;place-items:center;width:100px;min-width:100px;height:68px;min-height:68px;padding:0;perspective:none;isolation:isolate;color:#42583d}
.music-box{display:block;width:100px;height:68px;overflow:visible;filter:drop-shadow(0 2px 1px #655b4333);transition:transform .35s,filter .35s}
.music-box .cylinder-pins{animation:cylinder-turn 4.8s linear infinite;animation-play-state:paused}
.music-box .box-governor{transform-origin:104px 50px;animation:governor-turn 5.5s linear infinite;animation-play-state:paused}
.background-playing .cylinder-pins,.background-playing .box-governor{animation-play-state:running}
@keyframes cylinder-turn{to{transform:translateY(12px)}}
@keyframes governor-turn{to{transform:rotate(360deg)}}
.music-box .box-pause{display:none}
.listen-toggle[data-state=pause] .box-play{display:none}
.listen-toggle[data-state=pause] .box-pause{display:block}
.listen-toggle .box-key{transition:fill .3s}
.listen-toggle:hover .music-box{transform:translateY(-1px) rotate(-1deg);filter:drop-shadow(0 3px 2px #655b4342)}
.listen-toggle:hover .box-key{fill:#fff3d3}
.listen-toggle:active .music-box{transform:translateY(1px)}
.listen-toggle:focus-visible{outline:1px solid #70835b;outline-offset:4px}
.score-action{display:none}
#listen-menu{align-content:center;row-gap:3px;min-height:47px;padding:4px 0 7px}
#listen-caption{font:400 14px/1.45 var(--song);color:#43503a;letter-spacing:.035em}
#listen-byline{font-size:11px;line-height:1.35;margin-top:1px;color:#7f7258;font-variant-numeric:tabular-nums}
#listen-progress{bottom:1px;opacity:.65}

/* A narrow, worn measuring edge, with a shadow under its actual footprint. */
.wood-ruler{background:linear-gradient(180deg,#e7d9b3 0,#d9c698 3px,#ddd0a9 15%,#e1d4b0 58%,#d5c294 calc(100% - 3px),#b49d6e 100%);border-top:1px solid #f6e9c8;border-bottom:1px solid #98825b8c;box-shadow:inset 0 1px 0 #fff6d7a8,inset 1px 0 0 #bea67455,inset -1px 0 0 #a58e626b,0 2px 1px #6c563b32,0 6px 7px -3px #6350374a,0 15px 23px -12px #574f3440}
.ruler-grain{opacity:.32;background:repeating-linear-gradient(1.4deg,transparent 0 6px,#8a6f4326 6px 6.6px,transparent 6.6px 11px),repeating-linear-gradient(-.6deg,transparent 0 12px,#fff0c857 12px 12.7px,transparent 12.7px 24px)}
.ruler-lines i{box-shadow:1px 0 0 #fff1c853}
.ruler-marks>span{text-shadow:0 1px 0 #f3e7c277}
.cat-head,.cat-ears,.cat-back{transform-box:view-box;transition:transform .48s cubic-bezier(.2,.8,.2,1)}
.cat-head{transform-origin:65px 84px}
.cat-ears{transform-origin:58px 38px}
.cat-back{transform-origin:127px 86px}
.is-cat-held .cat-head{transform:translateY(-2px) rotate(-5deg)}
.is-cat-held .cat-ears{transform:rotate(4deg) scaleY(.88)}
.is-cat-held .cat-back{transform:scale(.985,1.065)}
.is-cat-held .cat-resting-body{animation:none;transform:none}
.is-cat-held .cat-thumb{filter:drop-shadow(0 1px 0 #f5eccfa6) drop-shadow(0 3px 2px #34432948)}

/* The final artwork belongs to a closing page, not an additional gallery item. */
.leaf.cat-finale{background:#eee9df;color:#46513e}
.cat-finale .leaf-content{padding:calc(var(--leaf-w)*.075) calc(var(--leaf-w)*.085) 40px;display:grid;grid-template-rows:auto auto minmax(55px,1fr) auto auto;gap:clamp(5px,calc(var(--leaf-h)*.014),11px);background:none}
.cat-finale .paper-grain{opacity:.26;mix-blend-mode:multiply}
.cat-finale:after{background:#c8bda4;border-color:#8b806144}
.cat-finale .running-head{margin:0;padding-bottom:10px;color:#7a745e;border-bottom-color:#a89a7559}
.cat-finale .finale-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.cat-finale h2,.compact-book .cat-finale h2{font:400 calc(var(--font)*1.75)/1.35 var(--song);letter-spacing:.16em;margin:0;color:#40533d}
.finale-heading .finale-author{font:italic calc(var(--font)*.82)/1.3 var(--display);color:#787d65}
.cat-finale .mounted-art.last-cat{width:calc(100% + var(--leaf-w)*.1);max-width:none;height:100%;max-height:none;min-height:0;aspect-ratio:auto;margin:0 calc(var(--leaf-w)*-.05);padding:0;background:#eee9df;box-shadow:none;border:0;transform:none;overflow:hidden;align-self:stretch}
.cat-finale .mounted-art.last-cat:before,.cat-finale .mounted-art.last-cat:after{display:none}
.cat-finale .mounted-art.last-cat>img{object-fit:contain;object-position:center;filter:none!important;transform:none!important;background:#eee9df;width:100%;height:100%}
.finale-poem{position:relative;margin:0 0 0 calc(var(--leaf-w)*.02)}
.finale-poem>p{font:400 calc(var(--font)*.91)/1.95 var(--song);letter-spacing:.075em;color:#505b45}
.finale-poem p.sleep-line{font:400 calc(var(--font)*1.5)/1.65 var(--song);letter-spacing:.2em;margin:8px 0 0;color:#3e5039}
.finale-poem .citation{font-size:calc(var(--font)*.57);margin-top:3px;min-height:25px;color:#7a7053}
.finale-farewell{position:relative;padding:17px 32px 0 0;margin-top:3px}
.farewell-rule{display:block;width:58%;height:1px;background:linear-gradient(90deg,#8b957260,transparent);position:absolute;top:0;left:0;transform-origin:0 50%;transition:width .8s}
.finale-farewell blockquote{font:400 calc(var(--font)*.8)/1.9 var(--song);color:#61654f;letter-spacing:.025em}
.finale-farewell .citation{font-size:calc(var(--font)*.53);margin-top:4px;min-height:24px;color:#7b755a}
.end-stop{position:absolute;right:2px;bottom:8px;font:400 calc(var(--font)*.7)/1 var(--song);color:#8f7159;writing-mode:vertical-rl;letter-spacing:.18em;padding:6px 3px;border-top:1px solid #a58c6860;border-bottom:1px solid #a58c6860}
.at-closing .finale-poem{animation:note-arrive 1.2s .12s ease-out both}
.at-closing .finale-farewell{animation:note-arrive 1.35s .5s ease-out both}
.at-closing .farewell-rule{animation:end-rule 1.4s .55s ease-out both}
@keyframes end-rule{from{transform:scaleX(.25);opacity:0}to{transform:scaleX(1);opacity:1}}
.last-night-sources{border-top:1px solid #a59a7947;margin-top:18px;padding-top:15px}
.last-night-sources p{font:400 calc(var(--font)*.75)/2 var(--song);color:#66644f}
.last-night-sources button{font-size:calc(var(--font)*.55);margin:0;min-height:26px}
.end-colophon .colophon-mark{height:24px;margin-bottom:5%}
.end-colophon .end-links{padding-top:12px}
.end-leaf .end-colophon h2{font-size:calc(var(--font)*2.1);line-height:1.3;margin:3% 0}
.end-colophon .colophon-quote{font-size:calc(var(--font)*.92);line-height:1.9}

body.ambient-paused .soul-paper,body.ambient-paused .foreword-margin:after,body.ambient-paused .cylinder-pins,body.ambient-paused .box-governor{animation-play-state:paused}
@media(min-width:801px) and (max-width:1200px){.foreword-prose{font-size:clamp(12px,calc((var(--opening-width) - 43px)/12.7),15px);letter-spacing:.025em}.foreword-names{font-size:23px;gap:10px}.foreword-setting{column-gap:10px;margin-left:9px}.opening-note .prologue-imprint{font-size:10px;gap:10px}.foreword-margin{font-size:10px}}
@media(max-width:1200px){.echo-quote-mark{top:72px}}
@media(min-width:801px) and (max-height:750px){.opening-note h2.prologue-title{width:min(100%,calc(var(--leaf-h)*.43));margin-bottom:10px}.foreword-days{max-width:234px}.foreword-correspondence{margin-top:12px;padding-top:10px}.foreword-names{font-size:23px;margin-bottom:10px}.foreword-prose{font-size:14px;line-height:2}.finale-poem>p{font-size:calc(var(--font)*.84);line-height:1.8}.finale-poem p.sleep-line{margin-top:5px;font-size:calc(var(--font)*1.35)}.finale-farewell{padding-top:11px}.last-night-sources{padding-top:10px;margin-top:12px}.end-colophon .end-links>*{min-height:28px}}
@media(max-height:750px){.echo-quote-mark{top:69px}}
@media(max-height:570px){.echo-quote-mark{top:63px}}
@media(min-width:801px) and (max-height:570px){.opening-note h2.prologue-title{width:min(100%,calc(var(--leaf-h)*.4))}.foreword-days{max-width:186px}.foreword-names{font-size:20px;margin-bottom:7px}.foreword-prose{font-size:12px;line-height:1.9}.foreword-correspondence{padding-top:7px;margin-top:8px}.listen-toggle,.music-box{width:79px;min-width:79px;height:54px;min-height:54px}.last-night-sources p{font-size:10px;line-height:1.75}.last-night-sources button{font-size:8px;min-height:22px}.end-colophon .end-links>*{min-height:24px;font-size:10px}.end-colophon #return-start{margin-top:6px}.last-night-sources{padding-top:7px;margin-top:7px}.finale-farewell blockquote{font-size:10px}.finale-poem p.sleep-line{font-size:18px}.finale-farewell{padding-top:8px}.cat-finale .leaf-content{gap:5px}.finale-farewell .citation{min-height:20px}}
@media(prefers-reduced-motion:reduce){.soul-paper,.soul-outline,.soul-ink,.foreword-premise,.foreword-margin,.foreword-names,.foreword-line,.prologue-turn,.cylinder-pins,.box-governor,.foreword-margin:after,.finale-poem,.finale-farewell,.farewell-rule{animation:none!important}#room-air{display:none}.music-box,.primary-read span,.end-links span,.cat-head,.cat-ears,.cat-back{transition:none!important}}
