.tower-walk{margin:50px 0 0;padding:27px;background:#f5f2e9;border:1px solid #dedbcf}
.tower-walk-heading{text-align:center;margin:0 auto 20px;max-width:650px}
.tower-walk-heading .eyebrow{justify-content:center}
.tower-walk-heading h3{font-family:"Gowun Batang","Batang",serif;font-weight:400;font-size:clamp(23px,3vw,32px);letter-spacing:-.06em;margin:0 0 9px}
.tower-walk-heading>p:last-child{font-size:calc(11px + 1pt);line-height:1.9;color:#777b6d;margin:0}
.tower-courtyard{height:405px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 76% 17%,#efe5c6 0 24px,#d6d2bd15 25px,transparent 135px),linear-gradient(180deg,#1d3033 0%,#34483e 57%,#69735b 100%);border-radius:3px}
.tower-courtyard:before,.tower-courtyard:after{content:"";position:absolute;z-index:-1;inset:auto -8% 14%;height:46%;border-radius:50% 50% 0 0;background:#34473b;transform:rotate(-4deg)}
.tower-courtyard:after{inset:auto -12% -28%;height:62%;background:#53634b;transform:rotate(3deg)}
.tower-moon-glow{position:absolute;width:46px;height:46px;right:20%;top:13%;border-radius:50%;background:#f3e8c6;box-shadow:0 0 0 18px #f3e8c616,0 0 70px 28px #f3e8c624}
.tower-orbit{position:absolute;left:50%;top:66%;width:min(58%,550px);height:38%;transform:translate(-50%,-50%);border:1px dotted #e3d8b7a3;border-radius:50%;box-shadow:0 0 0 13px #e3d8b70a,inset 0 0 20px #e3d8b710}
.walk-stupa{position:absolute;z-index:6;left:50%;top:46%;width:106px;height:135px;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 8px #17231b55)}
.walk-stupa:before{content:"";position:absolute;left:9px;right:9px;bottom:5px;height:13px;border-radius:50%;background:#aaa58f}
.walk-stupa i{position:absolute;left:50%;transform:translateX(-50%);height:25px;background:linear-gradient(90deg,#aaa58d,#d0c8ac 45%,#9d9a86);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}
.walk-stupa i:nth-child(1){width:96px;bottom:17px}.walk-stupa i:nth-child(2){width:78px;bottom:42px;height:23px}.walk-stupa i:nth-child(3){width:60px;bottom:65px;height:21px}.walk-stupa i:nth-child(4){width:44px;bottom:86px;height:19px}
.walk-stupa:after{content:"";position:absolute;left:50%;bottom:105px;transform:translateX(-50%);width:31px;height:23px;background:#beb79f;clip-path:polygon(50% 0,100% 62%,88% 100%,12% 100%,0 62%)}
.walk-stupa b{position:absolute;left:50%;bottom:127px;transform:translateX(-50%);width:8px;height:9px;background:#d5c9aa;border-radius:50%}
.walk-character{position:absolute;z-index:6;left:50%;top:66%;width:65px;height:93px;transform:translate(-50%,-50%);transform-origin:50% 82%;will-change:left,top,transform;filter:drop-shadow(0 4px 3px #18231b3d);pointer-events:none}
.walk-character svg{display:block;width:100%;height:100%;overflow:visible}
.walk-character>span{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);font-size:calc(8px + 1pt);letter-spacing:.06em;color:#f6efdb;text-shadow:0 1px 5px #26382d;white-space:nowrap}
.walk-robe{fill:#f4eedf;stroke:#d8ceb9;stroke-width:1.4;stroke-linejoin:round}.walk-collar{fill:#fff9ec;stroke:#d2c5aa;stroke-width:1.2;stroke-linejoin:round}.walk-sleeve{fill:#eee6d5;stroke:#d2c5aa;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.walk-hand,.walk-face{fill:#f1d9ba;stroke:#c3a687;stroke-width:1}.walk-leg{fill:none;stroke:#eee5d2;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.walk-hair{fill:#44372d;stroke:#352b25;stroke-width:1}.walk-eye{fill:#171412}.walk-smile{fill:none;stroke:#986858;stroke-width:1.5;stroke-linecap:round}.visitor-hair{fill:#55453a}
.walk-character.is-stepping svg{animation:pilgrim-bob .36s ease-in-out infinite alternate}.walk-character.is-stepping .walk-leg{animation:pilgrim-step .36s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 0}.walk-character.is-stepping .walk-leg-front{animation-direction:alternate-reverse}.walk-visitor.is-stepping svg{animation-delay:.18s}.walk-visitor.is-stepping .walk-leg{animation-delay:.18s}
.tower-courtyard.is-finished .walk-stupa{filter:drop-shadow(0 0 13px #f0dc9b) drop-shadow(0 0 30px #f0dc9b99);animation:tower-glow 2.2s ease-in-out infinite alternate}
.tower-walk-status{position:absolute;z-index:8;left:50%;bottom:13px;transform:translateX(-50%);width:max-content;max-width:92%;padding:8px 13px;border:1px solid #f6efdb29;border-radius:99px;background:#1c2b25c9;color:#faf4e4;text-align:center;font-size:calc(10px + 1pt);line-height:1.55}
.tower-walk-controls{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding:16px 0 0}.tower-walk-controls .primary-button,.tower-walk-controls .quiet-button,.tower-sound{min-height:42px;padding:10px 15px;font-size:calc(10px + 1pt);cursor:pointer}.tower-walk-controls [hidden],.tower-finish-actions[hidden]{display:none}.tower-finish-actions{display:flex;gap:9px;flex-wrap:wrap}.tower-finish-actions .quiet-button{display:inline-flex;align-items:center;border:1px solid #bfc2b1;color:#52604f;background:#f7f5ed}.tower-sound{border:1px solid #c8c8b8;background:#f7f5ed;color:#52604f}.tower-sound[aria-pressed="true"]{background:#e5eadc}.tower-note{text-align:center;color:#85877b;font-size:calc(9px + 1pt);line-height:1.7;margin:13px 0 0}
@keyframes pilgrim-bob{from{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes pilgrim-step{from{translate:0 0;rotate:-13deg}to{translate:0 -1px;rotate:13deg}}@keyframes tower-glow{from{filter:drop-shadow(0 0 10px #f0dc9b88)}to{filter:drop-shadow(0 0 18px #f0dc9b) drop-shadow(0 0 38px #f0dc9b88)}}
@media(max-width:620px){.tower-walk{padding:17px 12px;margin-top:35px}.tower-courtyard{height:355px}.tower-orbit{width:76%;height:36%;top:67%}.walk-stupa{top:47%;transform:translate(-50%,-50%) scale(.83)}.walk-character{width:55px;height:79px}.tower-walk-status{bottom:9px;font-size:calc(9px + 1pt)}.tower-moon-glow{right:17%;top:12%;width:37px;height:37px}.tower-walk-controls{gap:7px}.tower-walk-controls .primary-button,.tower-walk-controls .quiet-button,.tower-sound{min-height:44px;padding:10px 12px;font-size:calc(9px + 1pt)}}
@media(prefers-reduced-motion:reduce){.walk-character.is-stepping svg,.walk-character.is-stepping .walk-leg,.tower-courtyard.is-finished .walk-stupa{animation-duration:1.2s}}

.tower-wish-panel{max-width:680px;margin:0 auto 17px;padding:16px 18px;background:#fbf9f2;border:1px solid #e0ddcf}.tower-wish-panel>label{display:block;color:#4f5c4d;font-size:calc(11px + 1pt);line-height:1.8;margin-bottom:9px}.tower-wish-panel textarea{display:block;width:100%;min-height:76px;padding:11px 12px;resize:vertical;border:1px solid #d9d7ca;border-radius:2px;background:#fffdf7;color:#344337;font-size:calc(11px + 1pt);line-height:1.8;font-family:inherit;outline-color:#819477}.tower-wish-panel textarea::placeholder{color:#9a9b8d}.tower-privacy-note{margin:6px 0 0;color:#939486;font-size:calc(8px + 1pt);line-height:1.6}.tower-options{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:13px}.tower-options label{display:inline-flex;align-items:center;gap:7px;color:#58624f;font-size:calc(9px + 1pt);cursor:pointer}.tower-options input{width:16px;height:16px;accent-color:#536c51}.tower-voice-feedback{min-height:0;margin:5px 0 0;color:#7d846f;font-size:calc(8px + 1pt);line-height:1.6}.tower-voice-feedback:empty{display:none}.tower-progress-panel{max-width:680px;margin:0 auto 12px;padding:0 2px}.tower-progress-panel[hidden]{display:none}.tower-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:#65715c;font-size:calc(9px + 1pt)}.tower-progress-copy strong{font-variant-numeric:tabular-nums;color:#435941}.tower-progress-track{height:6px;overflow:hidden;border-radius:99px;background:#dfe1d5}.tower-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#849579,#c2b486);transition:width .3s ease}.visitor-wish-bubble{position:absolute;z-index:2;left:50%;bottom:calc(100% + 5px);width:max-content;min-width:130px;max-width:min(220px,70vw);transform:translateX(-50%);padding:7px 10px;border:1px solid #e8dfc5;border-radius:12px 12px 12px 3px;background:#fff9e9;color:#3b4b3b;box-shadow:0 5px 16px #101a133d;font-size:calc(9px + 1pt);font-weight:500;line-height:1.55;text-align:center;white-space:normal;overflow-wrap:anywhere}.visitor-wish-bubble[hidden]{display:none}.walk-character-name{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);font-size:calc(8px + 1pt);letter-spacing:.06em;color:#f6efdb;text-shadow:0 1px 5px #26382d;white-space:nowrap}
@media(max-width:620px){.tower-wish-panel{padding:13px 11px;margin-bottom:12px}.tower-wish-panel>label{font-size:calc(10px + 1pt)}.tower-wish-panel textarea{min-height:72px;font-size:calc(11px + 1pt)}.tower-options{gap:9px 13px}.tower-options label{font-size:calc(9px + 1pt)}.tower-progress-copy{align-items:flex-start;font-size:calc(8px + 1pt)}.visitor-wish-bubble{min-width:112px;max-width:160px;padding:6px 8px;font-size:calc(8px + 1pt)}}
