.gesture-label{display:inline-block;translate:var(--pull-x,0px) var(--pull-y,0px);transition:translate 320ms cubic-bezier(.2,.8,.2,1);transform-origin:center;pointer-events:none}
.next-work>.gesture-label{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px}
.contact>a>.gesture-label{display:flex;align-items:center;gap:24px}
.work-card .craft-visual.is-considered{--craft-zoom:1.025}
.work-card .paper-visual.is-considered .paper-sheet{transform:translate(-3px,-5px) rotate(-5deg);box-shadow:8px 12px 0 #d5ddcf}
.work-card .paper-visual.is-considered .app-sheet{transform:translate(3px,-2px) rotate(2deg);box-shadow:6px 10px 0 #cdd9c6}
.work-card .craft-visual.is-considered .craft-reticle{opacity:1;transform:translate(var(--craft-rx,0px),var(--craft-ry,0px)) rotate(0) scale(1)}
.article-chapter{position:relative}
.article-chapter:before{content:'';position:absolute;left:-19px;top:4px;bottom:36px;width:1px;background:#dce3d8}
.article-chapter:after{content:'';position:absolute;left:-19px;top:4px;bottom:36px;width:2px;background:#72876a;transform:scaleY(var(--chapter-read,0));transform-origin:top;pointer-events:none}
.lineage-view{cursor:grab;overscroll-behavior-x:contain;scrollbar-color:#8da27d #eff2ea;scrollbar-width:thin;position:relative}
.lineage-view.is-dragging{cursor:grabbing;user-select:none}.lineage-view img{user-select:none;-webkit-user-drag:none}
.lineage-view[data-can-left]{border-left-color:#597c45}.lineage-view[data-can-right]{border-right-color:#597c45}
[data-craft-surface=article] .ci-map rect.selected{filter:drop-shadow(0 0 2px #52774770)}
[data-craft-surface=colophon] .detail-intro{position:relative;padding-right:clamp(24px,27vw,400px)}
.source-pages{position:absolute;right:clamp(24px,6vw,90px);top:-28px;width:clamp(150px,23vw,280px);height:auto}
.source-thread,.path-return{stroke-dasharray:1;stroke-dashoffset:0}.source-sheet{transform-box:fill-box;transform-origin:center}
.credits>h2,#forest-music>h2{position:relative}.credits>h2:before,#forest-music>h2:before{content:'';position:absolute;left:-20px;top:.6em;width:7px;height:7px;border:1px solid #91a380;border-radius:50%}
.credits a{transition:border-color 220ms,color 220ms,background-color 220ms}.credits a:hover,.credits a:focus-visible{background:#eef3e8;border-color:#375c2f}
.return-path{display:block;width:min(440px,80vw);height:auto;margin:28px 0 20px}.path-footprints{transform-box:fill-box;transform-origin:center}
[data-craft-surface=recovery] .detail-intro{min-height:calc(100svh - 320px)}
.water-reading h1{position:relative}.water-reading h1:after{content:'';display:block;margin-top:30px;width:120px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' fill='none' stroke='%238ebcc9' stroke-width='.8'%3E%3Cpath d='M0 9Q15 1 30 9T60 9 90 9 120 9M15 15Q30 7 45 15T75 15 105 15'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.75}
.water-reading summary{border-bottom:1px solid transparent}.water-reading details[open]{background:linear-gradient(90deg,#24465830,transparent)}
.water-reading details p{padding-top:8px;padding-bottom:18px}.water-reading .pending{box-shadow:0 12px 45px #00000012}
[data-craft-surface=demo] .instrument-in-use{outline:1px solid #719a8544;outline-offset:6px;transition:outline-color 220ms}
[data-craft-surface=forest] #interact{box-shadow:0 6px 24px #15261319;transform-origin:50% 80%}
.film-player .play-symbol{transition:scale 360ms,background 360ms,box-shadow 360ms}
.film-start:hover .play-symbol,.film-start:focus-visible .play-symbol{scale:1.09;background:#152d25aa;box-shadow:0 0 0 9px #fcfff414}
.film-player[data-player-state=loading] .play-symbol{border-style:dashed;background:#243c3299}
.film-player video{opacity:.7;transition:opacity 420ms}
.film-player.playing video{opacity:1}
.film-player[data-player-state=buffering]:after{content:'';position:absolute;left:24px;right:24px;bottom:34px;height:2px;background:#c9dfcd;transform-origin:left;animation:media-breath 1200ms ease-in-out infinite alternate;pointer-events:none}
@keyframes media-breath{from{opacity:.15;transform:scaleX(.25)}to{opacity:.65;transform:scaleX(1)}}
.demo-shell iframe{opacity:0;transition:opacity 360ms}
.demo-shell[data-demo-state=ready] iframe{opacity:1}
.demo-shell[data-demo-state=loading] .demo-cover{position:absolute;inset:0;display:grid;place-content:center;z-index:2;background:#f4f8f5;pointer-events:none}
.demo-shell[data-demo-state=loading] [data-start-demo]{position:relative;opacity:.65}
.demo-shell[data-demo-state=loading] [data-start-demo]:after{content:'';position:absolute;left:25px;right:25px;bottom:8px;height:1px;background:#668356;animation:media-breath 1200ms ease-in-out infinite alternate}
.demo-shell[data-demo-state=error] .demo-cover{background:#f6f4ec}
@media(max-width:800px){.article-chapter:before,.article-chapter:after{left:-12px}[data-craft-surface=colophon] .detail-intro{padding-right:24px}.source-pages{position:static;display:block;width:180px;margin-top:25px}.credits>h2:before,#forest-music>h2:before{left:-14px;width:5px;height:5px}}
@media(hover:none){.gesture-label{translate:0 0!important}.work-card .craft-reticle{display:none}}
html[data-craft-quiet] .gesture-label{translate:0 0!important}html[data-craft-quiet] .work-card .craft-visual{--craft-zoom:1!important}
@media(prefers-reduced-motion:reduce){.gesture-label{translate:0 0!important}.film-player:after,.demo-shell [data-start-demo]:after{animation:none!important}}
@media print{.article-chapter:before,.article-chapter:after,.source-pages,.return-path,.water-reading h1:after{display:none}}
.next-work>.gesture-label{min-width:0;flex-wrap:wrap}.next-work strong{max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.next-work>.gesture-label{align-items:flex-start;flex-direction:column;gap:10px}.contact>a>.gesture-label{gap:15px}}

/* Keep both embedded controls and their close button within the reading viewport. */
.demo-shell.active{height:min(880px,calc(100svh - 205px));min-height:min(470px,calc(100svh - 205px))}

/* Arrival copy and the nearest action stack instead of competing for one position. */
[data-craft-surface=forest] .place-signals{position:absolute;bottom:88px;left:50%;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:min(470px,calc(100% - 48px));pointer-events:none}
[data-craft-surface=forest] .place-signals :is(#notice,#arrival-place,#interact){position:static;transform:none;max-width:100%;margin:0;flex-shrink:0}
[data-craft-surface=forest] .place-signals #interact{pointer-events:auto}
[data-craft-surface=forest]:has(#place[open]) .place-signals{visibility:hidden}
[data-craft-surface=forest]:has(#arrival-place:not([hidden])) #hint{opacity:0}
@media(max-width:640px){[data-craft-surface=forest] .place-signals{bottom:174px;max-width:calc(100% - 40px)}}
@media(max-height:550px) and (min-width:520px){[data-craft-surface=forest] .place-signals{bottom:27px;max-width:calc(100% - 260px)}}

.next-work>.gesture-label{white-space:normal}

.demo-return{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;font-size:14px;white-space:nowrap;padding:5px 8px;border-bottom:1px solid currentColor}.demo-return:hover{opacity:.75}.stage-head .demo-return{min-height:26px;padding:0;font-size:12px}.demo-return:focus-visible{outline:2px solid currentColor;outline-offset:3px}
