.incense-art-dialog{width:400px;max-height:calc(100dvh - 32px);overflow:auto;text-align:center;box-sizing:border-box}
.incense-art-dialog header{display:flex;align-items:center}
.incense-art-stage{position:relative;display:grid;place-items:center;min-height:220px;height:clamp(210px,34vh,300px);background:radial-gradient(ellipse at 50% 65%,#d8bd8260,transparent 67%);border-bottom:1px solid #b4996845}
.incense-art-stage img{display:block;width:auto;max-width:86%;height:88%;max-height:260px;object-fit:contain;filter:drop-shadow(0 9px 8px #56401d18)}
.incense-art-caption{position:absolute;inset:0 0 auto;color:#93754e;font:10px/1.4 var(--sansa-ui);letter-spacing:3px}
.incense-art-copy{font-size:14px;line-height:1.9;margin:18px 0 8px;color:#624a36}
.incense-art-status{min-height:38px;font-size:12px;line-height:1.8;margin:0 0 14px;color:#8b6c4a}
.incense-art-offer{width:100%;min-height:46px;font-size:15px;letter-spacing:4px;cursor:pointer}
.incense-art-offer:disabled{opacity:.5;cursor:wait}
.incense-art-footnote{font-size:10px;color:#9a8262;letter-spacing:2px;margin:14px 0 0}
.incense-trip-cancel{position:fixed;z-index:70;right:28px;bottom:125px;background:#39291feb;border:1px solid #aa8a54;border-radius:2px;color:#eddbb6;padding:10px 16px;font:12px var(--sansa-ui);cursor:pointer}
.incense-trip-cancel[hidden]{display:none}
@media(max-width:700px){.incense-art-dialog{width:calc(100% - 24px)}.incense-art-stage{height:clamp(180px,30dvh,260px);min-height:180px}.incense-art-stage img{max-height:220px}.incense-art-copy{font-size:13px;margin-top:12px}.incense-trip-cancel{right:15px;bottom:162px;padding:8px 12px}html[data-theme="temple"] :is(.sansa-game,body) .game-modes .liquid-nav-source>button{letter-spacing:1px}}
@media(max-height:560px){.incense-art-stage{height:145px;min-height:145px}.incense-art-stage img{max-height:135px}.incense-art-dialog{max-height:calc(100dvh - 16px)}}
/* Keep the music toolbar clear of all five ritual actions, including incense. */
html[data-theme="temple"] #local-tools{top:100px;bottom:auto;max-width:calc(100vw - 56px);box-sizing:border-box}
#temple-incense-open{position:relative}
.incense-journey{position:fixed;z-index:65;left:50%;bottom:140px;transform:translateX(-50%);width:min(360px,calc(100% - 32px));box-sizing:border-box;padding:13px 18px;background:#30231aee;border:1px solid #a98b59;color:#eddbb6;text-align:center;font:13px/1.7 var(--sansa-ui);pointer-events:none}
.incense-journey[hidden]{display:none}
.incense-journey small{display:block;color:#c2aa80;font-size:11px}
.incense-trip-cancel{bottom:145px}
.devotional-controls .incense-note{display:none!important}
@media(max-width:700px){html[data-theme="temple"] #local-tools{top:auto;bottom:112px;left:15px;max-width:calc(100vw - 30px)}.incense-journey{bottom:180px}.incense-trip-cancel{bottom:270px;right:16px}}
@media(max-height:550px){html[data-theme="temple"] #local-tools{top:82px;bottom:auto}.incense-journey{bottom:110px;width:310px}.incense-trip-cancel{bottom:120px}}
/* Fixed cultural tour views show architecture without off-camera bench prompts. */
body:has(canvas[data-temple-view="exterior"]) .cafe25-context-actions,body:has(canvas[data-temple-view="triad"]) .cafe25-context-actions,
body:has(canvas[data-temple-view="exterior"]) .game-hint,body:has(canvas[data-temple-view="triad"]) .game-hint{visibility:hidden}
canvas[data-temple-view="exterior"],canvas[data-temple-view="triad"]{pointer-events:none}
.courtyard-guide{position:fixed;z-index:65;left:28px;top:165px;padding:8px 15px;color:#eddbb6;background:#34271eeb;border:1px solid #a98b59;font:12px var(--sansa-ui);letter-spacing:3px;cursor:pointer}
.courtyard-dialog{width:430px;max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box}
.courtyard-dialog>p{font-size:13px;line-height:1.9;color:#795f43}
.courtyard-views{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}
.courtyard-views button{min-height:43px;background:#e9daba;border:1px solid #b3986a;color:#62452e;font:13px var(--sansa-ui);cursor:pointer}
.courtyard-activities{display:grid;gap:10px}.courtyard-activities button{min-height:44px;cursor:pointer}.courtyard-activities button:disabled{opacity:.5;cursor:wait}
.courtyard-copy{font-size:11px!important;text-align:center}.courtyard-status{min-height:24px}
.courtyard-trip{position:fixed;z-index:65;bottom:145px;left:50%;transform:translateX(-50%);width:min(350px,calc(100vw - 32px));box-sizing:border-box;padding:12px 18px;text-align:center;background:#34271ef5;border:1px solid #aa8a59;color:#e8d6af;font:13px/1.8 var(--sansa-ui)}
.courtyard-trip[hidden]{display:none}.courtyard-trip small{display:block;color:#c9b18d;font-size:11px}.courtyard-trip button{border:1px solid #a98b59;background:transparent;color:#e8d6af;padding:5px 12px;margin-top:7px;font:11px var(--sansa-ui);cursor:pointer}.courtyard-trip button[hidden]{display:none}
#game-bow25-progress,.game-bow25-progress{display:none!important}
body:has(canvas[data-temple-view]:not([data-temple-view="follow"])) .cafe25-context-actions,body:has(canvas[data-temple-view]:not([data-temple-view="follow"])) .game-hint{visibility:hidden}
canvas[data-temple-view]:not([data-temple-view="follow"]){pointer-events:none}
@media(max-width:700px){.courtyard-guide{left:15px;top:151px;padding:8px 12px;font-size:11px}.courtyard-trip{bottom:180px}.courtyard-dialog{width:calc(100vw - 24px)}}
@media(max-height:550px){.courtyard-guide{top:131px}.courtyard-trip{bottom:110px}}
/* The retired coffee reward counter is not part of temple practice. */
#game-bow25{display:none!important}
/* Keep the scalp and face unobstructed: own nameplate projects beside the shoulder. */
.visitor-label.is-self{font-size:11px!important;padding:4px 7px!important;line-height:1.4!important;max-width:135px}
.visitor-label.is-self .visitor-label-me{padding:1px 4px!important;margin-right:5px!important}
.visitor-label.is-self::before{content:"";position:absolute;left:-16px;top:50%;width:13px;height:1px;background:#d3b97c99}
.temple-practice-open{position:fixed;z-index:65;top:166px;left:96px;color:#e9d5aa;background:#35271eea;border:1px solid #a89058;padding:9px 17px;font:13px var(--sansa-ui);cursor:pointer}
.temple-practice-dialog{width:430px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
.temple-practice-dialog>button{width:100%;min-height:44px;cursor:pointer}
.practice-description{font-size:12px;line-height:1.85;color:#8a7252;margin:12px 0 18px}
.temple-practice-status{font-size:12px;line-height:1.8;min-height:20px;color:#7a5d36}
.temple-practice-trip{position:fixed;z-index:68;left:50%;bottom:126px;transform:translateX(-50%);display:grid;gap:8px;text-align:center;width:260px;max-width:calc(100vw - 30px);padding:14px;background:#35271ef0;color:#ecd8ac;border:1px solid #b09a64;font:13px var(--sansa-ui)}
.temple-practice-trip[hidden]{display:none}.temple-practice-trip progress{width:100%;height:4px;accent-color:#b89c58}.temple-practice-trip button{color:inherit;background:transparent;border:1px solid #ad9259;padding:7px;font:inherit;cursor:pointer}
.incense-steps{display:flex;list-style:none;padding:0;margin:9px 0 0;gap:6px;justify-content:center;font-size:11px;letter-spacing:1px}.incense-steps[hidden]{display:none}.incense-steps li{opacity:.4;padding:3px 6px;border-bottom:1px solid #9a805340}.incense-steps .is-current{opacity:1;color:#f4dda7;border-color:#d7ba75}.incense-steps .is-done{opacity:.7}
@media(max-width:700px){.temple-practice-open{top:151px;left:86px;padding:8px 14px;font-size:12px}.temple-practice-trip{bottom:172px}.visitor-label.is-self{font-size:10px!important}.incense-steps{gap:2px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.temple-practice-trip *,.incense-steps *{animation:none!important;transition:none!important}}
/* The desktop toolbar sits at the top; its picker must open into the viewport. */
@media(min-width:701px){html[data-theme="temple"] #local-tools .temple-track-options{top:calc(100% + 12px);bottom:auto}html[data-theme="temple"] #local-tools .temple-music-feedback{top:calc(100% + 10px);bottom:auto}}
@media(max-height:550px){html[data-theme="temple"] #local-tools .temple-track-options{top:calc(100% + 8px);bottom:auto;max-height:calc(100dvh - 150px);overflow:auto}}

/* Keep the native nearby-incense action above the mobile music toolbar. */
@media(max-width:700px) and (min-height:551px){html[data-theme="temple"] .devotional-dock{bottom:calc(176px + env(safe-area-inset-bottom))!important}}
