@import url('https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--night:#100e1c;--paper:#e9dfc6;--ink:#392d36;--gold:#edcd8a;--red:#6d233b;--silver:#e5e3ee;--frame:clamp(10px,2vw,25px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--night);color:var(--silver);font-family:'IM Fell English',Georgia,serif;font-size:16px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #ffeba9;outline-offset:5px}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button:disabled{opacity:.4;cursor:wait}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;z-index:100;padding:15px;background:var(--paper);color:var(--ink)}.skip:focus{top:5px}.theatre{position:relative;width:100%;height:100svh;overflow:hidden;background:var(--night)}.curtain{position:fixed;inset:0;z-index:40;overflow:hidden;background:#090d20;transition:opacity 1.2s,visibility 1.2s}.curtain.departed{opacity:0;visibility:hidden;pointer-events:none}.curtain-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 42%;animation:arrival 3s ease-out both}.curtain-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0a1bf5 1%,#0b0a1bd9 25%,#0b0a1b20 75%),linear-gradient(0deg,#090b1fd4,transparent 30%)}.curtain-letter{position:absolute;left:8%;top:50%;transform:translateY(-50%);width:480px;max-width:84%;animation:inkappear 1.6s .5s both}.overture{font-style:italic;font-size:19px;color:#e9dac0;letter-spacing:.7px;margin-bottom:30px}.curtain h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(65px,7vw,115px);line-height:.87;letter-spacing:-3px;color:#f2e3b6;text-shadow:0 3px 25px #0008}.curtain h1>span{font-size:.35em;display:block;letter-spacing:0;margin:0 0 10px 5px}.curtain h1 em{font-size:1.37em;font-weight:400;display:block;margin-left:45px;margin-top:10px}.opening-line{font-size:20px;line-height:1.6;margin:35px 0 25px;color:#e0dce1}.opening-line i{color:#f4d59b}.enter{background:none;display:flex;align-items:center;gap:22px;padding:18px 0;color:#ffe7af;font-size:22px;border-bottom:1px solid #ddbe7b77}.enter svg{width:72px;fill:none;stroke:currentColor;stroke-width:1;transition:transform .4s}.enter:hover svg{transform:translateX(12px)}.entrance-note{font-size:12px;line-height:1.6;color:#b6b2c8;margin-top:22px}.plain{background:none;padding:8px 0;border-bottom:1px dotted #b9a783;color:inherit}.curtain .plain{font-size:13px;color:#d6c7a6;margin-top:9px}.curtain-credit{position:absolute;right:5%;bottom:30px;color:#d6c7a6;font-size:9px;letter-spacing:2px}.stage-frame{position:absolute;inset:var(--frame);border:1px solid #f0d6a060;z-index:11;pointer-events:none;box-shadow:0 0 0 5px #0d0b1544,inset 0 0 50px #0005}.stage-frame:before,.stage-frame:after{content:'✧';position:absolute;left:50%;transform:translateX(-50%);padding:0 15px;background:#161321aa;color:var(--gold);font-size:19px;line-height:19px}.stage-frame:before{top:-10px}.stage-frame:after{bottom:-10px}.stage-frame i{position:absolute;width:35px;height:35px;border:2px solid #e3c584;opacity:.75}.stage-frame i:nth-child(1){left:-4px;top:-4px;border-right:0;border-bottom:0}.stage-frame i:nth-child(2){right:-4px;top:-4px;border-left:0;border-bottom:0}.stage-frame i:nth-child(3){left:-4px;bottom:-4px;border-right:0;border-top:0}.stage-frame i:nth-child(4){right:-4px;bottom:-4px;border-left:0;border-top:0}.rigging{position:absolute;top:0;left:0;right:0;z-index:12;display:flex;justify-content:space-between;align-items:flex-start;padding:35px 45px 55px;background:linear-gradient(#0e0b20dc,transparent);pointer-events:none}.rigging>*{pointer-events:auto}.wordmark{font-family:'Cormorant Garamond',Georgia,serif;text-decoration:none;color:#fff1cd;text-align:center;line-height:1.1;flex-shrink:0;text-shadow:0 2px 10px #000}.wordmark span{display:block;font-size:17px}.wordmark em{font-size:43px;letter-spacing:-1px}.rigging nav{display:flex;gap:18px;transform:translateY(-35px)}.hanging{position:relative;background:linear-gradient(90deg,#351827,#6b3143 45%,#492137);box-shadow:0 8px 20px #0006;color:#f5dfb1;min-width:95px;padding:38px 14px 17px;font-size:13px;clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);transition:padding .3s}.hanging:before{content:'';position:absolute;inset:0 5px 10px;border-left:1px solid #dbac6866;border-right:1px solid #dbac6866;pointer-events:none}.hanging:hover{padding-top:48px}.symbol{display:block;font-size:24px;line-height:1.1;margin-bottom:8px}.weather{display:flex;gap:12px}.round{background:#13102099;border:1px solid #e0c48b88;color:#f5e1ae;border-radius:50%;width:34px;height:34px;font-family:Georgia,serif;font-size:18px;box-shadow:0 2px 10px #0004;display:inline-flex;justify-content:center;align-items:center}.round:hover{background:#614357bb}.round[aria-pressed=false]{opacity:.5}#world{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-x}#world::-webkit-scrollbar{display:none}#world:active{cursor:grabbing}#scenery{position:relative;width:max(100vw,150svh);height:100svh;overflow:hidden;isolation:isolate}#scene-image{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;z-index:-4;filter:saturate(.95);transition:filter 1.1s}.scene-tint{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#0c0a1bda,transparent 35%,transparent 70%,#0c0a1b33),radial-gradient(ellipse at center,transparent 40%,#08081777)}#memory-veil{position:absolute;inset:0;z-index:-1;background:#cdd1db;opacity:0;mix-blend-mode:saturation;pointer-events:none;transition:opacity 1s}.lights{position:absolute;width:100%;height:100%;z-index:-1;background:radial-gradient(ellipse at 80% 60%,#ffbf4a22,transparent 20%);animation:lamplight 5s infinite alternate;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);background:none;min-width:80px;min-height:80px;display:flex;align-items:center;flex-direction:column;justify-content:center;color:#fff5d0;text-shadow:0 2px 5px #000,0 0 15px #000;z-index:2;padding:15px}.hotspot-mark{display:flex;justify-content:center;align-items:center;border:1px solid #fff0bcaa;transform:rotate(45deg);width:28px;height:28px;box-shadow:0 0 0 5px #1b132355,0 0 30px #ffde8980;background:#281d3a66;transition:transform .4s,background .4s}.hotspot-mark>span{transform:rotate(-45deg);font-size:17px}.hotspot:before{content:'';position:absolute;top:calc(50% - 23px);left:calc(50% - 23px);height:46px;width:46px;border:1px solid #ffe8ab55;border-radius:50%;animation:beacon 4s infinite}.hotspot-label{font-size:15px;padding:11px 17px 4px;white-space:nowrap;background:radial-gradient(ellipse,#130e23cc,transparent 72%);transition:transform .3s}.hotspot-small{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#d3c4d5;opacity:0;transition:opacity .3s}.hotspot:hover .hotspot-small,.hotspot:focus-visible .hotspot-small{opacity:1}.hotspot:hover .hotspot-mark{transform:rotate(135deg) scale(1.15);background:#aa6c3c99}.hotspot:hover .hotspot-label{transform:translateY(3px)}.hotspot.visited .hotspot-mark{background:#62423988;border-color:#bb9e6e}.hotspot.exit .hotspot-mark{border-color:#d7caff;box-shadow:0 0 30px #ba9effbb}.hotspot.exit:before{border-color:#d5aaff55}.location-plaque{position:absolute;left:65px;bottom:125px;z-index:8;pointer-events:none;max-width:400px;text-shadow:0 3px 20px #000,0 2px 8px #000}.location-plaque>span{font-size:10px;letter-spacing:3px;color:var(--gold);display:block;margin-bottom:13px}.location-plaque h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(35px,4vw,61px);line-height:.95;color:#ffefc9;font-style:italic}.location-plaque p{font-size:15px;line-height:1.5;color:#d2d0db;margin-top:13px}.pan-hint{display:none}.stage-footer{position:absolute;bottom:40px;left:55px;right:55px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:12}.invitation-link{background:none;font-size:12px;color:#d8caaa;font-style:italic;text-align:left;max-width:130px;line-height:1.4}.next-scene{background:none;color:#f0dcaf;font-size:16px;max-width:160px;text-align:right;line-height:1.2}.next-scene span{font-size:30px;vertical-align:middle;margin-left:10px}.transport{display:flex;gap:12px;align-items:center;padding:8px 15px;border-radius:50px;background:#110c1dcc;box-shadow:0 4px 25px #0006;border:1px solid #bda06a50}.transport .round{border:0;background:none;box-shadow:none;width:25px;height:30px;font-size:28px}.transport #audio-settings{font-size:18px}.play-seal{height:48px;width:48px;flex-shrink:0;border-radius:50%;background:radial-gradient(ellipse at 35% 30%,#a44250,#682336 70%);color:#f7d5a1;border:2px double #c07873;outline:1px solid #451823;box-shadow:inset 0 0 0 4px #a5474555,0 3px 8px #0007;font-size:18px}.play-seal:hover{filter:brightness(1.3)}.now-playing{width:210px;max-width:23vw;line-height:1.3}.now-playing>span{color:#baabbe;letter-spacing:1.5px;font-size:8px;display:block;margin-bottom:5px}.now-playing>button{background:none;padding:0;color:#f1dfb9;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:left}.audio-tray{position:absolute;bottom:125px;left:50%;transform:translateX(-50%);z-index:15;width:320px;max-width:85vw;background:#171023f5;border:1px solid #bda06a80;padding:25px;box-shadow:0 15px 50px #0008}.audio-tray label{display:block;color:#d5c5a3;font-size:13px;margin:8px 0}.audio-tray input{width:100%;accent-color:#be7a7d}.audio-tray span{font-size:12px;color:#c3b9ca}.audio-tray .plain{display:block;margin-top:15px;font-size:12px}#audio{display:none}.flicker{position:absolute;right:55px;bottom:150px;z-index:9;background:none;display:flex;flex-direction:column;align-items:center;gap:5px;animation:starfloat 5s infinite ease-in-out;padding:10px;filter:drop-shadow(0 0 17px #ffd17a66)}.flicker svg{width:70px;height:70px}.flicker>span{font-size:12px;color:#f6ddb1;font-style:italic;text-shadow:0 2px 8px #000}.flicker:hover{filter:drop-shadow(0 0 25px #ffe8ab)}.flicker-message{position:absolute;right:65px;bottom:285px;z-index:10;width:250px;max-width:70vw;background:#fff0cf;box-shadow:0 5px 30px #0009;color:#493343;line-height:1.5;padding:22px;font-size:15px;transform:rotate(-3deg);border-radius:40% 5% 35% 5% / 4% 25% 5% 30%}.flicker-message:after{content:'';position:absolute;right:45px;bottom:-10px;border-top:13px solid #fff0cf;border-right:15px solid transparent}.scene-wipe{position:absolute;inset:0;z-index:20;pointer-events:none;background:radial-gradient(ellipse,#dcd8ef 10%,#4a3858 70%);opacity:0;transition:opacity .5s}.changing .scene-wipe{opacity:1}.tone-between #scene-image{filter:saturate(.8) brightness(.85)}.tone-keeper #scene-image{filter:saturate(.8) brightness(.86)}.tone-window #scene-image{filter:sepia(.15) brightness(.9)}.window-lit .lights{background:radial-gradient(ellipse at 65% 65%,#ffd47577,transparent 60%)}#snow{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}.still #snow{display:none}.still .lights,.still .hotspot:before,.still .flicker{animation:none}
/* Letters are objects laid over the stage, rather than another page. */
dialog{color:var(--ink);border:0;padding:0;box-shadow:0 25px 100px #0009;background:var(--paper);max-height:90svh}dialog::backdrop{background:#080616c9;backdrop-filter:blur(9px)}dialog[open]{animation:letterenter .45s ease-out}.close{position:absolute;top:17px;right:20px;z-index:4;background:transparent;color:inherit;font-family:Georgia,serif;font-size:33px;width:37px;height:37px;line-height:1}.letter-dialog{width:600px;max-width:91vw;transform:rotate(-.6deg);background:radial-gradient(ellipse at 20% 0,#fcf3db,transparent 60%),repeating-linear-gradient(20deg,#c7b99a09 0 1px,transparent 1px 4px),#e9dfc6;clip-path:polygon(0 1%,98.5% 0,100% 98%,1% 100%)}.letter-fold{padding:55px 55px 35px;border:1px solid #b4a17e77;margin:13px}.letter-kicker{font-size:10px;letter-spacing:2px;color:#815b52;text-transform:uppercase;margin-bottom:25px}.letter-dialog h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:49px;line-height:1;color:#5a2c40;margin-bottom:25px}.letter-dialog p{font-size:17px;line-height:1.7}.letter-dialog p+p{margin-top:15px}.letter-dialog em{color:#8a3d51}.letter-dialog .quote{font-size:25px;font-style:italic;color:#713c4d;margin:25px 0}.letter-bottom{text-align:center;font-size:8px;color:#967d60;letter-spacing:1.5px;padding:0 15px 20px}.ink-button{display:inline-flex;align-items:center;gap:20px;background:none;border-bottom:1px solid #9f7262;padding:14px 0;color:#702f46;font-size:18px;margin-top:20px}.ink-button:hover{color:#b34356}.ink-button .arrow{font-size:27px}.letter-dialog input[type=range]{accent-color:#86324a;width:100%;margin:25px 0 0}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:#927161;margin-top:5px}.letter-dialog .note{font-size:12px;color:#8e766b;margin-top:15px}.choice-row{display:flex;gap:25px;flex-wrap:wrap}.scene-action-note{margin-top:22px;color:#78374c;font-style:italic}.atlas-dialog{background:radial-gradient(ellipse at 65% 40%,#332448,#100e20 65%);color:#eee0c1;width:1050px;max-width:94vw;border:1px solid #ab8a6055;padding:40px 30px 20px}.map-caption{text-align:center;font-style:italic;font-size:14px;color:#b5a5ba;margin-top:5px}.atlas-dialog h2{text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:46px;margin-top:10px}.atlas-dialog h2 em{color:#d7ba82}.atlas{position:relative;aspect-ratio:1000/570;min-height:400px;background:radial-gradient(ellipse at 15% 25%,#bb905118,transparent 20%),radial-gradient(ellipse at 82% 60%,#8870cc18,transparent 25%)}.atlas>svg{position:absolute;width:100%;height:100%}.route{fill:none;stroke:#d3ae78;stroke-width:1;stroke-dasharray:2 8}.route-shadow{fill:none;stroke:#d3ae7855;stroke-width:8;filter:url(#route-glow)}.map-stars{stroke:#cbb1de66;stroke-width:1}.map-node{position:absolute;transform:translate(-50%,-50%);background:none;color:#eee1bd;min-width:145px;text-align:center;padding:10px}.map-node .map-glyph{display:block;font-size:39px;line-height:1.2;text-shadow:0 0 15px #e5c18e66;color:#ecc888}.map-node .map-node-name{font-size:18px;display:block;text-shadow:0 1px 10px #000}.map-node small{display:block;font-size:10px;font-style:italic;color:#bdaec4}.map-node.current .map-node-name{color:#fff0ba;text-decoration:underline;text-underline-offset:6px}.map-node:hover .map-glyph{transform:scale(1.18)}.map-north{position:absolute;left:40%;top:37%;text-align:center;color:#a78caf;font-size:8px;letter-spacing:2px;line-height:2}.map-north:first-line{font-size:30px}.map-between{position:absolute;left:62%;top:56%;font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-style:italic;color:#a88ab166;transform:rotate(-15deg);pointer-events:none}.map-warning{position:absolute;bottom:5%;right:0;font-size:13px;font-style:italic;line-height:1.5;color:#ad9db4;transform:rotate(-6deg)}.map-footnote{text-align:center;color:#aa9eaf;font-size:11px;line-height:1.8}.songbook-dialog{width:1150px;max-width:96vw;height:86svh;display:none;overflow:hidden;background:linear-gradient(90deg,#e5d8bb,#f4ead3 37%,#b8a58a 38%,#f6edd8 40%,#eee2c6);border-radius:4px 12px 12px 4px}.songbook-dialog[open]{display:grid;grid-template-columns:38% 62%}.book-binding{position:absolute;left:38%;top:0;bottom:0;width:15px;background:linear-gradient(90deg,#0001,#3d201c66,#0001);z-index:2;pointer-events:none}.book-index{overflow-y:auto;padding:35px 35px 45px}.handwritten{font-style:italic;font-size:13px;color:#9c715b;transform:rotate(-3deg);margin:3px 0 25px}.book-index h2{font-family:'Cormorant Garamond',Georgia,serif;color:#5a3340;font-size:58px;line-height:.9}.book-index h2 em{margin-left:20px}.book-subtitle{font-size:14px;line-height:1.5;color:#88725d;margin-top:22px}.book-index select{margin:25px 0 20px;width:100%;background:none;border:0;border-bottom:1px solid #b6a084;color:#704d48;padding:8px 0;font-size:12px}.score-entry{display:grid;grid-template-columns:28px 1fr;gap:10px;text-align:left;width:100%;background:none;color:#755045;border-bottom:1px solid #baa58a44;padding:11px 0;align-items:start;line-height:1.3}.score-entry span:first-child{font-size:12px;color:#aa8e6a;padding-top:2px}.score-entry span:last-child{font-size:15px}.score-entry.selected{color:#942d49}.score-entry.selected span:first-child{color:#942d49}.score-entry:hover{color:#b12f49}.book-page{overflow-y:auto;padding:70px 60px 60px}.score-kicker{font-size:11px;letter-spacing:2px;color:#9c7d63;margin-bottom:20px}.book-page h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:49px;line-height:1;color:#642f43}.score-stave{height:35px;margin:20px 0;background:repeating-linear-gradient(0deg,transparent 0 5px,#a88a6633 5px 6px,transparent 6px 7px);display:flex;align-items:center;color:#815646;font-size:24px;letter-spacing:15px}.score-story{font-style:italic;font-size:17px;line-height:1.65;color:#7e6154}.score-cast{font-size:11px;line-height:1.5;color:#9d7f69;margin-top:17px}.score-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:18px 0 25px}.score-actions .ink-button{margin:0}.score-actions .travel-song{background:none;color:#986455;border-bottom:1px dotted #ad8871;padding:8px 0;font-size:13px}.score-lyrics{white-space:pre-wrap;line-height:1.85;font-size:17px}.lyric-direction{font-size:12px;color:#a18772;font-style:italic}.score-footnote{margin-top:35px;border-top:1px solid #bda88d66;padding-top:20px;font-size:11px;color:#a0876c;line-height:1.6}.cast-dialog{width:1150px;max-width:95vw;background:#131020;color:#ecdfc4;padding:35px 35px 25px;border:1px solid #a1816255;overflow-y:auto}.cast-caption{text-align:center;font-size:12px;font-style:italic;color:#ae9fb4;line-height:1.6;margin:10px auto;max-width:750px}.cast-dialog h2{text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:49px;margin:5px 0 20px}.cast-dialog h2 em{color:#ebcf95}.cast-stage{position:relative;max-height:500px;overflow:hidden;isolation:isolate}.cast-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#131020,transparent 30%);pointer-events:none}.cast-stage>img{display:block;width:100%;height:auto}.cast-pin{position:absolute;transform:translate(-50%,-50%);width:35px;height:35px;border:1px solid #ffe8b1;border-radius:50%;background:#2c16308c;box-shadow:0 0 25px #e9be7c99;color:#fff1c9;font-size:20px;z-index:2}.cast-pin.selected{background:#9c3a4b}.cast-voice{text-align:center;min-height:150px;padding:20px 10% 10px}.cast-voice h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;color:#f5ddb1}.cast-voice .role{font-size:11px;color:#c29ca8;margin:6px 0 13px;font-style:italic}.cast-voice p{font-size:16px;line-height:1.6;color:#c6bdcd}.cast-names{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:10px auto 20px}.cast-names button{background:none;color:#af9baf;font-size:13px;border-bottom:1px solid transparent;padding:5px 0}.cast-names button.selected{color:#f2ce8b;border-color:#f2ce8b}.noscript{position:fixed;inset:0;z-index:100;background:var(--night);color:var(--paper);padding:10vw;line-height:1.8}@keyframes arrival{from{transform:scale(1.08);filter:brightness(.3)}to{transform:scale(1);filter:brightness(1)}}@keyframes inkappear{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes starfloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(4deg)}}@keyframes beacon{0%,100%{opacity:.2;transform:scale(.85)}50%{opacity:.8;transform:scale(1.16)}}@keyframes lamplight{from{opacity:.5}to{opacity:1}}@keyframes letterenter{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
@media(max-width:1050px){.rigging{padding:28px 35px}.rigging nav{transform:translateY(-28px);gap:10px}.hanging{min-width:80px;padding:30px 10px 18px;font-size:12px}.location-plaque{left:40px}.stage-footer{left:35px;right:35px}.transport{gap:6px;padding:8px 10px}.now-playing{width:180px}.invitation-link{max-width:90px;font-size:11px}.next-scene{font-size:14px;max-width:110px}.book-page{padding:65px 35px}.book-index{padding:30px 25px}.flicker{right:30px}.pan-hint{display:block;position:absolute;bottom:104px;left:50%;transform:translateX(-50%);z-index:8;font-size:10px;letter-spacing:1px;color:#d7c5d9;text-shadow:0 1px 6px #000;pointer-events:none}}
@media(max-width:650px){:root{--frame:11px}.curtain-art{object-position:40% center;opacity:.9}.curtain-shade{background:linear-gradient(0deg,#08091bf5, #08091b80 70%,#08091b44)}.curtain-letter{left:9%;top:48%;width:82%;max-width:none}.curtain h1{font-size:clamp(67px,16vw,94px)}.curtain h1 em{margin-left:30px}.overture{font-size:15px;margin-bottom:23px}.opening-line{font-size:18px;margin-top:28px}.enter{font-size:21px}.entrance-note{font-size:11px}.curtain-credit{font-size:7px;letter-spacing:1.5px;left:9%;right:auto;bottom:26px}.rigging{padding:25px 25px 60px;align-items:flex-start}.wordmark span{font-size:13px}.wordmark em{font-size:34px}.rigging nav{position:absolute;right:23px;top:0;gap:7px;transform:none}.hanging{padding:27px 8px 19px;min-width:58px;font-size:10px}.hanging:hover{padding-top:32px}.symbol{font-size:22px;margin-bottom:5px}.weather{position:absolute;left:25px;top:105px;gap:10px}.weather .round{width:29px;height:29px;font-size:15px}.location-plaque{left:30px;bottom:186px;max-width:70vw}.location-plaque>span{font-size:8px;letter-spacing:2px;margin-bottom:10px}.location-plaque h2{font-size:39px}.location-plaque p{font-size:13px;margin-top:9px;max-width:245px}.stage-footer{bottom:25px;left:22px;right:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.transport{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;padding:9px 12px;width:100%;border-radius:50px}.now-playing{width:190px;max-width:45vw}.now-playing>button{font-size:13px}.now-playing>span{font-size:7px}.play-seal{width:42px;height:42px}.transport .round{width:21px}.invitation-link{max-width:150px;font-size:11px}.next-scene{justify-self:end;max-width:150px;font-size:13px}.next-scene span{font-size:20px;margin-left:4px}.pan-hint{bottom:154px;white-space:nowrap;font-size:9px}.flicker{right:20px;bottom:185px;padding:0}.flicker svg{width:52px;height:52px}.flicker>span{display:none}.flicker-message{right:27px;bottom:265px;width:230px;font-size:14px}.hotspot{min-width:75px;min-height:75px}.hotspot-label{font-size:14px}.hotspot-small{opacity:1;font-size:8px}.audio-tray{bottom:110px}.letter-dialog{max-height:85svh}.letter-fold{padding:40px 25px 25px;margin:10px}.letter-dialog h2{font-size:39px}.letter-dialog p{font-size:16px}.letter-kicker{margin-bottom:20px}.letter-dialog .quote{font-size:23px}.letter-bottom{font-size:7px}.atlas-dialog{padding:40px 10px 20px;max-width:97vw;max-height:91svh}.atlas-dialog h2{font-size:34px}.map-caption{font-size:11px;max-width:85%;margin:10px auto}.atlas{min-height:0;height:560px;aspect-ratio:auto}.atlas>svg{display:none}.map-node{min-width:125px}.map-node .map-glyph{font-size:30px}.map-node .map-node-name{font-size:16px}.map-node small{font-size:9px}.map-between{left:32%;top:44%;font-size:31px;transform:rotate(-55deg)}.map-north{left:42%;top:10%;font-size:6px;writing-mode:vertical-rl}.map-warning{right:4%;bottom:1%;font-size:10px}.map-footnote{font-size:9px;padding:0 10px}.songbook-dialog{max-width:96vw;height:91svh;background:linear-gradient(90deg,#c9bba0,#f4ead3 3%,#eee1c4);overflow-y:auto}.songbook-dialog[open]{display:block}.book-binding{left:4px;width:7px}.book-index{padding:30px 25px 15px;overflow:visible}.book-index h2{font-size:42px}.book-index h2 br{display:none}.book-index h2 em{margin-left:8px}.handwritten{font-size:11px;margin-bottom:20px}.book-subtitle{font-size:12px;display:none}.book-index select{margin:18px 0 12px}.score-index-mobile{max-height:170px}#score-index{display:flex;overflow-x:auto;gap:10px;padding:0 0 8px;scrollbar-width:thin;scrollbar-color:#98745e transparent}.score-entry{flex-shrink:0;width:145px;display:block;border:1px solid #b8a18377;padding:9px}.score-entry span:first-child{display:block;font-size:10px;padding:0 0 4px}.score-entry span:last-child{font-size:13px}.score-entry.selected{border-color:#942d49}.book-page{padding:25px 30px 45px;overflow:visible;border-top:1px solid #b5a18255;margin:0 12px}.book-page h3{font-size:39px}.score-kicker{font-size:9px;letter-spacing:1.5px;margin-bottom:15px}.score-story{font-size:16px}.score-lyrics{font-size:16px}.score-actions{gap:12px}.score-actions .ink-button{font-size:17px}.cast-dialog{padding:40px 15px 20px;max-height:90svh}.cast-dialog h2{font-size:40px}.cast-stage{overflow-x:auto;max-height:none;scrollbar-width:thin}.cast-stage>img{width:800px;max-width:none}#cast-pins{position:absolute;inset:0;width:800px}.cast-voice{padding:20px 10px 10px;min-height:180px}.cast-voice h3{font-size:32px}.cast-voice p{font-size:15px}.cast-caption{font-size:10px}.cast-names{gap:5px 15px}.cast-names button{font-size:12px}.close{top:12px;right:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:650px){.map-node{left:var(--mobile-x)!important;top:var(--mobile-y)!important}}
.cast-voice .plain{color:#d8b7a5;font-size:12px;margin-top:13px}.cast-stage{max-height:none}.still .curtain-art{animation:none}

.atlas:before{content:'';position:absolute;inset:0;background:linear-gradient(#17102299,#171022dd),url(assets/bellwether-stage.webp) center/cover;opacity:.22;mask-image:radial-gradient(ellipse,#000 35%,transparent 75%);pointer-events:none}.atlas>svg{z-index:1}.map-node,.map-north,.map-warning,.map-between{z-index:2}.mobile-route{display:none}.music-playing .play-seal{box-shadow:inset 0 0 0 4px #a5474555,0 0 22px #e99e7e66}.music-playing .lights{opacity:1;background:radial-gradient(ellipse at 80% 60%,#ffbf4a40,transparent 35%)}.memory-picture{height:140px;background:url(assets/workshop.webp) center/cover;margin:22px 0 0;filter:grayscale(1);border:5px solid #f8eed8;box-shadow:0 3px 10px #6e4d3b44;transform:rotate(1deg)}.knock-note{color:#813b4f;font-style:italic;margin-top:24px}.door-open .lights{background:radial-gradient(ellipse at 85% 58%,#ffd77599,transparent 50%)}
@media(max-width:650px){.atlas>svg.mobile-route{display:block;opacity:.6}.map-north{left:44%;top:6%;writing-mode:horizontal-tb;font-size:5px;letter-spacing:1px}.atlas:before{opacity:.35}}

.window-lit .lights{background:radial-gradient(ellipse at 76% 35%,#ffd47566,transparent 25%)}.door-open .lights{background:radial-gradient(ellipse at 89% 40%,#ffd77577,transparent 25%)}
@media(max-width:650px){dialog>.close{position:sticky;top:10px;float:right;right:10px;margin:0 10px -50px 0;z-index:20;background:#e9dfc6e8;border-radius:50%}.atlas-dialog>.close,.cast-dialog>.close{background:#131020e8}}

.tone-keeper .location-plaque{top:145px;bottom:auto}@media(max-width:650px){.tone-keeper .location-plaque{top:160px;bottom:auto}}

/* The hanging programme ribbons extend the scenic navigation. */
a.hanging{display:block;text-align:center;text-decoration:none;flex-shrink:0}.rigging nav{min-width:0;gap:10px}.rigging nav .hanging{min-width:80px;padding-left:10px;padding-right:10px}.hanging[aria-current=page]{background:linear-gradient(90deg,#624136,#956a4d,#624136);color:#fff1c9}.navigation-hint{display:none}
@media(min-width:651px) and (max-width:1100px){.rigging nav .hanging{min-width:67px;font-size:11px;padding-left:7px;padding-right:7px}.rigging nav{gap:6px}.rigging{padding-left:25px;padding-right:25px}.weather{gap:5px}.wordmark span{font-size:13px}.wordmark em{font-size:34px}}
@media(max-width:650px){.rigging nav{position:absolute;left:23px;right:23px;top:85px;transform:none;gap:9px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#b9936c55 transparent;padding:0 0 7px}.rigging nav .hanging{min-width:76px;padding:18px 9px 16px;font-size:11px}.rigging nav .hanging:hover{padding-top:18px}.rigging nav .symbol{font-size:23px}.rigging .weather{top:32px;right:25px;left:auto}.rigging .navigation-hint,.programme>.navigation-hint{display:block;position:absolute;right:26px;top:173px;color:#d2bfa0;font-size:9px;letter-spacing:.5px;z-index:12;text-shadow:0 1px 5px #000;pointer-events:none}.rigging{padding-bottom:150px;background:linear-gradient(#100e1cc9,transparent)}.programme-rigging{background:linear-gradient(#100e1cdd,transparent)}}

.rigging .hanging{height:113px;line-height:1.25}.curtain-information{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:25px;max-width:390px}.curtain-information a{font-size:12px;font-style:italic;color:#d7c6ae;text-decoration:none;border-bottom:1px dotted #a58a7055;padding-bottom:3px}.curtain-information a:hover{color:#ffe4ae}
@media(max-width:650px){.rigging .hanging{height:93px}.curtain-information{margin-top:18px;gap:8px 16px;max-width:330px}.curtain-information a{font-size:11px}}
