:root{color-scheme:light;--sky:#99e5fd;--ink:#283b3b;--paper:#fff4d7;--orange:#bd4a2d;font-family:Georgia,serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--sky);color:var(--ink);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,main:focus-visible{outline:3px solid #b84422;outline-offset:5px}a{color:inherit}[hidden]{display:none!important}button:disabled{opacity:.35;cursor:default}.masthead{position:fixed;z-index:15;left:4vw;right:4vw;top:max(25px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:15px}.masthead a{text-decoration:none}.brand-name{display:block;font-size:clamp(25px,3vw,38px);font-weight:bold;letter-spacing:-1.3px}.brand-dot{color:var(--orange)}.byline{display:block;font-family:Arial,sans-serif;letter-spacing:.14em;font-size:12px;line-height:1.8}.top-actions{display:flex;align-items:center;gap:20px}.quiet{font:14px Arial,sans-serif;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.sound{border:1.5px solid var(--ink);border-radius:100px;background:#ffffff48;padding:11px 18px;font-size:16px;min-width:106px}.sound span{font-size:22px;margin-right:5px}.sound[aria-pressed=true]{background:var(--ink);color:var(--paper)}.world{position:fixed;inset:0;overflow:hidden;touch-action:none;background:var(--sky)}.intro{position:absolute;z-index:3;top:22%;left:6.5%;max-width:33vw;transition:opacity .3s;pointer-events:none}.eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.13em;font-weight:bold;line-height:1.5}h1{font-size:clamp(28px,3.15vw,52px);line-height:1.14;letter-spacing:-1.2px;font-weight:normal;margin:19px 0}h1 em,h2 em{font-weight:normal}#instructions{font-size:17px;line-height:1.6}h2{font-weight:normal;font-size:clamp(30px,3.8vw,46px);line-height:1.06;letter-spacing:-1px;margin:14px 0 20px}p{line-height:1.55}.scene{position:absolute;inset:0;pointer-events:none}.summit,.shaft{position:absolute;left:60%;width:var(--mw);transform:translateX(-50%);will-change:top}.summit{height:var(--cap);z-index:4;transform-origin:center bottom}.summit-art{position:absolute;width:100%;height:100%;overflow:hidden}.summit-art>img{width:100%;display:block}.shaft{overflow:hidden;transform-origin:center top;z-index:2;height:var(--rock);will-change:transform,top}.shaft>img{position:absolute;width:100%;bottom:0}.figure{position:absolute;bottom:3%;height:34%;width:22%;transform-origin:center bottom;will-change:transform}.helmut{left:37%;height:38%;width:25%}.liese{left:7%;height:30%;width:20%}.fritzi{left:72%;height:30%;width:20%}.sprite{width:100%;height:100%;background-image:url('assets/characters.png');background-repeat:no-repeat;background-size:300% 100%}.cell-0{background-position:left center}.cell-1{background-position:center center}.cell-2{background-position:right center}.earth{position:absolute;left:0;width:100%;height:130vh;min-height:700px;background:#957048;z-index:5;will-change:top;border-top:7px solid #6c823d}.earth>img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.height-marker{position:absolute;right:5vw;top:30%;font-family:Arial,sans-serif;font-size:14px;writing-mode:vertical-rl;display:flex;gap:20px;align-items:center;opacity:.75}.ruler{height:160px;width:13px;background:repeating-linear-gradient(to bottom,var(--ink) 0 1px,transparent 1px 14px);border-right:1px solid var(--ink)}.high-note{position:absolute;z-index:8;left:7%;top:33%;max-width:30%}.high-note p{font-size:clamp(24px,3.2vw,43px);line-height:1.15;margin:0 0 25px}.ink-button{display:inline-block;border:1.5px solid var(--ink);background:var(--paper);padding:13px 20px;border-radius:4px;text-decoration:none;box-shadow:3px 3px 0 #283b3b33;font-size:16px}.ink-button:hover{background:#ffe6a5;transform:translateY(-1px)}.controls{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;z-index:20;background:var(--paper);border:1.5px solid var(--ink);border-radius:100px;padding:5px;box-shadow:0 5px 20px #2933221a}.controls button{border:0;background:none;min-height:45px;min-width:48px;border-radius:100px;padding:7px 13px}.controls button:hover{background:#eadbb6}.controls span{font-size:28px;line-height:1}.home-control{font-size:16px}.underground-card{position:absolute;top:31%;left:48%;right:9%;z-index:10;display:flex;gap:24px;align-items:center;color:#fff4d7;max-height:calc(100vh - 255px);overflow:auto;padding:15px 0}.underground-card h2{margin:12px 0}.underground-card p{font-size:16px}.book-cover{width:31%;height:auto;flex-shrink:0;box-shadow:8px 12px 0 #442f2555;transform:rotate(-5deg)}.book-status{font-style:italic;border-top:1px solid #fff4d76b;padding-top:13px}.underground-card .ink-button{color:var(--ink)}.fossil-note{position:absolute;top:37%;left:10%;z-index:10;color:#fff4d7;font-style:italic;font-size:22px;transform:rotate(-6deg);text-shadow:1px 2px 4px #493015}.stones{position:absolute;inset:0;z-index:6;overflow:hidden}.pebble{position:absolute;display:block;background-image:url('assets/mountain.png');background-position:50% 85%;background-size:250px 375px;clip-path:polygon(5% 20%,80% 0,100% 65%,40% 100%,0 65%)}footer{position:fixed;z-index:20;bottom:max(20px,env(safe-area-inset-bottom));left:4vw;right:4vw;display:flex;justify-content:space-between;gap:12px;font-family:Arial,sans-serif;font-size:14px}footer div{display:flex;gap:18px;align-items:center}footer button{background:transparent;border:0;padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px}body.below .masthead,body.below footer{color:var(--paper)}body.below .sound{border-color:var(--paper);background:#634b3444}body.below .height-marker{color:var(--paper)}body.below .ruler{background:repeating-linear-gradient(to bottom,var(--paper) 0 1px,transparent 1px 14px);border-color:var(--paper)}dialog{border:1.5px solid var(--ink);border-radius:5px;max-width:520px;width:calc(100% - 34px);max-height:85dvh;overflow:auto;padding:45px;background:var(--paper);color:var(--ink);box-shadow:12px 12px 0 #324b4355}dialog::backdrop{background:#233c4488;backdrop-filter:blur(4px)}dialog p{font-size:17px}.close{position:absolute;right:14px;top:8px;font-size:30px;background:transparent;border:0;width:38px;height:38px}.small-note{font-style:italic}.dialog-cover{display:block;width:min(100%,200px);height:auto;margin:20px auto}dialog h3{font-size:19px}dialog#legal p{font-size:16px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:99;left:10px;top:10px;background:var(--paper);padding:15px}.noscript{position:fixed;z-index:50;background:var(--paper);padding:30px;inset:25% 15%;overflow:auto}
@media(max-width:800px){.intro{top:17%;left:7%;max-width:80vw}h1{font-size:34px}#instructions{font-size:16px}.summit,.shaft{left:50%}.top-actions{gap:10px}.quiet{max-width:100px;font-size:14px}.sound{min-width:90px;padding:8px 11px}.brand-name{font-size:28px}.byline{font-size:12px;letter-spacing:.04em}.height-marker{right:4%;top:47%}.ruler{height:100px}.high-note{left:7%;top:18%;max-width:85%}.high-note p{font-size:29px}.underground-card{top:22%;left:11%;right:11%;gap:18px;max-height:calc(100dvh - 270px);padding:16px;color:#fff6e1;background:#4c3824c4;border-radius:5px}.underground-card h2{font-size:29px}.underground-card p{font-size:16px}.book-cover{width:27%}.fossil-note{left:8%;top:67%;font-size:17px}footer{font-size:14px;gap:8px;bottom:max(17px,env(safe-area-inset-bottom))}footer div{gap:12px}.controls{bottom:70px}dialog{padding:33px 26px}}
@media(max-width:420px){.masthead{top:20px;flex-wrap:wrap}.brand-name{font-size:25px}.quiet{max-width:90px}.top-actions{gap:7px}.byline{font-size:12px;letter-spacing:0}h1{font-size:29px}.intro{top:22%}.intro p{margin:10px 0}.underground-card{left:6%;right:6%;top:24%;gap:12px}.underground-card h2{font-size:26px}.book-cover{width:25%}footer{align-items:center}footer div{gap:8px;max-width:215px;flex-wrap:wrap;justify-content:flex-end}footer button{min-height:22px}}
@media(max-height:580px){.masthead{top:12px}.intro{top:24%}h1{font-size:27px;margin:10px 0}.intro #instructions{font-size:16px}.controls{bottom:45px}.controls button{min-height:36px}.controls span{font-size:24px}footer{bottom:10px}.underground-card{top:25%;max-height:calc(100vh - 180px)}.underground-card h2{font-size:26px}.fossil-note{top:35%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Sprite windows follow the actual illustration gutters; preserve character proportions. */
.figure{bottom:16%;height:50%;width:16.9%}.helmut{left:39%;height:50%;width:15.44%}.liese{left:13%;height:50%;width:16.9%}.fritzi{left:70%;height:50%;width:14.53%}.cell-0{background-size:303.56% 100%;background-position:left top}.cell-1{background-size:277.26% 100%;background-position:51.527% top}.cell-2{background-size:322.69% 100%;background-position:right top}
@media(max-width:800px){.high-note{top:auto;bottom:145px;left:7%;max-width:86%;padding:14px 18px;background:#fff4d7eb;border:1px solid #283b3b;border-radius:4px}.high-note p{font-size:25px;margin:0 0 12px}.earth>img{object-position:25% top}.underground-card{top:19%;max-height:calc(100dvh - 320px)}}


/* Layered world: scenery moves in world space, foreground hides the rock. */
.landscape{position:absolute;width:100%;left:0;z-index:1;will-change:top;pointer-events:none}.landscape img{display:block;width:100%;height:auto}
.shaft{height:auto;transform:translateX(-50%);overflow:hidden}.rock-piece{position:absolute;left:0;width:100%;overflow:hidden}.rock-piece img{position:absolute;left:0;width:100%;height:auto;display:block}
.earth{border-top:0}.ground-edge{position:absolute;left:50%;transform:translateX(-50%);z-index:8;pointer-events:none}.ground-edge img{width:100%;display:block}
.equipment{position:absolute;background:url('assets/equipment.png') no-repeat;background-size:200% 200%;pointer-events:none;visibility:hidden}
.water-tank{z-index:3;background-position:left bottom}.crane{z-index:3;background-position:right bottom}.hanging-bell{z-index:7;background-position:left top}.ground-signs{z-index:7;background-position:right top}
.rigging{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:6;pointer-events:none}.rigging path{fill:none;stroke-linecap:round;stroke-linejoin:round}#bell-line-shadow{stroke:#493925;stroke-width:4.5}#bell-line{stroke:#ddb363;stroke-width:2.3}.rigging circle{fill:#706e64;stroke:#302e2b;stroke-width:2}
.sky-cell{background-image:url('assets/sky-details.png');background-size:200% 200%;background-repeat:no-repeat;position:absolute}.clouds{position:absolute;inset:0;z-index:1;pointer-events:none}.cloud{width:clamp(160px,23vw,400px);height:clamp(160px,23vw,400px)}.cloud-a{left:3%;top:9%;background-position:left top}.cloud-b{right:0;top:22%;background-position:right top}.flying-bird{background-position:right bottom;left:18%;top:34%;width:85px;height:85px}.hive{background-position:left bottom;width:26%;height:42%;left:-3%;top:89%;z-index:5;transform-origin:right top}
.height-marker{z-index:12;right:3vw;top:26%;writing-mode:horizontal-tb;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:1;width:90px}.height-marker output{font:700 22px Georgia,serif;white-space:nowrap}.height-marker #height-label{font-size:14px}.ruler{position:relative;display:block;height:220px;width:15px;background:repeating-linear-gradient(to top,#283b3b 0 1px,transparent 1px 11px);border-right:1px solid #283b3b;margin-top:9px}.ruler-fill{position:absolute;bottom:0;right:0;width:4px;background:#b54f2c;height:0}.ruler-pointer{position:absolute;right:-6px;width:13px;height:13px;border-radius:50%;background:#b54f2c;border:2px solid #fff4d7;transform:translateY(50%)}.part-marks{position:absolute;inset:0;list-style:none;margin:0;padding:0}.part-marks li{position:absolute;right:28px;font:14px Arial,sans-serif;transform:translateY(50%);opacity:.55}.part-marks li.reached{opacity:1;font-weight:bold;color:#ae4327}.part-marks li:nth-child(1){bottom:100%}.part-marks li:nth-child(2){bottom:80%}.part-marks li:nth-child(3){bottom:60%}.part-marks li:nth-child(4){bottom:40%}.part-marks li:nth-child(5){bottom:20%}.ruler-caption{font:12px Arial,sans-serif;letter-spacing:.1em}
body.below .height-marker{opacity:.75}body.below .ruler-fill,body.below .ruler-pointer{opacity:0}
@media(max-width:800px){.landscape{width:180%;left:-40%}.height-marker{right:0;top:29%;width:60px;gap:6px}.height-marker output{font-size:18px}.height-marker #height-label{font-size:12px}.ruler{height:150px}.part-marks li{right:22px;font-size:12px}.cloud{width:190px;height:190px}.flying-bird{width:50px;height:50px}.high-note{max-width:72%;bottom:145px}.hive{left:-2%}}
@media(max-height:580px){.height-marker{top:24%;right:1%}.ruler{height:100px}.height-marker output{font-size:18px}.ruler-caption{display:none}}

/* Separate, accessible audio controls. */
.top-actions{gap:12px}.sound{font-size:15px;min-width:100px}.sound.effects{font-family:Georgia,serif}.sound[aria-pressed=true]{background:var(--ink);color:var(--paper)}
@media(max-width:800px){.masthead{flex-wrap:wrap;gap:9px}.masthead>a{width:100%}.top-actions{width:100%;justify-content:flex-end;gap:7px}.quiet{max-width:95px;font-size:14px}.sound{font-size:14px;padding:8px 10px;min-width:90px;min-height:40px}.intro{top:23%}.height-marker{top:32%}.high-note{bottom:145px}}
@media(max-width:420px){.top-actions{justify-content:space-between;gap:4px}.quiet{max-width:88px}.sound{padding:8px;min-width:86px}.masthead{top:14px}.intro{top:25%}}
@media(max-height:580px)and(min-width:801px){.masthead>a{width:auto}.top-actions{width:auto}.intro{top:25%}}

.figure{z-index:4}.flying-bird{animation:bird-flight 28s linear infinite}@keyframes bird-flight{0%{transform:translateX(-25vw) translateY(0) rotate(-5deg)}50%{transform:translateX(45vw) translateY(-32px) rotate(6deg)}100%{transform:translateX(105vw) translateY(10px) rotate(-5deg)}}.reduced-motion .flying-bird{animation:none}@media(prefers-reduced-motion:reduce){.flying-bird{animation:none}}
/* Fixed chapter scenes, with every moving world layer using the same geometry. */
.summit,.shaft{transform:none;left:0}.summit{isolation:isolate}.summit-art{z-index:0}
.chapter-cast{position:absolute;z-index:5;left:30%;top:8%;width:27.5%;aspect-ratio:652/645;background-image:url('assets/chapter-poses.png');background-repeat:no-repeat;background-size:192.3313% 194.4186%;background-position:0 0;opacity:0;pointer-events:none}
.chapter-cast[data-pose="2"]{background-position:108.3056% 0}
.chapter-cast[data-pose="4"]{background-position:0 105.9113%}
.chapter-cast[data-pose="5"]{background-position:108.3056% 105.9113%}
.storm-house{position:absolute;left:28.7%;top:-.25%;width:30%;z-index:1;opacity:0;pointer-events:none}
.storm-house img{display:block;width:100%;height:auto}
.ground-edge{transform:none;z-index:8}.ground-signs{z-index:10}.rigging{z-index:7}.rigging path{vector-effect:non-scaling-stroke}
#bell-line-shadow{stroke-width:4.1;stroke:#433021}#bell-line{stroke-width:2.15;stroke:#e5bc72}
.rigging circle{fill:none;stroke:#383b37;stroke-width:3;vector-effect:non-scaling-stroke}
#guide-mounts{stroke:#737870;stroke-width:4.5;fill:none;vector-effect:non-scaling-stroke}
.hanging-bell{z-index:6}.hive{top:67%;width:23%;height:37%;left:-1%}
.landscape{z-index:1}.earth>img{object-position:left top}.fossil-note{left:9%;top:58%;font-size:18px;max-width:150px}
.summit-cloud{background-position:left top;position:absolute;z-index:3;pointer-events:none;opacity:0}
.weather-shade{position:absolute;inset:0;background:#263750;z-index:10;pointer-events:none;opacity:0}
.rain{position:absolute;inset:-15%;z-index:11;opacity:0;pointer-events:none;background-image:repeating-linear-gradient(108deg,transparent 0 30px,#dfedff99 31px 32px,transparent 33px 85px);background-size:83px 190px;mask-image:repeating-linear-gradient(to bottom,#000 0 20px,transparent 22px 65px)}
.rain.falling{animation:rain-fall .62s linear infinite}@keyframes rain-fall{to{background-position:-42px 190px;transform:translate(-5px,45px)}}
.stormy .masthead,.stormy footer,.stormy .height-marker{color:#fff9e9}.stormy .sound{border-color:#fff9e9;background:#32485955}.stormy .sound[aria-pressed=true]{color:#233745;background:#fff4d7}.stormy .ruler{border-color:#fff4d7;background:repeating-linear-gradient(to top,#fff4d7 0 1px,transparent 1px 11px)}
.high-note{z-index:13;pointer-events:none}.high-note button{pointer-events:auto}.high-note .chapter-label{font:700 14px/1.5 Arial,sans-serif;letter-spacing:.14em;margin-bottom:14px}.high-note #height-story{font-size:clamp(28px,3vw,43px)}.stormy .high-note{color:#fff9e9}.high-note .ink-button{color:var(--ink)}
.part-marks li{right:15px}.part-marks button{border:0;padding:3px 7px;min-width:29px;min-height:27px;background:transparent;font:inherit;color:inherit;border-radius:50%}.part-marks button:hover{background:#ffffff70}.height-marker{z-index:14}
.music-options{display:grid;gap:10px}.music-options button{text-align:left;padding:15px 17px;border:1px solid #94a7a3;background:#fff9ec;border-radius:7px;display:block;width:100%}.music-options b{display:block;font-size:18px;font-weight:600}.music-options span{display:block;font:14px/1.45 Arial,sans-serif;margin-top:5px;color:#53645b}.music-options button[aria-pressed=true]{border:2px solid #8c492e;padding:14px 16px;background:#ffe9b8}.music-options button:hover{background:#fff0cc}
#music-choice{max-width:580px}.reduced-motion .rain{animation:none!important}.flying-bird{animation:none}
@media(max-width:800px){
 .landscape{width:145%;left:0}.ground-signs{z-index:10}.high-note{left:6%;bottom:155px;top:auto;max-width:75%;padding:12px 15px;background:#fff4d7ed;color:var(--ink)!important;border-radius:5px}
 .high-note .chapter-label{font-size:12px;margin-bottom:5px}.high-note #height-story{font-size:25px;margin:0 0 8px}.high-note .ink-button{padding:8px 12px;font-size:14px}.fossil-note{left:8%;top:64%;font-size:16px}
 .storm-house{left:28.7%;width:30%}.height-marker{right:0;top:32%;width:59px}.ruler{height:150px}.part-marks li{right:13px}.part-marks button{min-width:26px;padding:3px}
 footer div{max-width:260px;justify-content:flex-end;flex-wrap:wrap;gap:8px 13px}.intro{max-width:84%;left:7%}.underground-card{top:22%;max-height:calc(100dvh - 380px)}
}
@media(max-width:420px){.high-note{max-width:73%;bottom:155px}.high-note #height-story{font-size:22px}.high-note .chapter-label{font-size:12px}.underground-card{top:22%;max-height:calc(100dvh - 360px)}footer div{max-width:240px}.fossil-note{top:66%}}
@media(max-height:580px){.high-note{left:5%;top:31%;bottom:auto;max-width:32%;padding:10px}.high-note #height-story{font-size:24px}.high-note .chapter-label{margin-bottom:4px}.high-note .ink-button{font-size:14px;padding:7px 10px}.ruler{height:100px}.height-marker{top:28%}.underground-card{top:24%;max-height:calc(100vh - 150px)}.fossil-note{top:70%;font-size:14px}.controls{bottom:50px}footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){.rain{animation:none!important}}

.chapter-cast{left:19%}.chapter-cast[data-pose="4"],.chapter-cast[data-pose="5"]{top:11.3%}.storm-house{left:28.4%;width:30.5%;top:-.7%}
.rigging{z-index:9}

/* Reuse the illustration as three sprite windows, preserving each natural scale. */
.earth{background-color:#a47240;background-image:url('assets/underground-small.png');background-size:220% auto;background-position:right top;background-repeat:repeat-y}
.earth-roots{position:absolute;top:0;left:0;width:100%;height:min(18vw,300px);overflow:hidden}
.earth-roots img{width:100%;height:auto;display:block}
.fossil{position:absolute;background-image:url('assets/underground-small.png');background-size:506.6667% 459.0244%;background-position:10.4322% 74.7283%;mask-image:radial-gradient(ellipse at center,#000 48%,#000b 66%,transparent 77%);pointer-events:none}
.fossil-note{left:13%;font-size:16px;transform:none;margin:0}

/* Round 4: crisp native-scale soil, independent machinery and gentle wildlife. */
.earth{background:#986637;background-image:none;overflow:hidden}
.soil-tiles{position:absolute;inset:0}
.soil-column{position:absolute;top:0;bottom:0;width:360px;background-image:url('assets/underground-small.png');background-size:836px 470.5px;background-position:right top;background-repeat:repeat-y;mask-image:linear-gradient(to right,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.earth-roots{height:170px;overflow:hidden;mask-image:linear-gradient(#000 55%,transparent)}
.earth-roots img{position:absolute;width:680px;height:auto;max-width:none;top:0}
.fossil{filter:none;image-rendering:auto}
.water-tank{transform:scaleX(-1);transform-origin:center}
.mechanism{position:absolute;background-image:url('assets/mechanics-separated.png');background-repeat:no-repeat;background-size:200% 200%;pointer-events:none;visibility:hidden}
.crane{background-position:left top;z-index:3}
.winch{background-position:right top;z-index:4}
.hanging-bucket{background-position:left bottom;z-index:10}
.hanging-bell{background-position:right bottom;z-index:6}
#hoist-shadow{stroke:#433021;stroke-width:3.4}#hoist-line{stroke:#e5bc72;stroke-width:1.8}
.chapter-cast[data-pose="1"]{left:44%}
.hive{height:calc(var(--mw)*.141);overflow:hidden;background-size:200% 326.24%;background-position:0 78.11%}
.flying-bee{left:0;top:calc(var(--mw)*.55);width:calc(var(--mw)*.065);height:calc(var(--mw)*.052);z-index:6;background-size:731.4286% 800%;background-position:3.6199% 90.9821%;animation:bee-flight 11s ease-in-out infinite;transform-origin:center}
.flying-bird{animation:bird-flight 28s linear infinite}
@keyframes bee-flight{0%,100%{transform:translate(0,0) rotate(-3deg)}25%{transform:translate(calc(var(--mw)*.08),calc(var(--mw)*-.035)) rotate(6deg)}50%{transform:translate(calc(var(--mw)*.11),calc(var(--mw)*.045)) rotate(-4deg)}75%{transform:translate(calc(var(--mw)*-.025),calc(var(--mw)*.018)) rotate(4deg)}}
.reduced-motion .flying-bird,.reduced-motion .flying-bee{animation:none}
.pause-flight .flying-bird,.pause-flight .flying-bee{animation-play-state:paused}
.music-option{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}
.music-options .vote-button{width:105px;text-align:center;font:600 14px/1.35 Arial,sans-serif;padding:12px 8px;border:1px solid #617b64;color:#294731;background:#e1ecd8}
.music-options .vote-button[aria-pressed=true]{background:#304e36;color:#fffbe9;border:1px solid #304e36;padding:12px 8px}
.vote-panel{border-top:1px solid #ad9675;margin-top:26px;padding-top:10px}
.vote-panel p{font-size:14px}.vote-ranking{list-style:none;padding:0;display:grid;gap:8px}
.vote-ranking li{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;gap:12px;padding:12px 10px;background:#eee1c6;border-radius:4px;font:14px/1.4 Arial,sans-serif}
.vote-ranking i{position:absolute;inset:0 auto 0 0;background:#c5d9b9;z-index:-1}.vote-ranking b{white-space:nowrap}
.vote-actions{display:flex;gap:15px;flex-wrap:wrap}.text-button{background:none;border:0;padding:5px 0;text-decoration:underline;font:14px Arial,sans-serif}
.vote-privacy{color:#5a6153;font:14px/1.5 Arial,sans-serif}#vote-status.error{color:#9f3024}
footer div{flex-wrap:wrap;justify-content:flex-end;gap:8px 15px}footer a{text-underline-offset:3px}
@media(max-width:800px){.music-option{grid-template-columns:1fr}.music-options .vote-button{width:100%;min-height:40px}.music-options b{font-size:17px}footer{font-size:13px}footer div{max-width:265px;gap:7px 11px}.controls{bottom:95px}.high-note{bottom:178px}}
@media(max-height:580px){.controls{bottom:70px}.high-note{bottom:auto}footer div{max-width:75vw}}
@media(prefers-reduced-motion:reduce){.flying-bee,.flying-bird{animation:none}}

/* Exact atlas windows preserve each drawing and its proportions. */
.crane{background-size:220.3866432% 245.8823529%;background-position:8.4671533% 10.7526882%;}
.winch{background-size:231.3653137% 396.8354430%;background-position:98.4550562% 28.0383795%;}
.hanging-bucket{background-size:337.0967742% 247.3372781%;background-position:15.8730159% 91.5662651%;}
.hanging-bell{background-size:243.9688716% 244.9218750%;background-position:94.8648649% 93.2614555%;}

.legal-page{overflow:auto;background:#99e5fd;font-size:17px;line-height:1.65;padding:30px clamp(20px,6vw,90px)}.legal-page header{display:flex;justify-content:space-between;gap:20px;align-items:center;max-width:960px;margin:auto}.legal-page .brand-name{text-decoration:none}.legal-page main{max-width:800px;background:#fff4d7;padding:clamp(22px,5vw,55px);margin:35px auto;border:1px solid #837257;border-radius:6px}.legal-page h1{font-size:40px}.legal-page h2{font-size:26px;line-height:1.3;margin:28px 0 12px;letter-spacing:0}.legal-page address{font-style:normal}.legal-page nav{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin:25px auto}.legal-date{font:14px Arial,sans-serif;margin-top:35px}.legal-page code{overflow-wrap:anywhere;font-size:14px}
.hive{height:calc(var(--mw)*.23);background-size:200% 200%;background-position:left bottom;clip-path:polygon(0 0,100% 0,100% 100%,34% 100%,34% 60%,0 60%)}
.flying-bee{height:calc(var(--mw)*.0551);background-size:681.521739% 803.846154%;background-position:2.803738% 90.710383%}

/* Chapter titles are entrances to five distinct buried book places. */
.high-note{max-width:31%;top:28%;pointer-events:auto}.chapter-title{display:block;text-align:left;color:#223a38;font:700 clamp(30px,3.1vw,48px)/1.13 Georgia,serif;border:0;background:none;padding:0;text-shadow:0 2px 0 #fff8df,0 0 18px #d5f7ff;letter-spacing:-.6px;text-decoration:underline;text-decoration-color:#bd4a2d77;text-decoration-thickness:2px;text-underline-offset:9px}.chapter-title:hover{color:#9a3d25}.high-note .chapter-discover{font:14px/1.5 Arial,sans-serif;margin:16px 0 23px}.stormy .chapter-title{color:#fff7dc;text-shadow:0 2px 7px #203447}.chapter-title:focus-visible{outline-offset:8px}
.underground-card{display:block;left:34%;right:9%;top:20%;max-height:calc(100dvh - 230px);padding:24px;background:#3c2b1de8;border:1px solid #c3995b;border-radius:10px}.underground-card>h2{font-size:clamp(25px,2.6vw,38px)}.book-parts{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0 23px}.book-parts button{min-width:0;text-align:left;border:1px solid #ab895b;background:#f7e6c8;color:#293b34;padding:12px 9px;border-radius:4px;font:14px/1.35 Georgia,serif}.book-parts b{display:block;font:700 12px Arial,sans-serif;margin-bottom:8px}.book-parts span{overflow-wrap:anywhere}.book-parts button[aria-pressed=true]{background:#ffe5a1;border:2px solid #f6b95d;padding:11px 8px}.buried-book{display:flex;gap:23px;align-items:center}.buried-book h3{font:normal 28px/1.2 Georgia,serif;margin:10px 0}.buried-book .book-cover{width:26%}.buried-book .text-button{display:block;margin-top:14px;color:#fff4d7}.future-book{padding:12px 6px}.underground-card .eyebrow{font-size:12px}.book-status{margin-bottom:8px}
.game-lever{position:absolute;z-index:14;border:0;background:transparent;padding:0;cursor:pointer;min-width:35px;min-height:35px}.game-lever span{position:absolute;bottom:110%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff4d7;color:#283b3b;border:1px solid #846f4b;box-shadow:2px 3px #533d2522;padding:7px 10px;border-radius:5px;font:12px/1.4 Arial,sans-serif}.game-lever:hover span,.game-lever:focus-visible span{background:#ffe19f}.game-lever:focus-visible{outline:3px solid #c34e28;border-radius:10px}
.audio-start{position:fixed;z-index:22;right:4vw;top:100px;border:1px solid #7b5e32;border-radius:30px;background:#fff4d7;padding:9px 17px;font:14px Arial,sans-serif;box-shadow:0 3px 10px #324f3822}
@media(max-width:800px){.high-note{top:auto;bottom:180px;max-width:73%}.chapter-title{font-size:27px}.high-note .chapter-discover{font-size:12px;margin:10px 0}.underground-card{left:5%;right:5%;top:19%;max-height:calc(100dvh - 290px);padding:17px}.book-parts{grid-template-columns:repeat(5,minmax(110px,1fr));overflow-x:auto;padding-bottom:8px}.buried-book{gap:15px}.buried-book h3{font-size:25px}.audio-start{top:137px}.underground-card>h2{font-size:28px}}
@media(max-height:580px){.high-note{top:29%;bottom:auto;max-width:30%}.chapter-title{font-size:24px}.high-note .chapter-discover{margin:9px 0;font-size:12px}.underground-card{top:23%;left:22%;right:10%;max-height:calc(100dvh - 180px);padding:15px}.audio-start{top:77px}.book-parts{margin:12px 0;grid-template-columns:repeat(5,minmax(90px,1fr))}.game-lever span{font-size:11px}}


/* A native illustration window: the fencepost leans with its rope eyelet. */
.rope-post{position:absolute;z-index:8;pointer-events:none;transform-origin:50% 100%;background-image:url('assets/ground-open-gate.png');background-repeat:no-repeat;background-size:3194.117647% 583.870968%;background-position:2.851711% 50%}
.flying-bird{z-index:1;opacity:1;pointer-events:none}

/* The book library is outside the drag surface, so phone scrolling stays native. */
.underground-card{position:fixed;touch-action:pan-y;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:75px}
.book-parts{position:sticky;top:-1px;z-index:2;background:#3c2b1d;padding:8px 0;margin-top:10px}
.book-parts button{min-height:48px}
.buried-book .text-button{min-height:44px;text-align:left}
body.below .height-marker{visibility:hidden}
@media(max-width:800px){
 .underground-card{left:3%;right:3%;top:max(145px,calc(env(safe-area-inset-top) + 128px));bottom:calc(164px + env(safe-area-inset-bottom));max-height:none;padding:12px;scrollbar-gutter:auto}
 .underground-card>h2{font-size:25px;line-height:1.15;margin:8px 0 12px}
 .underground-card>.eyebrow{font-size:10px;margin:0 0 6px}
 .book-parts{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;overflow:visible;margin:8px 0 14px;padding:7px 0}
 .book-parts button,.book-parts button[aria-pressed=true]{text-align:center;padding:7px 2px;border-width:2px;min-height:48px}
 .book-parts b{font-size:13px;margin:0}.book-parts span{display:none}
 .buried-book{align-items:flex-start;gap:14px}.buried-book h3{font-size:23px;margin-top:4px}.buried-book p{font-size:15px}
 .buried-book .book-cover{width:24%;margin:10px 0 0 5px}
 .below .fossil-note{display:none}.below .audio-start{top:111px;font-size:12px;padding:5px 12px}
}
@media(max-height:580px){
 .underground-card{top:88px;bottom:125px;left:22%;right:9%;max-height:none;padding:12px}
 .underground-card>h2{font-size:23px}.underground-card>.eyebrow{display:none}
 .book-parts{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;overflow:visible;margin:7px 0 12px;padding:5px 0}
 .book-parts button,.book-parts button[aria-pressed=true]{padding:7px 2px;text-align:center;border-width:2px;min-height:44px}
 .book-parts b{font-size:13px;margin:0}.book-parts span{display:none}
 .below .fossil-note{display:none}
}
@media(max-width:800px)and(max-height:580px){.underground-card{left:3%;right:3%;top:140px;bottom:130px}}
@media(min-width:600px)and(max-height:580px){
 .masthead{flex-wrap:nowrap;gap:12px}.masthead>a{width:auto}.top-actions{width:auto}
 .brand-name{font-size:24px}.byline{font-size:10px}.quiet{font-size:12px;max-width:85px}
 .sound{min-width:82px;padding:8px;font-size:13px}
 .underground-card{left:10%;right:10%;top:88px;bottom:120px}
}
