@font-face{font-family:TempleTamil;src:url('/fonts/NotoSansTamil-Regular.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--cream:#f6f0df;--ink:#364539;--muted:#69715e;--gold:#d5b77a;font:14px/1.55 Arial,Helvetica,sans-serif;color:var(--cream);background:#34473b}*{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;overflow:hidden}button,select{font:inherit;color:inherit;touch-action:manipulation}button{cursor:pointer;border:0;background:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #e5c98d;outline-offset:3px}button,select{min-height:44px}a{color:inherit}h1,h2,h3,p{margin-top:0}body:lang(ta){font-family:TempleTamil,'Noto Sans Tamil',Latha,sans-serif;line-height:1.7}body:lang(zh-Hans){font-family:'PingFang SC','Noto Sans CJK SC','Microsoft YaHei',sans-serif}body:lang(zh-Hant-TW){font-family:'PingFang TC','Noto Sans CJK TC','Microsoft JhengHei',sans-serif}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;left:20px;top:-80px;z-index:20;padding:14px;background:var(--cream);color:var(--ink)}.skip:focus{top:15px}#sanctuary,#temple-world{position:absolute;inset:0;width:100%;height:100%;height:100dvh}#temple-world{display:block;touch-action:none;outline-offset:-4px}.shade-top{position:fixed;inset:0 0 auto;height:190px;background:linear-gradient(#18271e88,transparent);pointer-events:none}.glass{border:1px solid #eee8d442;background:#273a30c9;box-shadow:0 4px 22px #111f1726;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hud-header{position:fixed;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;z-index:2}.brand-group{display:flex;align-items:center;gap:10px;font:21px Georgia,serif;letter-spacing:.3px;text-shadow:0 2px 8px #17271a99;margin-right:5px}.brand-emblem{color:#e6cd94;font-size:34px;line-height:1}.hall-picker{border-radius:26px;padding:9px 16px;display:flex;align-items:center;gap:10px;font-size:13px;max-width:310px}.hall-picker>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hall-picker>span:first-child{font-size:22px}.presence{border-radius:25px;padding:10px 14px;font-size:12px;white-space:nowrap;margin-left:auto}.presence::before{content:'';display:inline-block;width:6px;height:6px;background:#cfdbb7;border-radius:50%;margin-right:7px}.header-tools{display:flex;gap:8px;align-items:center}.round{height:44px;width:44px;border-radius:50%;font-size:20px}.header-tools select{max-width:180px;width:155px;padding:10px 14px;border-radius:24px;font-size:12px;outline-offset:2px}.header-tools option{background:#f6f0df;color:#364539}.scene-hint{position:fixed;left:50%;top:91px;transform:translateX(-50%);border-radius:25px;padding:8px 18px;font-size:11px;color:#e7e7ce;white-space:nowrap;pointer-events:none;opacity:.9}.practice-dock{position:fixed;left:50%;bottom:max(27px,env(safe-area-inset-bottom));transform:translateX(-50%);border-radius:26px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(490px,90vw);padding:8px 13px;z-index:2;gap:4px}.practice-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 5px;min-height:65px;font-size:12px;border-radius:14px;line-height:1.45}.practice-dock button:hover,.practice-dock button:focus-visible{background:#eef0d91c}.dock-icon{font-family:Georgia,serif;font-size:28px;color:#e5d5ac;line-height:1.1}.wallet-button{position:fixed;bottom:28px;right:26px;border-radius:25px;padding:10px 16px;font-size:11px;z-index:2}.prototype-label{position:fixed;left:25px;bottom:22px;font-size:9px;color:#e9ecd6;text-shadow:0 1px 5px #182b1c;max-width:220px;line-height:1.7}.camera-tools{position:fixed;right:25px;bottom:140px;display:flex;flex-direction:column;gap:7px}.camera-tools button{height:44px;width:44px;border-radius:12px;font-size:23px}.walk-pad{position:fixed;left:25px;bottom:105px;text-align:center;display:none}.walk-pad>button{margin-bottom:5px}.walk-pad>div{display:flex;gap:5px}.walk-pad button{height:44px;width:44px;border-radius:12px;font-size:19px}#you-tag{position:fixed;transform:translate(-50%,-100%);background:#f0edd9ed;color:#58634b;border:1px solid #fff8;border-radius:20px;padding:4px 10px;font-size:10px;pointer-events:none;white-space:nowrap;box-shadow:0 2px 12px #20321d19}#scene-status{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);background:#f6f0df;color:#465540;border-radius:18px;padding:22px 28px;max-width:min(480px,85vw);text-align:center;box-shadow:0 12px 70px #16261933;line-height:1.8;font-size:15px}#scene-status[hidden]{display:none}dialog{border:1px solid #cbcbb4;color:var(--ink);background:#f8f4e7;padding:30px 35px 32px;width:min(540px,calc(100vw - 24px));max-height:84dvh;overflow:auto;border-radius:18px;box-shadow:0 20px 100px #15271c60}dialog::backdrop{background:#1c2d2377;backdrop-filter:blur(5px)}.close-dialog{position:sticky;float:right;top:0;margin:-15px -20px 0 0;width:44px;height:44px;border-radius:50%;font-size:27px;color:#63735a;background:#f8f4e7;z-index:2}dialog h2{font:32px/1.25 Georgia,serif;font-weight:400;margin:12px 0 18px;padding-right:16px}dialog h3{font:21px Georgia,serif;font-weight:400;margin:24px 0 12px}dialog p{font-size:14px;line-height:1.85;color:#627057;margin-bottom:17px}dialog a{color:#506b47}.eyebrow{font-size:10px;letter-spacing:1.2px;color:#8b825e;display:block;padding-right:30px}.note{padding:13px 15px;background:#ebeada;border-left:2px solid #b5a16b;font-size:12px!important;line-height:1.75!important;margin-top:20px!important;margin-bottom:0!important}.primary,.secondary{min-height:46px;border-radius:8px;padding:12px 17px;font-size:13px;line-height:1.55}.primary{background:#425b43;color:#fff8e4}.secondary{border:1px solid #ccd1bb;color:#526b48;background:#eff0df}.button-row{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.button-row>*{flex:1;min-width:110px}.hall-list{display:flex;flex-direction:column;gap:7px}.hall-list button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid #d7d9c3;background:#f0efe0;padding:12px 15px;border-radius:9px;font-size:14px;min-height:54px}.hall-list button span:first-child{color:#a28b54;font:19px Georgia,serif}.hall-list button span:last-child{margin-left:auto;color:#8b967b}.timer{font:62px/1.1 Georgia,serif;text-align:center;color:#59734c;margin:27px 0 25px;font-variant-numeric:tabular-nums}.timer small{font:14px Arial,sans-serif}.breath{width:115px;height:115px;border:1px solid #b5c29e;border-radius:50%;margin:35px auto 30px;display:flex;align-items:center;justify-content:center;color:#71875b;font:15px Georgia,serif;text-align:center;padding:12px;box-shadow:0 0 0 14px #e8ebd8}.breath.running{animation:breathe 8s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.09);box-shadow:0 0 0 23px #e8ebd8}}label.field-label{display:block;margin:18px 0 8px;font-size:12px;color:#627557}dialog select{width:100%;min-height:46px;color:#506749;background:#f4f1e4;border:1px solid #cbd1b8;border-radius:8px;padding:10px;font-size:15px}.bead-stage{display:block;margin:10px auto 15px;width:min(290px,100%);aspect-ratio:1}.bead-progress{text-align:center;font-size:15px!important;color:#516d46!important}.bead-count{font:45px Georgia,serif;fill:#77613f}.bead-unit{font:13px Arial;fill:#9a8762}.prayer-text{font:23px/1.9 Georgia,serif;color:#647a52;padding:15px 0}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.offering-choice{padding:18px;text-align:left;border:1px solid #d0d4bd;border-radius:12px;background:#f1eeda;min-height:112px}.offering-choice strong{display:block;font:18px Georgia,serif;font-weight:400;margin:7px 0}.offering-choice small{font-size:12px;color:#7b825f}.offering-choice .symbol{font:26px Georgia,serif;color:#ad925a}.ledger{max-height:180px;overflow:auto}.ledger p{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #dedfc9;margin:0;font-size:12px}#toast{position:fixed;left:50%;top:145px;transform:translateX(-50%);background:#314c3ceF;border:1px solid #eee8d44a;color:#f5f1da;padding:13px 22px;border-radius:24px;font-size:13px;text-align:center;z-index:10;max-width:min(620px,90vw);pointer-events:none;box-shadow:0 8px 30px #17281e30}#toast:not(.visible){visibility:hidden;opacity:0}body:lang(ta) dialog h2,body:lang(ta) dialog h3,body:lang(ta) .primary,body:lang(ta) .secondary,body:lang(ta) .prayer-text,body:lang(ta) .offering-choice strong,body:lang(ta) .breath{font-family:TempleTamil,'Noto Sans Tamil',sans-serif}body:lang(ta) .eyebrow{letter-spacing:0}body:lang(ta) .practice-dock button{font-size:12px;line-height:1.6}body:lang(ta) .hall-picker{font-size:12px}
@media(max-width:1050px){.brand-group{font-size:18px}.hall-picker{max-width:240px}.hud-header{gap:8px;left:18px;right:18px}.header-tools{gap:6px}.header-tools select{width:135px}.wallet-button{bottom:122px;right:22px}.camera-tools{bottom:185px}.prototype-label{max-width:160px}.presence{font-size:11px;padding:10px}.scene-hint{font-size:10px}}
@media(max-width:760px){.hud-header{display:grid;grid-template-columns:minmax(0,1fr) auto;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));gap:8px}.brand-group{font-size:16px;margin:0;gap:6px}.brand-emblem{font-size:27px}.header-tools{grid-column:2;grid-row:1;gap:6px}.header-tools .round{display:none}.header-tools select{width:148px;max-width:45vw;min-height:44px;font-size:13px;padding:8px 12px}.hall-picker{grid-column:1;grid-row:2;max-width:100%;width:max-content;min-width:0;font-size:12px;padding:8px 12px;gap:8px}.presence{grid-column:2;grid-row:2;justify-self:end;margin:0;font-size:11px;padding:8px 11px;max-width:44vw;overflow:hidden;text-overflow:ellipsis;min-height:44px;display:flex;align-items:center}.scene-hint{top:121px;font-size:10px;padding:6px 12px;max-width:93vw;white-space:normal;text-align:center}.practice-dock{width:calc(100vw - 20px);max-width:500px;bottom:max(13px,env(safe-area-inset-bottom));border-radius:22px;gap:0;padding:7px}.practice-dock button{min-height:65px;font-size:12px;line-height:1.5;padding:5px 2px;overflow-wrap:anywhere}.dock-icon{font-size:26px}.walk-pad{display:block;left:max(12px,env(safe-area-inset-left));bottom:calc(106px + env(safe-area-inset-bottom));z-index:2}.walk-pad button,.camera-tools button{min-height:44px;min-width:44px;backdrop-filter:none;background:#2e4638dd}.camera-tools{right:max(12px,env(safe-area-inset-right));bottom:calc(106px + env(safe-area-inset-bottom));gap:5px}.camera-tools button{width:44px;height:44px}.wallet-button{right:12px;top:166px;bottom:auto;max-width:55vw;font-size:11px;padding:8px 13px;min-height:44px}.prototype-label{left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:94vw;width:max-content;text-align:center;font-size:8px;line-height:1.5}.glass{backdrop-filter:none;-webkit-backdrop-filter:none}.brand-group{max-width:42vw}.brand-group #brand-name{font-size:15px;line-height:1.35}.hall-picker span:nth-child(2){white-space:normal;max-width:45vw;line-height:1.45}.hall-picker span:first-child{font-size:19px}.round{height:44px;width:44px}.shade-top{height:240px}#you-tag{font-size:10px;padding:4px 8px}.close-dialog{margin:-12px -13px 0 0}dialog{padding:28px 24px;max-height:83dvh;border-radius:16px}dialog h2{font-size:29px;line-height:1.35}dialog h3{font-size:22px}dialog p{font-size:15px;line-height:1.8}.primary,.secondary{font-size:14px;min-height:48px;padding:12px 14px}.eyebrow{font-size:11px;line-height:1.6}.note{font-size:12px!important}.hall-list button{font-size:15px;min-height:56px}.hall-list button span:nth-child(2){line-height:1.6}dialog select{font-size:16px;min-height:48px}.offering-choice{padding:15px;min-height:120px}.offering-choice strong{font-size:19px}.offering-choice small{font-size:13px}.prayer-text{font-size:23px}#toast{top:225px;max-width:92vw;width:max-content;font-size:12px;line-height:1.7;padding:12px 18px}#scene-status{top:42%;padding:20px;max-width:88vw;font-size:14px}body:lang(ta) .practice-dock{padding:5px}body:lang(ta) .practice-dock button{font-size:11px;min-height:78px}body:lang(ta) .prototype-label{bottom:calc(105px + env(safe-area-inset-bottom));font-size:7px}body:lang(ta) .walk-pad,body:lang(ta) .camera-tools{bottom:calc(119px + env(safe-area-inset-bottom))}body:lang(ta) dialog h2{font-size:25px;line-height:1.6}body:lang(ta) dialog p{font-size:15px;line-height:1.9}body:lang(ta) .hall-picker{font-size:11px}body:lang(ta) .scene-hint{font-size:9px}body:lang(ta) .presence{font-size:10px}}
@media(max-height:560px) and (min-width:700px){.scene-hint{display:none}.practice-dock{bottom:12px}.prototype-label{display:none}.camera-tools{bottom:110px}.wallet-button{top:84px;bottom:auto}.walk-pad{bottom:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:760px){.wallet-button{max-width:none;min-width:60px;font-size:13px;padding:8px 12px}}

.mobile-only{display:none}@media(max-width:760px){.mobile-only{display:block}}

@media(max-width:760px){.hall-picker span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.hall-picker{min-width:0;flex-shrink:1}.hall-picker>span:nth-child(2){min-width:0}.hall-picker>span:first-child,.hall-picker>span:last-child{flex-shrink:0}

.fund-grid button span{flex:0 0 26px;white-space:nowrap}
@media(max-width:760px){body:lang(ta) .fund-grid{grid-template-columns:1fr}body:lang(ta) .fund-grid button{font-size:14px;line-height:1.8}}

/* Rich lacquer, brass and carved-panel accents shared with the 3D interior. */
:root{--ink:#49392f;--gold:#d3b16a}.glass{background:#3b2528df;border-color:#dac18d66}.brand-emblem,.dock-icon{color:#efd6a0}.shade-top{background:linear-gradient(#271b22c4,transparent)}.primary{background:#6d2931}.secondary{color:#6d3437;border-color:#d3bba0;background:#f3e9da}.note{background:#efe5d7;border-color:#bb945d}.hall-list button{background:#f3eadb;border-color:#dfc7a9}.hall-list button span:first-child{color:#9b6c3e}dialog{color:#503c30;background:#fcf5e8}.close-dialog{color:#6e3c3d;background:#fcf5e8}dialog p{color:#71614e}.eyebrow{color:#997345}.fund-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fund-grid button{display:flex;gap:10px;align-items:center;min-height:60px;padding:10px;text-align:left;border:1px solid #d6bca1;border-radius:8px;color:#674943;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.fund-grid button span{font:20px Georgia,serif;color:#a77b43}.fund-grid button[aria-pressed=true]{border-color:#7a3941;background:#ebd9cb;box-shadow:inset 0 0 0 1px #7a3941}.purpose-detail{margin-top:12px;font-size:13px!important}.walk-pad button,.camera-tools button{background:#452b30e8}@media(max-width:380px){.fund-grid{grid-template-columns:1fr}}

@font-face{font-family:TempleThai;src:url('/fonts/NotoSansThai-Regular.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
body:lang(th){font-family:TempleThai,'Noto Sans Thai',sans-serif;line-height:1.8}body:lang(th) dialog h2,body:lang(th) dialog h3,body:lang(th) .primary,body:lang(th) .secondary,body:lang(th) .prayer-text,body:lang(th) .offering-choice strong,body:lang(th) .breath{font-family:TempleThai,sans-serif}body:lang(th) .eyebrow{letter-spacing:0}body:lang(th) dialog h2{line-height:1.6;font-size:27px}body:lang(th) .hall-picker{font-size:12px}body:lang(th) .fund-grid button{font-size:14px;line-height:1.9}.shrine-prayer{padding:14px 18px;border-left:2px solid #c29b58;background:#eee3d1}.shrine-prayer p{margin:0 0 9px;color:#5a4432}.shrine-prayer p:last-child{margin-bottom:0}.prayer-confirmation{margin-top:18px;color:#405b37!important}.giving-location{padding:11px 14px;background:#e9dac5;color:#60363a!important}.shrine-choices{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.shrine-choices button{flex:1;min-width:120px}
@media(max-width:760px){body:lang(th) .fund-grid{grid-template-columns:1fr}body:lang(th) .practice-dock button{font-size:11px;line-height:1.8}body:lang(th) .scene-hint{font-size:10px}}

.scene-hint{top:auto;bottom:118px}.scene-hint[hidden]{display:none}@media(max-width:760px){.scene-hint{top:auto;bottom:245px;max-width:65vw}}

/* Ivory Lotus Sanctuary: quiet, high contrast controls over pale stone. */
:root{--cream:#403a2f;--ink:#403a2f;--gold:#9b7d45;background:#e5e6de}.glass{background:#faf5e9ee;border-color:#a58b6155;color:#493f30;box-shadow:0 4px 20px #64513818}.brand-group{color:#40382e;text-shadow:0 1px 7px #fff}.brand-emblem,.dock-icon{color:#9b7d45}.shade-top{background:linear-gradient(#f7f2e6d9,transparent)}.prototype-label{color:#4f4b40;text-shadow:0 1px 5px #fff}.scene-hint{color:#5c584d}.walk-pad button,.camera-tools button{background:#f7f1e4f2;color:#4e4534}.primary{background:#6d654d;color:#fff8e7}.secondary{color:#61583f;background:#f2ecdf;border-color:#c8bda6}.practice-dock button:hover{background:#a4916822}.presence::before{background:#738771}.shrine-prayer{background:#f0ebdf}.giving-location{background:#eae2d1;color:#574b36!important}.hall-list button,.offering-choice{background:#f5efe3}.fund-grid button[aria-pressed=true]{background:#e9e1cd;border-color:#8d7951;box-shadow:inset 0 0 0 1px #8d7951}#toast{background:#f8f1df;color:#4a4032;border-color:#ab9361}body:lang(ta) .brand-group,body:lang(th) .brand-group{font-family:inherit}
.options{grid-template-columns:repeat(2,minmax(0,1fr))}.offering-choice{min-width:0;overflow-wrap:anywhere}.note{overflow-wrap:anywhere}
@media(max-width:760px){body:lang(ta) .options{grid-template-columns:1fr}}

/* Guided circuit; phases are provisional spatial groups, never a definitive pantheon. */
.route-launch{position:fixed;top:88px;left:24px;z-index:2;border-radius:24px;padding:9px 17px;min-height:44px;max-width:calc(100vw - 48px);font-size:12px;line-height:1.5}.route-banner{padding:14px 17px;border:1px solid #b7a67c;border-radius:10px;background:#eee9db;margin:15px 0}.route-banner p{margin:6px 0!important}.route-banner h3{margin:12px 0 0}.route-banner .secondary{margin-top:8px}.route-stations{padding-left:28px;margin:24px 0}.route-stations li{padding:9px 10px;border-bottom:1px solid #ded6c4;line-height:1.6}.route-stations small{display:block;color:#7b7465;font-size:11px}.route-stations .done{color:#59754c}.route-stations [aria-current=step]{background:#eee4cd;border-radius:6px}.route-stations .final-stop{border-left:2px solid #7c9085}.compound-section{margin:24px 0}.compound-section>p{font-size:12px}.compound-section.separate{border-top:2px solid #819384;padding-top:14px}.route-stations,.route-banner{overflow-wrap:anywhere}
@media(max-width:760px){.route-launch{top:121px;left:12px;right:12px;max-width:none;width:calc(100vw - 24px);font-size:12px;min-height:44px;padding:8px 12px}.wallet-button{top:178px}.camera-tools,.walk-pad{bottom:calc(107px + env(safe-area-inset-bottom))}.camera-tools{gap:4px}.camera-tools button{width:42px;min-width:44px;height:44px}.scene-hint{display:none}.route-stations li{font-size:14px}.route-banner{padding:12px}.route-banner h3{font-size:21px;line-height:1.6}.route-launch:lang(ta){font-size:11px}body:lang(ta) .route-launch{font-size:11px}body:lang(ta) .button-row{flex-direction:column}}

/* Local PRD review: a quiet ivory-and-brass interface over the garden. */
:root{--ink:#3d392f;--cream:#fcf8ef;--muted:#706b60;--gold:#9b7c43;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#eee8da}
[hidden]{display:none!important}.icon,.dock-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.brand-emblem{width:40px;height:40px;display:block}.brand-emblem svg{width:100%;height:100%}.brand-words{display:flex;flex-direction:column;gap:3px}.brand-words small{font:10px/1.3 Arial,sans-serif;letter-spacing:5px;color:#8b744b}.brand-group{gap:12px;font:21px/1.1 Georgia,serif}.hud-header{top:max(24px,env(safe-area-inset-top));left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));gap:16px}.glass{background:#fffaf0ed;border:1px solid #bba77b60;box-shadow:0 5px 26px #5e4d2b13;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.hall-picker{border-radius:8px;font-size:12px;padding:11px 16px}.round{display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif}.header-tools{gap:8px}.header-tools select{border-radius:8px}.presence{background:#fffaf0c9;border-radius:30px;font-size:11px}.shade-top{height:160px;background:linear-gradient(#fcf5e9bf,transparent)}
.route-launch{top:100px;left:32px;border-radius:7px;font-size:11px;min-height:40px;padding:8px 14px}.practice-dock{width:min(490px,90vw);border-radius:15px;bottom:max(25px,env(safe-area-inset-bottom));padding:7px 12px;border-color:#baa47677}.practice-dock button{font-size:11px;letter-spacing:.1px;border-radius:9px;gap:8px;min-height:64px}.dock-icon{color:#987b43;width:25px;height:25px}.practice-dock button:hover{background:#9f834d12}.camera-tools{right:32px;bottom:142px;gap:6px}.camera-tools button{border-radius:8px}.wallet-button{border-radius:8px;right:32px;bottom:30px}.prototype-label{left:32px;bottom:30px;font-size:10px;max-width:260px;color:#5b5547}.scene-hint{font-size:10px;border-radius:6px;bottom:120px;background:#fff8e3d6}.welcome-card{position:fixed;left:32px;bottom:130px;width:310px;padding:25px 26px 23px;background:linear-gradient(135deg,#fffcf5f7,#f9f1e3ee);border:1px solid #bba77b6b;border-radius:12px;box-shadow:0 12px 55px #67563118;z-index:2}.welcome-kicker{font-size:9px;letter-spacing:2.2px;color:#947a48}.welcome-card h1{font:30px/1.18 Georgia,serif;font-weight:400;margin:13px 0 12px;color:#504735}.welcome-card p{font-size:12px;line-height:1.8;color:#7b715d;margin-bottom:17px}.welcome-card>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.welcome-card .primary{font:12px/1.4 Arial,sans-serif;padding:12px 15px;min-height:44px}.text-button{font-size:11px;padding:9px 0;text-decoration:underline;text-underline-offset:4px;color:#786647;min-height:44px}
.primary{background:#75633e;color:#fffaf0;border-radius:7px;box-shadow:0 3px 10px #6c552a17}.primary:hover{background:#5e4e2f}.secondary{color:#6e5c3d;border:1px solid #bda981aa;background:#f8f1e4;border-radius:7px}.secondary:hover{background:#eee3ce}.primary,.secondary{font:14px/1.5 Arial,sans-serif;padding:12px 18px;min-height:46px}.button-row{gap:9px}.note{border-left:2px solid #bca57b;background:#f0e9dc;border-radius:0;padding:13px 15px;color:#766a55!important;font-size:12px!important;line-height:1.8;overflow-wrap:anywhere}.hall-list button{background:#faf6ee;border-radius:8px;min-height:53px;border:1px solid #e1d8c4}.hall-list button:hover{border-color:#a48b55;background:#f4ead7}.compound-section h3{font:24px/1.4 Georgia,serif;color:#6d5837}.compound-section.separate{border-color:#a9b5ab}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e4d9c3;font-size:14px;cursor:pointer}.setting-row input{width:22px;height:22px;accent-color:#796944;cursor:pointer;flex-shrink:0}input[type=range]{width:100%;min-height:44px;accent-color:#796944}.settings-list{margin:20px 0}.confirmation-summary{padding:22px;background:#eee5d1;border-radius:9px;margin:20px 0}.confirmation-summary>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#87724e}.confirmation-summary h3{margin:8px 0;font-size:27px}.confirmation-summary>strong{font:20px/1.5 Georgia,serif;color:#8f713f}.confirmation-summary p{margin-bottom:10px}.receipt-mark{display:grid;place-items:center;width:52px;height:52px;background:#e5e9da;color:#6e7a53;border-radius:50%;font-size:27px;margin:22px 0}.receipt-details{font-size:13px;line-height:1.8}.receipt-details dt{font-weight:bold;color:#84714f;padding-top:10px}.receipt-details dd{margin:3px 0 12px;overflow-wrap:anywhere;color:#60594b}.ledger-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:57px;border-bottom:1px solid #dfd4bd;text-align:left;padding:10px 0;color:#665c49;font-size:12px}.ledger-entry small{display:block;font-size:10px;color:#99866a;margin-top:3px}.ledger-entry strong{white-space:nowrap}.fallback-actions{position:fixed;left:50%;top:57%;transform:translateX(-50%);z-index:3;padding:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;border-radius:10px;width:min(440px,85vw)}.fallback-actions button{padding:10px 15px;border:1px solid #bba77b80;border-radius:7px;font-size:13px}.no-3d .camera-tools,.no-3d .walk-pad,.no-3d #you-tag,.no-3d #welcome-card,.no-3d .scene-hint{display:none!important}.no-3d #sanctuary{background:linear-gradient(155deg,#f9efdd,#cad5ca)}.no-3d #temple-world{visibility:hidden}.no-3d #scene-status{box-shadow:none;border:1px solid #c9b796;background:#fffaf0}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important}
dialog{background:#fcf8ee;border:1px solid #d5c5a5;border-radius:13px;padding:32px 34px;max-height:85dvh;width:min(560px,calc(100vw - 24px));box-shadow:0 22px 100px #3f342b50}dialog::backdrop{background:#332e2759;backdrop-filter:blur(5px)}dialog h2{font:34px/1.2 Georgia,serif;color:#57482f;margin-bottom:18px}dialog p{font-size:14px;line-height:1.85;color:#756a55}.close-dialog{background:#fcf8ee;color:#8c7957}.eyebrow{font-size:10px;letter-spacing:2px;color:#a18451}.prayer-text{color:#6c745d;font-size:22px}.bead-count{fill:#796338}.breath{color:#8c784a}.route-banner{border-color:#cbb88e;background:#f2eadb;border-radius:8px}.shrine-prayer{border-color:#b3955b;background:#f4eddf}.field-label{margin-top:20px}
@media(max-width:1100px){.hud-header{left:20px;right:20px;gap:10px}.brand-group{font-size:18px}.brand-emblem{width:34px;height:34px}.hall-picker{max-width:210px}.route-launch{left:20px}.welcome-card{left:20px;width:275px;padding:21px}.welcome-card h1{font-size:27px}.wallet-button{bottom:126px;right:20px}.camera-tools{right:20px;bottom:184px}.prototype-label{left:20px;bottom:24px;max-width:180px;font-size:9px}.header-tools select{width:135px}.presence{font-size:10px;padding:10px}}
@media(max-width:760px){.hud-header{top:max(12px,env(safe-area-inset-top));left:12px;right:12px;gap:8px;display:grid}.brand-group{max-width:48vw;font-size:17px;gap:7px}.brand-group #brand-name{font-size:16px}.brand-emblem{width:29px;height:29px}.brand-words small{font-size:9px;letter-spacing:3px}.header-tools{gap:6px}.header-tools select{width:116px;font-size:11px;padding:9px;max-width:32vw}.header-tools .round#settings-button{display:grid;width:42px;height:44px;min-width:42px}.hall-picker{border-radius:7px;max-width:100%;font-size:11px;min-height:42px;padding:7px 10px}.presence{border-radius:7px;font-size:10px;padding:8px 10px;min-height:42px}.route-launch{top:119px;left:12px;right:auto;width:auto;max-width:calc(100vw - 92px);font-size:10px;min-height:40px;padding:8px 12px}.wallet-button{top:119px;right:12px;bottom:auto;min-width:61px;min-height:40px;border-radius:7px;font-size:12px;padding:8px 11px}.practice-dock{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);border-radius:12px;padding:7px 5px}.practice-dock button{font-size:10px;min-height:60px;gap:6px}.dock-icon{width:23px;height:23px}.camera-tools{right:12px;bottom:calc(110px + env(safe-area-inset-bottom));gap:5px}.camera-tools button{width:44px;height:44px}.walk-pad{left:12px;bottom:calc(110px + env(safe-area-inset-bottom))}.welcome-card{left:12px;bottom:calc(108px + env(safe-area-inset-bottom));width:calc(100vw - 80px);max-width:310px;padding:21px;z-index:3}.welcome-card h1{font-size:28px}.welcome-kicker{font-size:8px}.welcome-card p{font-size:12px}.welcome-card .primary{font-size:12px}.prototype-label{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));max-width:96vw;font-size:8px;width:max-content;transform:translateX(-50%)}dialog{padding:28px 23px;max-height:84dvh}dialog h2{font-size:29px}dialog p{font-size:15px}.primary,.secondary{font-size:14px;min-height:48px}.close-dialog{margin:-12px -13px 0 0}.settings-list{margin:10px 0}.setting-row{font-size:15px}.confirmation-summary h3{font-size:24px}.scene-hint{display:none}.fallback-actions{top:60%;width:85vw}.no-3d #scene-status{top:40%}.brand-group #brand-name{white-space:normal}body:lang(ta) .brand-group #brand-name{font-size:13px}body:lang(ta) .practice-dock button{font-size:10px;min-height:75px}body:lang(ta) .welcome-card h1,body:lang(th) .welcome-card h1{font-family:inherit;font-size:24px;line-height:1.5}body:lang(ta) .route-launch{font-size:9px}body:lang(ta) .prototype-label{bottom:calc(103px + env(safe-area-inset-bottom))}body:lang(ta) .camera-tools,body:lang(ta) .walk-pad{bottom:calc(124px + env(safe-area-inset-bottom))}}
@media(max-height:560px) and (min-width:600px){.welcome-card{left:20px;bottom:110px;width:270px;padding:18px}.welcome-card h1{font-size:24px}.welcome-card p{display:none}.welcome-card .welcome-kicker{font-size:8px}.practice-dock{bottom:12px;max-width:420px}.practice-dock button{min-height:55px}.camera-tools{bottom:108px;flex-direction:row}.prototype-label,.scene-hint{display:none}.wallet-button{top:90px;bottom:auto}.route-launch{top:90px}.hud-header{top:16px}.walk-pad{display:none}}

/* Every primary navigation target remains comfortable on touch screens. */
.route-launch,.wallet-button,.hall-picker{min-height:44px}
.shade-top{height:85px;background:linear-gradient(180deg,rgba(255,239,222,.20),transparent)}
.architecture-view :is(.hud-header,.practice-dock,.wallet-button,.route-launch,.prototype-label,.scene-hint,.walk-pad,.welcome-card,.shade-top,#you-tag){display:none!important}
.architecture-view .camera-tools{top:auto;right:14px;bottom:14px}
.architecture-view .camera-tools button:not(#model-view){display:none}
.architecture-view #model-view{display:grid;opacity:.34;transition:opacity .15s}
.architecture-view #model-view:hover,.architecture-view #model-view:focus-visible{opacity:1}

/* In landscape the short screen needs the walking pad just as much as portrait. */
@media (pointer:coarse) and (min-width:600px) and (max-height:600px){
 .walk-pad{display:flex;flex-direction:column;align-items:center;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left))}
 .walk-pad button,.camera-tools button{min-width:44px;min-height:44px}
 .camera-tools{bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));display:grid;grid-template-columns:repeat(2,44px)}
 .practice-dock{max-width:calc(100vw - 320px)}
 .welcome-card{bottom:110px}.mobile-only{display:block}
}
