:root{--paper:#f1eee5;--ink:#293831;--gold:#d9ba7d;--red:#913c2d;--serif:'Songti SC','STSong','Noto Serif CJK SC',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.site-header{height:108px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:10;color:#eeeadd;border-bottom:1px solid #fff2}.brand{display:flex;gap:15px;align-items:center;font:25px var(--serif);letter-spacing:5px}.brand small{display:block;font:9px sans-serif;letter-spacing:4px;margin-top:9px;opacity:.7}.seal{font:15px/1.25 var(--serif);border:1px solid #d2b997;padding:6px 5px;color:#e5d1aa;letter-spacing:0;background:#863b2d70}.site-header nav{display:flex;gap:40px}.site-header nav button,.sound{color:inherit;background:none;border:0;padding:14px 0;letter-spacing:3px;font-size:13px}.site-header nav button{position:relative;opacity:.65}.site-header nav button:hover,.site-header nav button.active{opacity:1}.site-header nav button.active:after{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;position:absolute;bottom:3px;left:calc(50% - 4px)}.sound{font-size:12px;letter-spacing:1px;opacity:.8}.sound:first-letter{font-size:20px}.courtyard{height:100svh;min-height:780px;position:relative;isolation:isolate;overflow:hidden;color:var(--paper);background:#18211d}.landscape,.shade,.grain{position:absolute;inset:0;z-index:-1}.landscape{background:url(temple.webp) center center/cover no-repeat;transition:transform 3s,filter 2s}.shade{background:linear-gradient(90deg,rgba(9,20,17,.87),rgba(9,20,17,.40) 37%,rgba(9,20,17,.02) 69%),linear-gradient(0deg,rgba(9,19,16,.85),transparent 42%,rgba(8,19,15,.35));transition:background 2s}.grain{opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.hero-copy{position:absolute;left:7.5%;top:27%;transition:opacity .8s,transform 1s;max-width:430px}.eyebrow{font-size:11px;letter-spacing:4px;color:#e3cfa4}.eyebrow>span{display:inline-block;width:25px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}h1{font:clamp(48px,5.3vw,78px)/1.5 var(--serif);letter-spacing:9px;font-weight:400;margin:22px 0}.hero-copy p{font-size:13px;line-height:2.3;letter-spacing:2px;color:#deddd0;margin:0 0 35px}.primary{border:1px solid #b99b64;background:#c2a372;color:#19261f;padding:13px 28px;letter-spacing:2px;min-height:50px;transition:background .2s,transform .2s}.primary:hover{background:#debf85}.primary:active{transform:translateY(1px)}.primary span{margin-left:30px}.primary:disabled{opacity:.65}.gentle{font-size:10px;letter-spacing:2px;opacity:.5;margin-top:13px}.date-vertical{position:absolute;right:5.8%;top:160px;display:flex;align-items:center;gap:22px;writing-mode:vertical-rl;font-family:var(--serif);letter-spacing:3px;font-size:11px;color:#e2dfcf}.date-vertical i{width:1px;height:36px;background:#d6c69966}.date-vertical span:last-child{opacity:.6}.scene-bottom{position:absolute;bottom:38px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:center;letter-spacing:2px;font-size:10px;color:#e7e2d0aa}.scene-caption{display:flex;gap:12px;align-items:center}.tiny-seal{border:1px solid #a5885b;padding:2px 4px;color:#cbb78a;font-family:var(--serif)}.scene-bottom button{border:0;color:inherit;background:none;font-size:10px;letter-spacing:1px}.scene-bottom button span{margin-left:15px}.scroll-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:9px;color:#dfdcc8a0;letter-spacing:3px;display:flex;align-items:center;flex-direction:column}.scroll-hint span{font-size:19px;line-height:1.2;margin-top:8px}.ritual .hero-copy{opacity:0;transform:translateY(-15px);pointer-events:none}.ritual .landscape{transform:scale(1.025)}.ritual .shade{background:linear-gradient(0deg,rgba(9,19,16,.95),transparent 53%,rgba(8,19,15,.65))}.ritual .scroll-hint{display:none}.ritual-heading{text-align:center;position:absolute;top:17%;left:10%;width:80%;text-shadow:0 2px 20px #000}.ritual-heading h2{font:clamp(22px,2.6vw,36px)/1.6 var(--serif);letter-spacing:4px;margin:12px 0}.ritual-heading p{font-size:12px;letter-spacing:2px;color:#ddd8cb}.ritual-controls{position:absolute;left:50%;bottom:73px;transform:translateX(-50%);text-align:center;min-width:270px}.three-dots{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.three-dots span{height:4px;width:22px;background:#dfdcc644;border-radius:3px;transition:background 1s}.three-dots span.lit{background:var(--gold);box-shadow:0 0 10px #d9ba7d44}.ritual-controls .primary{min-width:230px;background:#c2a372ed}.ritual-controls #progress{margin-top:8px;font-size:10px;letter-spacing:3px;color:#ccc6b5}.text-button{border:0;background:none;color:inherit;font-size:11px;letter-spacing:1px;padding:9px 15px;opacity:.7}.incense-placement{position:absolute;bottom:19.4%;left:50%;width:80px;height:120px;transform:translateX(-50%);display:flex;justify-content:center;align-items:flex-end;gap:13px;pointer-events:none}.stick{position:relative;width:3px;height:0;background:linear-gradient(to bottom,#9a6348 0 70%,#512b20 70%);opacity:0;transition:height 1.5s,opacity 1s}.stick.lit{height:95px;opacity:1}.stick:nth-child(2).lit{height:107px}.ember{position:absolute;top:0;width:4px;height:5px;left:-.5px;background:#ee8d47;border-radius:50%;box-shadow:0 0 6px 2px #e8773850;animation:glow 3s infinite alternate}.smoke{position:absolute;bottom:95%;left:50%;width:20px;height:100px;border-radius:60% 40%;background:linear-gradient(to top,#d1c7ae4d,transparent);filter:blur(6px);opacity:0;transform-origin:bottom;animation:smoke 7s ease-in-out infinite}.s2{animation-delay:3s;width:12px;height:140px}@keyframes smoke{0%{opacity:0;transform:translate(-50%,10px) scaleX(.1)}35%{opacity:.45}100%{opacity:0;transform:translate(-120%,-100px) scaleX(2) rotate(10deg)}}@keyframes glow{to{opacity:.55}}.slow{max-width:1240px;margin:auto;padding:100px 65px 75px;text-align:center}.section-kicker{font-size:10px;letter-spacing:4px;color:#89774f}.slow>h2{font:30px/1.7 var(--serif);font-weight:400;letter-spacing:3px;margin:20px 0 12px}.intro{color:#7f8278;font-size:12px;letter-spacing:1px}.features{display:grid;grid-template-columns:repeat(3,1fr);margin:65px 0 60px;border-top:1px solid #cccbbd;border-bottom:1px solid #cccbbd}.features>button{position:relative;text-align:left;padding:38px 42px 30px;border:0;border-right:1px solid #cccbbd;background:transparent;color:var(--ink);transition:background .3s}.features>button:last-child{border-right:0}.features>button:hover{background:#e5e4d8}.feature-no{color:#a0947b;font:11px var(--serif)}.feature-icon{font:40px var(--serif);position:absolute;right:35px;top:36px;color:#a69c7e77}.features h3{font:23px var(--serif);letter-spacing:2px;margin:20px 0 14px}.features p{font-size:11px;line-height:2.2;color:#808476}.feature-link{display:block;margin-top:28px;letter-spacing:2px;font-size:10px}.feature-link b{float:right;font-weight:400}.daily-line>span{font-size:10px;color:#a07554;writing-mode:vertical-rl;letter-spacing:2px;display:inline-block}.daily-line p{font:21px var(--serif);letter-spacing:4px;margin:22px 0 13px}.daily-line small{color:#909182;font-size:9px;letter-spacing:2px}footer{background:#e7e7dc;padding:45px 7.5%;position:relative;color:#7a7d70;font-size:10px}.footer-brand{font:20px var(--serif);color:#4d594b;letter-spacing:3px}.footer-brand span{font:9px sans-serif;margin-left:16px;letter-spacing:2px}footer p{line-height:2.2;margin:18px 0 0}footer button{border:0;padding:12px 0;background:none;color:#5a6556;font-size:10px}.footer-mark{position:absolute;right:7.5%;top:53px;font-size:9px;letter-spacing:3px}dialog{border:1px solid #d8cfbb;background:#f6f2e8;color:var(--ink);padding:36px 42px;width:560px;max-width:calc(100% - 28px);max-height:90svh;overflow:auto;box-shadow:0 24px 100px #0006}dialog::backdrop{background:#0a1713bb;backdrop-filter:blur(7px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.close{border:0;background:none;color:#6f7467;font-size:25px;line-height:1;padding:0 0 4px 15px}dialog h2{font:28px/1.6 var(--serif);font-weight:400;letter-spacing:2px;margin:20px 0 8px}.dialog-intro{font-size:12px;color:#858778;margin:0 0 26px}dialog>p{font-size:12px;line-height:2.1}dialog>a{font-size:11px;color:#8d5e35;text-decoration:underline}.wish-tags,.duration{display:flex;gap:9px;margin:25px 0}.wish-tags button,.duration button{background:none;border:1px solid #d8d3c3;color:#7a7f70;padding:5px 13px;font-size:11px}.wish-tags button.selected,.duration button.selected{border-color:#7a816b;color:#364c3e;background:#e9e9dc}label{display:block;font-size:11px;margin-bottom:9px;letter-spacing:1px}textarea{border:1px solid #d1ccbc;background:#eeece2;padding:15px;width:100%;resize:vertical;font:14px/1.8 var(--serif);color:var(--ink);border-radius:0}textarea:focus{outline:1px solid #8e977d}.input-meta{display:flex;justify-content:space-between;font-size:9px;color:#939384;margin:5px 0 20px}.wish-entry{padding:18px 0;border-top:1px solid #d7d3c4;margin-top:18px;position:relative}.wish-entry small{font-size:9px;color:#8d8d78}.wish-entry p{white-space:pre-wrap;font:15px/1.8 var(--serif);overflow-wrap:anywhere;margin:8px 0}.wish-entry button{position:absolute;right:0;top:14px;font-size:9px;color:#94765b;border:0;background:none;padding:5px}#meditate{text-align:center}.duration{justify-content:center}.breath{width:180px;height:180px;display:grid;place-items:center;margin:45px auto 30px;position:relative}.breath>div{position:absolute;inset:0;border:1px solid #c2b78e;border-radius:50%;background:radial-gradient(circle,#c8cdbb66,transparent);box-shadow:0 0 0 16px #d1c9ad20}.breath span{z-index:1;font:16px var(--serif);letter-spacing:3px}.breath.running>div{animation:breathe 8s ease-in-out infinite}@keyframes breathe{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.1);opacity:1}}#timer{font:32px var(--serif);letter-spacing:5px;margin:0 0 22px}#reset-meditation{display:block;margin:5px auto}.small-note{font-size:10px!important;color:#90917e;line-height:1.9;margin-top:25px}.stats{display:flex;justify-content:space-around;text-align:center;border-top:1px solid #d8d3c4;border-bottom:1px solid #d8d3c4;padding:22px 0;margin:25px 0}.stats b{font:29px var(--serif);display:block;color:#6d765b}.stats span{font-size:9px;letter-spacing:1px}.calendar-title{display:flex;align-items:center;justify-content:space-between}.calendar-title h3{font:18px var(--serif);font-weight:400}.calendar-title button{background:none;border:0;color:#6f7b64;font-size:18px;padding:10px}.weekdays,#calendar{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{font-size:10px;color:#8e907d;margin:10px 0}.calendar-day{position:relative;min-height:42px;font:13px/42px var(--serif)}.calendar-day.today{outline:1px solid #b4b49c;outline-offset:-5px}.calendar-day.visited:after{content:'';width:4px;height:4px;border-radius:50%;background:#9f6346;position:absolute;bottom:3px;left:calc(50% - 2px)}.calendar-legend{font-size:9px;color:#8a8b78;margin-top:17px}.calendar-legend i{display:inline-block;background:#9f6346;width:4px;height:4px;border-radius:50%;vertical-align:middle;margin-right:5px}.calendar-legend>span{float:right}.danger{display:block;background:none;border:1px solid #ae8c7a;color:#97523d;padding:9px 16px;font-size:11px;margin-top:17px}#clear-confirm{border-top:1px solid #d8d3c4;margin-top:25px}#toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;transition:all .4s;z-index:100;background:#273e32f2;color:#eee8d9;border:1px solid #8b9174;padding:12px 24px;max-width:90vw;font-size:12px;text-align:center;letter-spacing:1px}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1650px){.courtyard{max-height:1100px}.hero-copy{top:25%}}@media(max-width:800px){.site-header{height:86px;padding:0 22px}.brand{font-size:20px;gap:10px;letter-spacing:3px}.brand small{font-size:8px;letter-spacing:2px}.site-header nav{gap:18px}.site-header nav button{font-size:11px;letter-spacing:1px}.sound span{display:none}.sound{font-size:18px}.courtyard{min-height:740px}.landscape{background-position:51% center}.shade{background:linear-gradient(90deg,#091411a8,transparent),linear-gradient(0deg,#091310ed,transparent 70%,#08130f77)}.hero-copy{left:8%;top:24%;max-width:330px}h1{font-size:54px;letter-spacing:7px}.date-vertical{right:22px;top:126px}.hero-copy p{font-size:12px}.scene-bottom{left:22px;right:22px;bottom:26px}.scroll-hint{bottom:23px}.scene-bottom button{font-size:9px}.scene-caption{font-size:9px}.slow{padding:70px 25px 45px}.slow>h2{font-size:25px;letter-spacing:1px}.intro{font-size:11px}.features{margin:40px 0}.features>button{padding:25px 20px}.features h3{font-size:19px;letter-spacing:0}.feature-icon{right:16px;font-size:25px}.features p{font-size:10px}.daily-line p{font-size:18px;line-height:1.8}.footer-mark{display:none}.ritual-heading{top:16%;left:5%;width:90%}.ritual-heading h2{font-size:24px;letter-spacing:2px}.ritual-heading p{font-size:11px}.incense-placement{bottom:20%;}.ritual-controls{bottom:75px}.ritual-controls .primary{min-height:45px;padding:9px 24px}.three-dots{margin-bottom:11px}dialog{padding:25px 24px}dialog h2{font-size:25px}.wish-tags{gap:6px}.wish-tags button{padding:5px 10px}.stats{margin:20px 0}.scene-bottom .scene-caption{max-width:45%}}@media(max-width:480px){.site-header nav{gap:14px}.site-header nav button[data-nav]{display:none}.site-header{padding:0 18px}.brand{font-size:19px}.seal{font-size:12px}.courtyard{height:100svh;min-height:700px}.landscape{background-size:auto 100%;background-position:50% center}.hero-copy{top:27%}.hero-copy h1{font-size:48px}.hero-copy .eyebrow{font-size:9px;letter-spacing:2px}.date-vertical{top:112px;right:19px;font-size:10px;gap:17px}.hero-copy p{margin-bottom:27px}.hero-copy .primary{font-size:12px;padding:12px 22px}.gentle{font-size:9px}.features{grid-template-columns:1fr;text-align:left}.features>button{border-right:0;border-bottom:1px solid #cccbbd;padding:26px 24px}.features>button:last-child{border-bottom:0}.features h3{font-size:23px;margin:10px 0}.features p br{display:none}.feature-icon{top:28px;right:26px;font-size:35px}.feature-link{margin-top:15px}.features p{font-size:11px}.slow>h2{font-size:23px}.scene-caption span:last-child{display:none}.scene-bottom{bottom:23px}.ritual-heading{top:17%}.ritual-heading h2{font-size:22px}.ritual-controls{bottom:78px}.incense-placement{bottom:20.6%}.incense-placement .stick.lit{height:82px}.incense-placement .stick:nth-child(2).lit{height:94px}.daily-line p{letter-spacing:2px}footer{padding:35px 25px}.calendar-day{min-height:39px;line-height:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.smoke{display:none}}
.hall-entry{display:block;background:transparent;border:0;border-bottom:1px solid #d8c6a344;color:#e6d5b4;font-size:11px;letter-spacing:2px;margin-top:16px;padding:0 0 6px}.hall-entry span{margin-left:17px}.hall-entry:hover{color:#fff1ce}.ritual-links{display:flex;justify-content:center;gap:8px}.hall{position:fixed;inset:0;background:#1c160f;color:#f0e7cf;z-index:9;isolation:isolate;overflow:hidden;animation:hall-enter 1.8s ease-out}.hall-open{overflow:hidden}.hall-open .site-header{position:fixed;background:linear-gradient(#100c08aa,transparent)}.hall-open .site-header nav button[data-nav]{opacity:.7}.hall-scene{position:absolute;inset:0;z-index:-2;background:url(hall-ruyi-v2.webp) center center/cover no-repeat;transform-origin:50% 85%;will-change:transform}.hall-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#110f0bf2,transparent 36%,#110d0744 85%),linear-gradient(90deg,#130d0766,transparent 37%);pointer-events:none}.hall-intro{position:absolute;left:6.5%;top:18%;text-shadow:0 2px 20px #0006}.hall-intro .eyebrow{font-size:9px;letter-spacing:3px}.hall-intro h2{font:36px/1.8 var(--serif);letter-spacing:8px;margin:12px 0 2px;font-weight:400}.hall-intro p{font:12px/2 var(--serif);letter-spacing:3px;color:#dbcaac}.hall-back{position:absolute;right:5.8%;top:150px;border:1px solid #dfc59e55;background:#21190c55;color:#e4d4b5;padding:8px 16px;font-size:10px;letter-spacing:2px}.hall-back:hover{background:#332410aa}.hall-ritual{position:absolute;bottom:45px;width:90%;left:5%;text-align:center}.hall-bow-dots{display:flex;gap:12px;justify-content:center}.hall-bow-dots span{width:20px;height:3px;background:#dac49b44}.hall-bow-dots span.done{background:#e2bc75;box-shadow:0 0 8px #c9a26455}.hall-ritual>p{font:15px/1.7 var(--serif);letter-spacing:2px;margin:14px 0;color:#f5e6c8;min-height:26px;text-shadow:0 1px 8px #000}.hall-ritual .primary{min-width:235px;background:#bd9a63ee;border-color:#e0bc7b}.hall-secondary{display:flex;justify-content:center;margin-top:4px;gap:10px}.hall-ritual small{font-size:9px;letter-spacing:2px;color:#d9cdb888}.hall.bowing .hall-scene{animation:bow-view 5.6s cubic-bezier(.4,0,.2,1)}.hall.bowing .hall-shade{animation:bow-shade 5.6s ease-in-out}.hall.bowing #hall-still,.hall.bowing #hall-wish{opacity:.35}.hall-still-note{position:absolute;bottom:40px;left:10%;width:80%;text-align:center;color:#e3d6bb88;font-family:var(--serif);font-size:12px;letter-spacing:3px}.hall.still .hall-intro{opacity:.4;transition:opacity 2s}.hall.still .hall-shade{opacity:.65;transition:opacity 2s}@keyframes hall-enter{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes bow-view{0%,100%{transform:scale(1) translateY(0)}38%,65%{transform:scale(1.18) translateY(-9%)}}@keyframes bow-shade{0%,100%{opacity:1}40%,60%{opacity:.65}}@media(max-width:800px){.site-header nav{gap:22px}.hall-intro{top:16%;left:6%}.hall-intro h2{font-size:29px;letter-spacing:6px}.hall-intro .eyebrow{font-size:8px;letter-spacing:1px}.hall-intro p{font-size:10px;letter-spacing:2px}.hall-back{top:120px;right:22px;font-size:9px;padding:7px 10px}.hall-ritual{bottom:35px}.hall-ritual>p{font-size:13px;letter-spacing:1px}.hall-scene{background-position:center center}}@media(max-width:480px){.site-header nav{gap:12px}.site-header nav button{font-size:10px}.hall-intro{top:14%;left:22px;writing-mode:vertical-rl}.hall-intro .eyebrow{display:none}.hall-intro h2{font-size:23px;letter-spacing:6px;margin:0 0 0 9px}.hall-intro p{font-size:9px;letter-spacing:2px;margin:5px 0}.hall-back{top:105px;right:18px}.hall-scene{background-size:auto 100%;background-position:50% center}.hall-ritual{bottom:32px;left:4%;width:92%}.hall-ritual>p{font-size:12px;letter-spacing:0}.hall-ritual .primary{min-width:215px;padding:10px 20px}.hall-secondary{gap:0}.hall-secondary button{font-size:10px}.hall-entry{font-size:10px;margin-top:14px}.hero-copy p{margin-bottom:22px}.hall-ritual small{font-size:8px}.hall-still-note{bottom:35px}}@media(prefers-reduced-motion:reduce){.hall,.hall.bowing .hall-scene,.hall.bowing .hall-shade{animation:none!important}}

/* Preserve the complete side bays in the wide view; offer deliberate mobile views. */
.hall-scene{background-size:contain;background-position:center 42%;background-color:#1c160f}.hall-intro{top:17%;left:3.8%;padding:8px 12px;background:linear-gradient(90deg,#1c160f99,#1c160f44);border-left:1px solid #d8ba7b66}.hall-source-button{position:absolute;right:5.8%;top:195px;padding:7px 16px;border:0;border-bottom:1px solid #dfc59e44;background:#21190c55;color:#e4d4b5;font-size:10px;letter-spacing:2px}.hall-view-controls{display:none}.source-links{display:flex;flex-direction:column;gap:12px;border-top:1px solid #d8d3c4;padding-top:19px;margin-top:20px}.source-links a{font-size:11px;color:#8b623d;text-decoration:underline}.hall-ritual{bottom:27px}.hall-ritual>p{margin:10px 0}.hall-ritual .primary{padding:10px 24px;min-height:45px}
@media(max-width:800px){.hall-source-button{top:160px;right:22px;font-size:9px}.hall-intro{top:17%;left:3%;padding:8px}.hall-intro h2{font-size:25px;letter-spacing:4px}.hall-scene{background-size:auto 100%;background-position:38% center;transition:background-position 1.5s ease}.hall[data-view="left"] .hall-scene{background-position:0% center}.hall[data-view="right"] .hall-scene{background-position:100% center}.hall-view-controls{position:absolute;left:50%;top:116px;transform:translateX(-50%);display:flex;background:#160f08aa;border:1px solid #dfc59e44}.hall-view-controls button{border:0;background:transparent;color:#d8c6a2;padding:6px 13px;font-size:10px;letter-spacing:1px}.hall-view-controls button.selected{background:#bd9a6344;color:#fff0cb}.hall-ritual{bottom:25px}}@media(max-width:480px){.hall-source-button{top:143px;right:18px;font-size:8px;padding:5px 11px}.hall-view-controls{top:105px}.hall-view-controls button{padding:5px 10px;font-size:9px}.hall-intro{top:17%;left:14px;padding:8px 5px}.hall-intro h2{font-size:21px;letter-spacing:5px}.hall-intro p{display:none}.hall-ritual>p{font-size:11px}.hall-ritual small{font-size:8px}}
/* A single image-coordinate stage keeps altar light, smoke and prayer seats aligned. */
.hall-stage{position:absolute;left:50%;top:50%;width:min(100vw,177.69svh);aspect-ratio:1672/941;transform:translate(-50%,-50%);z-index:-2;isolation:isolate}.hall-art{display:block;width:100%;height:100%;object-fit:contain;transition:filter 4s}.hall-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}html[data-temple-time=night] .hall-art{filter:brightness(.75) saturate(.92)}html[data-temple-time=night] .hall{background:#100d09}.hall-shade{background:linear-gradient(0deg,#110f0b55,transparent 22%,transparent 80%,#110d0744);pointer-events:none}#prayer-seats{position:absolute;inset:0;pointer-events:none}.prayer-seat{position:absolute;left:var(--x);top:var(--y);width:8.7%;height:4.3%;transform:translate(-50%,-50%)}.cushion{position:absolute;inset:0;border-radius:22% 22% 16% 16%;background:radial-gradient(ellipse at 50% 35%,#bc9055,#997244 65%,#644626);border:1px solid #d4a76b88;box-shadow:inset 0 3px 5px #e5b57444,inset 0 -7px 0 #39291b88,0 5px 6px #0007;transform:perspective(200px) rotateX(32deg)}.cushion:after{content:'';position:absolute;inset:12% 8% 22%;border:1px solid #e6c28555;border-radius:20%;background:repeating-conic-gradient(from 0deg,#cfad7133 0deg 20deg,transparent 20deg 40deg) 50%/16px 16px}.cushion span{position:absolute;bottom:4%;left:46%;font:clamp(4px,.55vw,9px) var(--serif);color:#e8d2a577}.mine .cushion{box-shadow:inset 0 3px 5px #ffe8a355,inset 0 -7px 0 #39291b88,0 0 13px #e0b46088}.visitor{position:absolute;width:72%;height:auto;aspect-ratio:90/145;bottom:40%;left:14%;transform-origin:50% 95%}.visitor svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 3px #0007)}.visitor-shadow{fill:#0d090980}.visitor .upper{transform-origin:45px 79px}.visitor .lower{transform-origin:45px 134px}.visitor-label{position:absolute;left:50%;bottom:-11%;transform:translateX(-50%);white-space:nowrap;font-size:clamp(6px,.65vw,11px);color:#e8d9ba;text-shadow:0 1px 3px black}.prostrating .upper{animation:upper-bow 9s linear infinite;animation-delay:var(--delay)}.prostrating .lower{animation:lower-bow 9s linear infinite;animation-delay:var(--delay)}.prostrating .head{transform-origin:45px 40px;animation:head-bow 9s linear infinite;animation-delay:var(--delay)}.prostrating .arms{transform-origin:45px 57px;animation:arms-bow 9s linear infinite;animation-delay:var(--delay)}
@keyframes lower-bow{0%,15%,94%,100%{transform:scaleY(1)}31%,73%{transform:scaleY(.4)}}@keyframes upper-bow{0%,15%,94%,100%{transform:translateY(0) scaleY(1)}31%{transform:translateY(33px) scaleY(.85)}44%,65%{transform:translateY(49px) scaleY(.28) rotateX(28deg)}73%{transform:translateY(33px) scaleY(.85)}}@keyframes head-bow{0%,25%,85%,100%{transform:rotate(0)}42%,65%{transform:translateY(10px) scaleY(.6)}}@keyframes arms-bow{0%,26%,80%,100%{transform:scaleX(1)}43%,65%{transform:translateY(-8px) scaleX(1.4)}}
.queue-panel{position:absolute;bottom:27px;left:3.8%;width:290px;max-width:29vw;padding:15px 17px;border:1px solid #d5b47b33;background:#17120ee0;backdrop-filter:blur(10px);color:#dbceb4}.queue-heading{font-size:10px;letter-spacing:2px;color:#cbb387}.queue-heading i{display:inline-block;width:5px;height:5px;background:#b7c199;border-radius:50%;margin-right:6px}.queue-panel p{font-size:11px;line-height:1.7;margin:10px 0}.queue-meta{font-size:9px;color:#aa9d85;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.queue-meta button{color:#e2c58e;background:none;border:0;border-bottom:1px solid #b99b6444;font-size:10px;padding:3px 0}.hall-ritual{left:auto;right:3.8%;width:300px;max-width:30vw;padding:12px 15px;background:#17120ee0;border:1px solid #d5b47b33;backdrop-filter:blur(10px)}.hall-intro h2{font-size:27px}.hall-ritual small{letter-spacing:1px}.hall-ritual .primary{min-width:0;width:100%;font-size:12px}.hall-secondary{gap:0}.hall-secondary button{font-size:9px;padding:9px 7px}.hall.bowing .hall-stage{animation:none}.hall-view-controls{display:none!important}
@media(max-width:800px){.hall-stage{width:177.69svh;left:50%;transition:left 1.5s,transform 1.5s}.hall[data-view=left] .hall-stage{left:0;transform:translateY(-50%)}.hall[data-view=right] .hall-stage{left:100%;transform:translate(-100%,-50%)}.hall-view-controls{display:flex!important}.queue-panel{left:15px;bottom:225px;width:auto;max-width:calc(100% - 30px);padding:10px 13px}.queue-heading{font-size:9px}.queue-panel p{margin:6px 0;font-size:10px}.hall-ritual{right:15px;bottom:20px;width:calc(100% - 30px);max-width:none;padding:10px 15px}.hall-ritual>p{margin:7px 0}.hall-ritual .primary{min-height:43px}.hall-stage .visitor-label{font-size:9px}.hall-intro{top:20%}.hall-back{top:154px}.hall-source-button{top:191px}.queue-meta{font-size:9px}.hall-ritual small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.visitor *{animation:none!important}.hall-stage{transition:none!important}}

.prostrating .upper,.prostrating .lower,.prostrating .head,.prostrating .arms{animation-play-state:paused}.temple-audio{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #d5b47b22;padding-bottom:10px;margin-bottom:12px}.temple-audio button{border:1px solid #d5b47b55;background:#ad8b5222;color:#ead4a7;padding:7px 9px;font-size:10px}.temple-audio button[aria-pressed=true]{background:#ad8b5244}.temple-audio label{margin:0;font-size:9px;color:#aa9d85}.temple-audio input{width:65px;accent-color:#c3a16e}.temple-audio small{font-size:8px;color:#aa9d85}.hall-open .hall-view-controls{z-index:2}@media(max-width:800px){.temple-audio{margin-bottom:8px;padding-bottom:8px;gap:7px}.temple-audio small{font-size:8px}.temple-audio input{width:70px}.hall-intro{pointer-events:none}}
@media(min-width:801px){.hall-stage{top:90px;width:min(100vw,calc((100svh - 300px)*1.7769));transform:translateX(-50%)}.hall-intro{top:15%;left:3%}.hall-ritual{bottom:18px}.queue-panel{bottom:18px}.hall-source-button{top:195px}}
@media(max-width:800px){.hall[data-view=all] .hall-stage{width:100vw;left:50%;top:35%;transform:translate(-50%,-50%)}.hall-view-controls button{padding-left:10px;padding-right:10px}}

.queue-rule{display:block;font-size:9px;color:#aa9d85;line-height:1.6;margin:-3px 0 9px}
/* Outdoor station: nine explicit sticks and readable traditional plaque. */
.landscape{background:none}.courtyard-scene{width:100%;height:100%;display:block}.plaque-text{filter:drop-shadow(0 1px 1px #61411d)}.ritual .landscape{transform:none}.ritual .shade{background:linear-gradient(90deg,#0c1714e8,transparent 44%),linear-gradient(0deg,#09131088,transparent 28%,#08130f44)}.ritual-heading{left:6.5%;top:23%;width:350px;max-width:35%;text-align:left}.ritual-heading h2{font-size:28px;letter-spacing:2px}.ritual-heading p{font-size:12px;letter-spacing:1px;line-height:2}.ritual-controls{left:6.5%;bottom:90px;transform:none;text-align:left;min-width:0;width:350px;max-width:35%;background:#10201bce;border:1px solid #bca67744;padding:22px;backdrop-filter:blur(8px)}.ritual-controls .primary{width:100%;min-width:0;font-size:12px}.pilgrim-steps{display:flex;list-style:none;padding:0;gap:11px;margin:0 0 20px;font-size:9px;letter-spacing:1px;color:#b6b8a299}.pilgrim-steps li{padding-bottom:8px;border-bottom:1px solid #c2a37233;white-space:nowrap}.pilgrim-steps li.current{color:#ead5a9;border-color:#d7b879}.pilgrim-steps li.done{color:#b7c7ae}.direction-progress{display:flex;gap:13px;margin:0 0 17px}.direction-progress span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d9ba7d44;border-radius:50%;font:13px var(--serif);color:#a6ad9b}.direction-progress span.current{border-color:#e2c58b;color:#fae4bb;background:#ba98532b}.direction-progress span.done{border-color:#9ba98d;color:#bfd0b2;background:#8a9e7b22}.ritual-controls #progress{letter-spacing:1px;font-size:10px;margin:12px 0 3px}.ritual-links{justify-content:flex-start}.ritual-links .text-button{font-size:10px;padding:8px 12px 8px 0}.ritual-footnote{display:block;font-size:8px;color:#d1cfb688;line-height:1.7}.ritual .date-vertical{opacity:.6}.court-smoke{fill:none;stroke:url(#smoke-fade);stroke-width:3;stroke-linecap:round;filter:url(#soft-smoke);opacity:.9;transform-origin:840px 690px;animation:court-smoke 7s ease-in-out infinite alternate;animation-delay:var(--lag)}.court-stick circle{animation:court-ember 3s ease-in-out infinite alternate}.court-flame{transform-box:fill-box;transform-origin:50% 70%;animation:court-flame 2.3s ease-in-out infinite alternate;animation-delay:var(--lag)}#outdoor-guest{opacity:0;transition:opacity .7s}.ritual:not([data-outside-step="0"]) #outdoor-guest{opacity:1}.guest-upper{transform-origin:1040px 806px;transition:transform .6s}.courtyard[data-outside-direction="0"] .guest-upper{transform:rotateY(-25deg)}.courtyard[data-outside-direction="2"] .guest-upper{transform:rotateY(25deg)}.outside-bow .guest-upper{animation:court-bow 2.4s ease-in-out}.bundle-embers{opacity:0}.courtyard[data-outside-step="6"] .bundle-embers{opacity:1}.courtyard[data-outside-step="7"] .guest-bundle{opacity:0}.outside-light .guest-bundle{animation:court-light 2.4s ease-in-out}.outside-light .bundle-embers{animation:court-catch 2.4s ease-in-out forwards}.outside-insert .guest-bundle{animation:court-insert 1.8s ease-in-out forwards}.outside-walk .guest-walk{animation:court-walk 1.8s ease-in-out forwards;transform-origin:1040px 873px}
@keyframes court-smoke{from{transform:skewX(-3deg) translateX(-3px);opacity:.7}to{transform:skewX(4deg) translateX(5px);opacity:1}}@keyframes court-ember{to{opacity:.6}}@keyframes court-flame{to{opacity:.8;transform:scaleX(.9) scaleY(1.05) rotate(2deg)}}@keyframes court-bow{0%,100%{transform:translateY(0) scaleY(1)}40%,65%{transform:translateY(14px) scaleY(.72)}}@keyframes court-light{0%,100%{transform:translate(0,0)}40%,72%{transform:translate(85px,-57px)}}@keyframes court-catch{0%,55%{opacity:0}75%,100%{opacity:1}}@keyframes court-insert{0%{transform:translate(0,0)}40%{transform:translate(-100px,-45px)}100%{transform:translate(-205px,-26px);opacity:0}}@keyframes court-walk{0%{transform:translate(0,0) scale(1)}40%{transform:translate(-15px,-120px) scale(.85)}90%,100%{transform:translate(-200px,-250px) scale(.55);opacity:0}}
@media(max-width:800px){.ritual-heading{top:18%;left:6%;width:300px;max-width:80%}.ritual-heading h2{font-size:24px}.ritual-controls{left:5%;bottom:75px;max-width:90%;width:340px;padding:17px}.ritual-controls .primary{min-height:44px}.direction-progress{margin-bottom:13px}.ritual .shade{background:linear-gradient(90deg,#0c1714ad,transparent 75%),linear-gradient(0deg,#091310cc,transparent 65%)}}
@media(max-width:480px){.courtyard{min-height:800px}.ritual-heading{top:14%;width:88%;max-width:88%;background:#14211c99;padding:12px 14px;border-left:1px solid #c2a37266}.ritual-heading .eyebrow{font-size:8px;letter-spacing:2px}.ritual-heading h2{font-size:21px;margin:8px 0}.ritual-heading p{font-size:10px;margin:0;line-height:1.7}.ritual-controls{bottom:67px;width:90%;left:5%;padding:15px 17px}.pilgrim-steps{margin-bottom:12px;justify-content:space-between;gap:5px}.direction-progress{margin-bottom:12px}.direction-progress span{width:26px;height:26px;font-size:11px}.ritual-controls #progress{margin-top:9px;font-size:9px}.ritual-footnote{font-size:7px}.ritual .date-vertical{display:none}.ritual .courtyard-scene{height:calc(100% - 200px);position:absolute;top:0}.ritual .landscape{background:#18211d}.ritual-controls{background:#10201bef}.ritual .scene-bottom{bottom:20px}}
@media(prefers-reduced-motion:reduce){.court-smoke{display:none}.court-flame,.court-stick circle{animation:none!important}.guest-upper{transition:none}}
.outside-light .guest-arms{animation:court-reach 2.4s ease-in-out}@keyframes court-reach{0%,100%{d:path('M1022 764Q1018 783 1040 767M1058 764Q1062 783 1040 767')}40%,72%{d:path('M1022 764Q1075 722 1125 710M1058 764Q1100 730 1125 710')}}
@media(min-width:801px){.ritual-controls{left:auto;right:6.5%;top:20%;bottom:auto;width:310px;max-width:30%}.ritual .date-vertical{display:none}}
