/* The temple is the stage; controls sit lightly over it. */
body{overflow:hidden;padding:0!important;background:#13241d}
.topbar{position:fixed;inset:0 0 auto;height:78px;padding:16px 24px;z-index:8;border:0;background:linear-gradient(#0b1a14e6,#0b1a1470,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.brand>svg{width:38px;height:38px}.brand b{font-size:20px}.brand small{font-size:9px}.connection{font-size:11px}
#experience{height:100dvh;min-height:0;max-width:none;margin:0;padding:0!important;display:block}
#experience #viewport{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;max-height:none;aspect-ratio:auto;flex:none;border:0;border-radius:0;box-shadow:none;z-index:0;background:transparent}
#atmosphere{filter:blur(25px) brightness(.65) saturate(.8)}.shade{background:linear-gradient(#08150e36,transparent 32%,transparent 65%,#08150e75)}
.scene-header{position:fixed;top:88px;left:24px;right:24px;z-index:4;min-height:0;width:auto;padding:0;pointer-events:none;align-items:flex-start}.scene-header>div{max-width:420px;padding:12px 16px;border-radius:12px;background:linear-gradient(100deg,#102119bd,#10211955);backdrop-filter:blur(7px)}.scene-header h1{font-size:28px;margin:3px 0 6px}.scene-header p{font-size:12px;line-height:1.6;display:none}.scene-header .eyebrow{font-size:9px}.route-pill{pointer-events:auto;background:#13251dad}
.scene-assist{position:fixed;top:186px;left:24px;right:auto;z-index:5;padding:0;min-height:0;gap:8px}.scene-assist button{background:#102119b8;backdrop-filter:blur(9px);min-height:40px;font-size:11px}.scene-assist #quiet-toggle{display:none}
.camera-bar{position:fixed;right:24px;bottom:166px;z-index:5;min-height:0;gap:10px;padding:0}.camera-bar>span{display:none}.camera-bar button{background:#11261bbd;backdrop-filter:blur(10px);min-height:44px}.camera-bar .icon-btn{width:44px;height:44px}.camera-bar>div{gap:6px}
.intention-card{position:fixed;left:24px;bottom:90px;z-index:5;min-height:0;display:flex;gap:14px;padding:0;max-width:calc(100vw - 48px);pointer-events:none}.intention-card>div{display:none}.intention-card .gold-btn{pointer-events:auto;min-height:52px;border-radius:26px;padding:14px 25px;box-shadow:0 5px 24px #0005;white-space:normal}
#media-scene{position:fixed;right:24px;bottom:92px;z-index:4;padding:0!important;background:#11251dc9;backdrop-filter:blur(10px);border:1px solid #c9b58155;border-radius:24px;max-width:40vw}.media-scene-heading{padding:0 14px;min-height:48px;gap:10px}.media-scene-groups{display:none}.media-scene-heading>span{max-width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.media-scene-heading .text-btn{white-space:nowrap}
.bottom-nav{position:fixed;inset:auto 0 0;height:76px;padding:8px 15px calc(8px + env(safe-area-inset-bottom));z-index:7;background:#0c2119de;backdrop-filter:blur(18px);border-top:1px solid #dfc58b25;gap:26px}.bottom-nav button{min-height:48px;font-size:11px}.bottom-nav svg{width:22px;height:22px}
.scene-foot,#visit-bar,#resume{display:none!important}
#sound-toggle{width:auto;min-width:44px;padding:0 13px;border-radius:24px;display:flex;gap:7px;background:#11261bc9;font-size:11px}#sound-toggle svg{width:20px;height:20px}#sound-label{white-space:nowrap}#audio-indicator{position:fixed;right:24px;top:72px;font-size:10px;color:#e8d8ac;z-index:8;pointer-events:none;text-shadow:0 1px 4px #000}#audio-elements{display:none}
#ui-toggle{position:fixed;right:24px;top:100px;min-height:44px;padding:8px 14px;border:1px solid #d3bd7e55;border-radius:23px;background:#11261ba8;color:#e7d19b;z-index:6;font-size:11px;backdrop-filter:blur(8px)}.contemplation .topbar,.contemplation .scene-header,.contemplation .scene-assist,.contemplation .camera-bar,.contemplation .intention-card,.contemplation #media-scene,.contemplation .bottom-nav,.contemplation #audio-indicator{visibility:hidden}.contemplation #ui-toggle{opacity:.6}
#scene-panel{position:fixed;left:24px;bottom:154px;z-index:9;width:min(500px,calc(100vw - 48px));max-height:min(48dvh,440px);border:1px solid #c9b58155;border-radius:17px;background:#11271feb;box-shadow:0 12px 44px #0006;backdrop-filter:blur(18px);color:#eee9d9;overflow:auto;overscroll-behavior:contain}#scene-panel[hidden]{display:none!important}#scene-panel>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:#11271ff5;z-index:1}#scene-panel h2{font:400 22px var(--serif);margin:0}#scene-panel-close{min-width:44px;min-height:44px;border:0;border-radius:50%;background:#d6bd8312;color:#e7d19b;font-size:24px}#scene-panel-body{padding:0 16px 16px}#scene-panel-body p{font-size:13px;line-height:1.7;margin:0 0 12px}#scene-panel-body .muted{font-size:11px;color:#b9c5b1}#scene-panel .wish-form{display:grid;gap:9px}#scene-panel textarea{min-height:80px;max-height:140px;resize:vertical;font:16px/1.6 var(--sans);padding:12px;border:1px solid #d5bd7a55;border-radius:10px;background:#071b14a8;color:#f5efd9;width:100%}#scene-panel label{font-size:12px}#scene-panel .check-row{display:flex;gap:8px;align-items:flex-start;line-height:1.6}#scene-panel .gold-btn{min-height:44px;font-size:13px;justify-content:center;border-radius:22px}#scene-panel details{margin-top:12px}#scene-panel summary{font-size:12px;color:#d8c194;min-height:40px;display:flex;align-items:center;cursor:pointer}#scene-panel .wish-item{margin:8px 0;padding:10px 0;border-top:1px solid #cbb17926}#scene-panel .wish-item p{margin:0 0 4px}#scene-panel .meta{font-size:10px;color:#b6c0aa}#scene-panel .text-btn{font-size:12px;min-height:40px}.scene-panel-actions{display:flex;gap:10px;flex-wrap:wrap}
.entry-audio{display:flex;gap:9px;align-items:center;color:#ddcfaa;font-size:13px;min-height:44px;margin:5px 0 12px}.entry-audio input{width:18px;height:18px;accent-color:#d2b679}
#scene-offerings{position:absolute;inset:0;pointer-events:none;z-index:3}.scene-offering{position:absolute;transform:translate(-50%,-100%);filter:drop-shadow(0 0 6px #eab97780)}.offering-incense{width:20px;height:80px}.incense-stick{position:absolute;bottom:0;left:9px;width:3px;height:60px;background:linear-gradient(#9d6341 80%,#b53f28 80%)}.incense-ember{position:absolute;bottom:59px;left:8px;width:5px;height:4px;border-radius:50%;background:#ffba66;box-shadow:0 0 9px #ff8d3c}.offering-smoke{position:absolute;bottom:65px;left:3px;width:16px;height:40px;border-left:2px solid #fff5;border-radius:50%;filter:blur(2px);animation:offeringSmoke 3s ease-out infinite}.offering-flower{width:50px;height:40px}.offering-petal{position:absolute;left:17px;top:8px;width:15px;height:29px;background:linear-gradient(#f2cfdb,#c66f91);border-radius:80% 15% 70% 30%;transform-origin:50% 80%;transform:rotate(calc(var(--petal)*60deg))}.flower-heart{position:absolute;left:19px;top:20px;width:12px;height:9px;border-radius:50%;background:#f3d37f}.offering-lamp{width:40px;height:34px}.lamp-bowl{position:absolute;bottom:0;width:40px;height:15px;background:linear-gradient(#e7bd6a,#91642f);border-radius:15% 15% 60% 60%}.lamp-flame{position:absolute;left:15px;bottom:12px;width:10px;height:21px;background:linear-gradient(#fff5aa,#ed9b35);border-radius:75% 25% 65% 35%;box-shadow:0 0 18px #ffe38dbb;animation:flameWarm 2s ease-in-out infinite alternate}@keyframes offeringSmoke{from{transform:translateY(0) scale(.5);opacity:.1}30%{opacity:.55}to{transform:translate(10px,-55px) scale(1.8);opacity:0}}@keyframes flameWarm{to{transform:scale(.9,1.1);opacity:.8}}
#toast{bottom:158px;z-index:15}
@media(max-width:760px){.topbar{height:64px;padding:10px 12px}.brand{gap:7px}.brand>svg{width:29px;height:29px}.brand b{font-size:15px;letter-spacing:.08em}.brand small{font-size:8px;letter-spacing:.04em}.header-right{gap:7px}.header-right .icon-btn{height:40px}.header-right #settings-open{width:40px}#sound-toggle{padding:0 9px;font-size:10px;gap:4px}#sound-toggle svg{width:17px;height:17px}#sound-label{max-width:85px;overflow:hidden;text-overflow:ellipsis}.scene-header{top:77px;left:12px;right:80px}.scene-header>div{padding:8px 11px;border-radius:10px}.scene-header h1{font-size:22px;margin:2px 0 0}.scene-header .eyebrow{font-size:8px}.scene-header p{display:none}.scene-assist{top:148px;left:12px}.scene-assist button{font-size:10px;min-height:36px;padding:7px 11px}#ui-toggle{right:12px;top:83px;padding:7px 10px;font-size:10px;min-height:40px}#audio-indicator{right:12px;top:63px;font-size:9px}.bottom-nav{height:calc(70px + env(safe-area-inset-bottom));padding:5px 4px calc(5px + env(safe-area-inset-bottom));gap:0}.bottom-nav button{font-size:10px;min-height:50px;flex-direction:column;gap:4px}.bottom-nav svg{width:21px;height:21px}.intention-card{left:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.intention-card .gold-btn{min-height:46px;font-size:12px;padding:12px 17px;max-width:65vw}.camera-bar{right:12px;bottom:calc(145px + env(safe-area-inset-bottom))}.camera-bar button{min-height:40px}.camera-bar .icon-btn{height:40px;width:40px}.camera-bar .camera-home{font-size:10px;padding:0 10px}#media-scene{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:29vw;background:#10241ddd}.media-scene-heading{padding:0 10px;min-height:46px}.media-scene-heading>span{display:none}.media-scene-heading .text-btn{font-size:11px;min-height:44px}#scene-panel{left:10px;bottom:calc(142px + env(safe-area-inset-bottom));width:calc(100vw - 20px);max-height:46dvh}#scene-panel>header{padding:7px 12px}#scene-panel h2{font-size:20px}#scene-panel-body{padding:0 12px 12px}.has-scene-panel .camera-bar{visibility:hidden}#toast{bottom:150px;max-width:90vw}}
@media(max-height:520px){.scene-header{top:65px}.scene-assist{top:130px}.camera-bar{bottom:118px}.intention-card,#media-scene{bottom:72px}.bottom-nav{height:60px}.bottom-nav button{flex-direction:row;min-height:44px}#scene-panel{left:auto;right:12px;bottom:72px;width:min(430px,52vw);max-height:75dvh}}
@media(prefers-reduced-motion:reduce){.offering-smoke,.lamp-flame{animation:none}.offering-smoke{opacity:.2}}

.scene-header .route-pill{margin-right:116px}.has-scene-panel .intention-card{visibility:hidden}
@media(max-width:760px){.scene-header .route-pill{display:none}.connection{display:none!important}.media-scene-heading{gap:3px}.media-scene-heading>svg{display:none}#scene-panel:focus-within{bottom:calc(80px + env(safe-area-inset-bottom));max-height:calc(100dvh - 155px)}}
@media(max-width:760px){.media-scene-heading .text-btn{font-size:0;padding:0 4px}.media-scene-heading .text-btn::after{content:'Bài nghe';font-size:11px}.media-scene-heading{padding:0 9px}#media-scene{max-width:29vw}}
