#start-muted{border-radius:14px;background:#ffffff25;border:1px solid #ffffff55;padding:13px 26px;backdrop-filter:blur(10px)}#open-collection{text-decoration:underline;text-underline-offset:5px}.bridge-dialog[open],#exit-confirm[open]{animation:revision-in .65s both}dialog::backdrop{background:#173c3d88;backdrop-filter:blur(9px)}#exit-confirm{border-radius:22px;text-align:center}#exit-confirm button{margin:10px}.memory-strip img{display:block;width:100%;height:auto!important;min-height:0!important;object-fit:contain}.memory-strip{gap:0!important}.stage-birthday,.stage-birthday em{font-size:20px!important}.bridge-timeline time,.planning-timeline time{background:none!important;border:0!important;padding:0!important}.upside-front small{font-family:DengXian,'等线',sans-serif}@keyframes revision-in{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@media(max-width:600px){dialog{max-width:92vw;max-height:85svh}button{min-height:44px}}
/* Shared typography and quiet, floating motion. */
.house-sign,.hall-hotspot[data-spot=bridge] .hall-spot-label,.hall-hotspot[data-spot=planning] .hall-spot-label,.hall-hotspot[data-spot=gallery] .hall-spot-label,.hall-hotspot[data-spot=sound] .hall-spot-label{font-family:Georgia,'Times New Roman',SimSun,serif;font-style:italic;letter-spacing:-.04em;text-shadow:0 2px 10px #173a3688;animation:sign-float 7s ease-in-out infinite alternate}.hall-hotspot .hall-spot-label{font-size:clamp(12px,2.8vw,19px)!important}.house-sign{animation:sign-float 7s ease-in-out infinite alternate}
@keyframes sign-float{to{translate:0 -6px;rotate:-1deg}}
#reveal-photo{position:absolute;left:80%;top:48%;z-index:3;transform:translate(-50%,-50%) rotate(-8deg);padding:10px 15px;border-radius:9px;background:#173e3a55;backdrop-filter:blur(6px);color:#fff8e5;font-size:11px}
.bridge-ribbon,.bridge-gallery{overflow:hidden;padding:0;gap:0;scroll-snap-type:none}.bridge-marquee-track,.bridge-marquee-group{display:flex;width:max-content;flex-shrink:0;gap:0}.bridge-marquee-track{animation:bridge-marquee 65s linear infinite}.bridge-marquee-group img{display:block;width:auto;max-width:none;flex-shrink:0;object-fit:contain;scroll-snap-align:none}.bridge-ribbon .bridge-marquee-group img{height:180px}.bridge-gallery .bridge-marquee-group img{height:320px}@keyframes bridge-marquee{to{transform:translateX(-50%)}}
.bridge-timeline article{background:none;border:0;backdrop-filter:none;border-radius:0;padding:12px 18px;margin-bottom:55px}.bridge-timeline h3{margin:10px 0;font-size:17px}.bridge-tracer{fill:#fbffd2;stroke:none;filter:drop-shadow(0 0 5px #ebff98) drop-shadow(0 0 11px #e6ff9c)}
.bridge-dialog{isolation:isolate;background:#e6e9dad9}.bridge-dialog:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#e6e9dacc,#e6e9daee),var(--dialog-image) center/cover;filter:blur(3px);border-radius:inherit}.bridge-pa{position:relative;isolation:isolate;background:none;overflow:hidden}.bridge-pa:before{content:'';position:absolute;inset:-6px;z-index:-1;background:linear-gradient(#18393266,#183932cc),url('assets/bridge/pa.png') center/cover;filter:blur(2px)}
.stage-article{position:relative;isolation:isolate;overflow:hidden;color:#fff9e6!important}.stage-article:before{content:'';position:absolute;inset:-8px;z-index:-1;background:linear-gradient(#173c3b66,#173c3bcc),url('assets/stage/article-background.jpg') center/cover;filter:blur(2px) saturate(.65)}.stage-article:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.15;background:repeating-radial-gradient(circle at 13% 19%,#fff4 0 .5px,#0000 1px 3px)}
.timeline-body>li>time{display:block;font:11px/1.6 Arial,sans-serif;letter-spacing:.08em;margin:0 18px 8px;position:relative;z-index:2}.timeline-card{padding:20px!important}.timeline-body li{margin-bottom:45px!important}.timeline-body .timeline-card time{display:none}
.upside-sign{position:relative!important;inset:auto!important;font:italic clamp(29px,7vw,48px) Georgia,serif!important;opacity:.7!important}.upside-alphabet-return{position:absolute;left:62%;top:16%;width:20%;height:19%;z-index:5;background:transparent;border:0;cursor:pointer}.upside-alphabet-return:focus-visible{outline:2px solid #f8e7b5}.upside-firelight{position:absolute;left:40%;top:14%;width:10%;height:10%;pointer-events:none;background:radial-gradient(ellipse,#ffb44966,transparent 65%);mix-blend-mode:screen;animation:fire-flicker 2.1s ease-in-out infinite alternate}.upside-window-shimmer{position:absolute;left:67%;top:0%;width:33%;height:16%;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,transparent,#fff8d717,transparent);animation:window-tide 9s ease-in-out infinite alternate}@keyframes fire-flicker{25%{opacity:.35;scale:.93}60%{opacity:.8;scale:1.05}to{opacity:.5;scale:.96}}@keyframes window-tide{to{translate:4px 0;opacity:.35}}.upside-print-content p{font-family:DengXian,'等线',sans-serif}.upside-return-dialog{border:0;border-radius:20px;background:#dce1d4ed;color:#2b5050;text-align:center;padding:30px;max-width:90vw}.upside-return-dialog h2{font-size:20px;font-weight:400}.upside-return-dialog button{margin:8px;padding:12px;background:#315555;color:white;border-radius:10px}
.paint-letter b{font-family:'Segoe Print','Comic Sans MS',cursive!important;font-weight:900!important;color:#211c17!important;text-shadow:1px 2px 1px #34251a77,-1px 0 #40302655!important;filter:url(#rough-paint);transform:rotate(var(--tilt)) skew(-8deg);opacity:.85}.paint-letter:nth-child(3n) b{scale:.85 1.13}.paint-letter:nth-child(4n) b{translate:2px 5px}.key-chest span{text-shadow:0 1px 0 #d2b08188,0 -1px 1px #100c09!important;color:#3b2a1d!important;font-family:'Segoe Print',serif!important;mix-blend-mode:multiply;opacity:.75}.alphabet-bulb{box-shadow:inset -2px -3px 4px #000a,inset 2px 2px 3px #fff7,1px 3px 4px #0008!important;background:radial-gradient(ellipse at 35% 25%,#e8dfc1,#716e5b 55%,#262d23)!important;border:1px solid #252d22}
#exit-confirm{isolation:isolate;background:#e5e8d9e8;color:#315451;overflow:hidden;padding:30px}#exit-confirm:before{content:'';position:absolute;inset:-8px;z-index:-1;background:linear-gradient(#e5e8d9bb,#e5e8d9ee),url('assets/hall/day.webp') center/cover;filter:blur(4px)}
.memory-strip{display:flex;flex-direction:column;gap:0!important}.memory-wall{gap:0!important}.memory-strip img{flex:none;margin:0}.ending-copy h2{font-family:var(--serif);font-weight:400;font-style:normal;letter-spacing:-.045em;animation:welcome-fade 1.8s ease both}.ending-copy{animation:title-drift 7.8s -2s ease-in-out infinite alternate}
@media(max-width:600px){.bridge-gallery .bridge-marquee-group img{height:240px}.bridge-ribbon .bridge-marquee-group img{height:140px}.bridge-timeline article{width:84%}.bridge-timeline article:nth-of-type(even){margin-left:16%}.planning-monologue{overflow-wrap:anywhere}.ending-copy h2{font-size:clamp(32px,10vw,50px)}.stage-article{padding:24px}.upside-nav{padding-top:85px}}
html[data-motion=reduced] .bridge-marquee-track,html[data-motion=reduced] .house-sign,html[data-motion=reduced] .hall-spot-label,html[data-motion=reduced] .upside-firelight,html[data-motion=reduced] .upside-window-shimmer,html[data-motion=reduced] .ending-copy{animation:none}

.alphabet-bulb.clue-red{background:#ff8980!important;box-shadow:0 0 12px 5px #ff443b99,inset 2px 2px 2px #fff8!important}.alphabet-bulb.clue-yellow{background:#fff9b0!important;box-shadow:0 0 12px 5px #ffe26799,inset 2px 2px 2px #fff8!important}.alphabet-bulb.clue-blue,.alphabet-bulb.decoration{background:#b2dcff!important;box-shadow:0 0 12px 5px #6eb3ff88!important}.chapter-character{animation:none!important}.stage-ending>p{font:italic 19px Georgia,serif;margin:40px auto 60px}.stage-birthday em{font-weight:400!important}.chapter-thread{display:none!important}

.bridge-dialog a{color:#315b55;text-underline-offset:5px}.upside-return-dialog[open]{animation:revision-in .5s both}

.alphabet-bulb.clue-purple{background:#e4c5ff!important;box-shadow:0 0 12px 5px #c694f799,inset 2px 2px 2px #fff8!important}.upside-original-group video{width:100%;max-height:72svh;object-fit:contain}.bridge-dialog button{background:none;color:inherit;border:0;padding:4px 8px}

.more-content h2{font-size:21px;font-weight:400}.more-content>button{display:block;width:100%;text-align:left;border-bottom:1px solid #31545122;padding:14px 0}

/* Keep the visible help glyph circular while its pseudo-element supplies the touch target. */
button.question-button{min-height:0!important}.stage-heading #stage-help{min-height:0!important;width:20px;height:20px;position:relative}.stage-heading #stage-help:after{content:"";position:absolute;inset:-12px}
