:root{color-scheme:light;--forest:#142622;--green:#223a33;--gold:#e3c18a;--bronze:#89592d;--red:#a34838;--ink:#243832;--muted:#5d6256;--paper:#f6f2e8;--line:#e0d7c7;--song:"Songti SC","Noto Serif SC","SimSun",serif;--kai:"Kaiti SC","STKaiti","KaiTi",var(--song);--sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;color:var(--ink);font:15px/1.65 var(--sans);background:var(--paper)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
:focus-visible{outline:2px solid #ae692c;outline-offset:4px}
h1,h2,h3,p{margin:0}
img{display:block;max-width:100%}
.wrap{width:min(1224px,calc(100% - 112px));margin-inline:auto}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.site-header{position:sticky;top:0;z-index:5;background:var(--forest);color:#e8e4d7;border-bottom:1px solid #b18a4f3c}
.header-inner{min-height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content}
.seal{background:#a74838;color:#f4ddac;display:grid;place-items:center;width:38px;height:38px;outline:1px solid #e9b97e9c;outline-offset:-4px;border-radius:4px;font:28px/1 var(--kai)}
.brand strong,.brand small{display:block}.brand strong{font:700 23px/1.1 var(--song);letter-spacing:.10em}.brand small{font-size:9px;color:#c7aa77;letter-spacing:.17em;margin-top:4px}
nav{display:flex;align-items:center;gap:clamp(19px,3.15vw,47px);align-self:stretch}
nav a{display:grid;place-items:center;position:relative;font-size:14px;white-space:nowrap;color:#e0e4db}
nav a.active,nav a:hover{color:#f1cf91}
nav a.active::after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:2px;background:#d3af70}
.header-tools{justify-self:end;display:flex;gap:10px;align-items:center}
.header-tools button{min-height:37px;display:flex;align-items:center;gap:7px;background:none;color:#e9e7da;border:1px solid #bca06c51;border-radius:5px;padding:5px 11px;white-space:nowrap}
.header-tools .balance{color:var(--gold);border-color:transparent;font-variant-numeric:tabular-nums}
.header-tools button:hover{background:#ffffff12}
.header-tools .icon{width:17px;height:17px}
.hero{position:relative;isolation:isolate;color:#f6ead3;background:#193730}
.hero-art{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b201ce3 0%,#112723b3 27%,#122c2760 47%,transparent 72%),linear-gradient(0deg,#0c211bd6,transparent 22%),url("assets/hero.jpg") center 52%/cover}
.hero-wrap{position:relative;min-height:clamp(525px,43vw,665px);display:flex;align-items:center}
.hero-copy{padding:47px 0 85px}
.hero-kicker{display:flex;align-items:center;gap:13px;color:var(--gold);font-size:13px;letter-spacing:.22em}
.hero-kicker span{width:28px;height:1px;background:#c7a36a}
.hero h1{font:700 clamp(86px,10.1vw,154px)/1.05 var(--kai);letter-spacing:.045em;margin:17px 0 10px -6px;text-shadow:0 3px 24px #10292388}
.hero-subtitle{font:700 clamp(22px,2.3vw,34px)/1.35 var(--song);letter-spacing:.115em}
.hero-desc{font-size:15px;line-height:1.9;color:#e3e3d4;margin:16px 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:4px;border:1px solid transparent;padding:9px 17px;font-size:14px;font-weight:600;line-height:1.35}
.button:hover{filter:brightness(1.09)}
.primary{background:#e1bf86;color:#26332a;border-color:#edcb92}
.outline{background:#13292385;color:#f5e6c9;border-color:#c5ad806f}
.solid{background:var(--green);color:#fff6e5}
.light{background:#f4ede0;border-color:#d9ccb5;color:var(--ink)}
.button .icon{width:18px;height:18px}.button .arr{margin-left:10px}
.hero-side{position:absolute;right:0;top:15%;display:grid;justify-items:center;gap:13px;color:#ffe6ad;background:#152c27b3;border:1px solid #e7c48950;padding:12px 7px;font:16px var(--song)}
.hero-side span{writing-mode:vertical-rl;letter-spacing:.22em}.hero-side i{height:20px;width:1px;background:#e3c38c77}.hero-side b{font:17px var(--kai);border:1px solid #d69176;color:#f4b6a0;padding:2px}
.hero-bottom{position:absolute;bottom:0;left:0;right:0;min-height:61px;border-top:1px solid #dabc8553;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#f0d5a1;font-size:11px;letter-spacing:.22em}
.hero-bottom a{justify-self:center;padding:10px}.hero-index{justify-self:end;display:flex;align-items:center;gap:8px}.hero-index i{width:34px;height:1px;background:#e4c28b94}
.section{padding:65px 0 73px}
.paper{background:radial-gradient(ellipse at top left,#fffaf0,transparent 75%),var(--paper)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--bronze);font-size:11px;letter-spacing:.19em;font-weight:700}
.eyebrow span{display:grid;place-items:center;border:1px solid currentColor;width:22px;height:22px;border-radius:2px;font:15px var(--kai)}
.section h2{font:700 clamp(35px,4vw,53px)/1.22 var(--song);letter-spacing:.08em;margin:9px 0 6px}
.section-heading p{color:var(--muted);font-size:14px}
.tabs{border:1px solid #ddd2bf;border-radius:6px;padding:3px;display:flex;gap:3px;flex:none;background:#ede7da}
.tabs button{border:0;background:none;color:#5d5f52;border-radius:4px;padding:8px 15px;font-size:13px;white-space:nowrap}
.tabs button:hover{background:#e3dacb}.tabs button[aria-pressed="true"]{background:var(--green);color:#fff8e8}
.hall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.hall-card{display:flex;flex-direction:column;text-align:left;padding:0;background:#fffcf4;border:1px solid var(--line);border-radius:7px;overflow:hidden;color:var(--ink);transition:transform .18s,box-shadow .18s}
.hall-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #34352121}
.card-art{position:relative;width:100%;overflow:hidden;background:#473729;aspect-ratio:1.83}
.card-art img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.card-art::after{content:"";position:absolute;inset:0;background:linear-gradient(#16171055,transparent 37%)}
.tag{position:absolute;left:13px;top:12px;z-index:1;padding:3px 8px;border-radius:2px;background:#162a23e8;border:1px solid #e4c18b75;color:#f3dcae;font-size:11px;letter-spacing:.12em}
.card-body{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 9px;padding:15px 16px 16px;width:100%}
.card-body strong{font:700 25px var(--song);letter-spacing:.06em}
.card-body small{grid-row:2;color:#795231;font-size:12px}
.card-arrow{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border:1px solid #e3d6c1;border-radius:50%;color:#88582c}
.daily{background:#1a302a;color:#f4e8ce}
.daily .eyebrow{color:#dfbc7d}.daily .section-heading p{color:#c9cfc0}
.daily-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
.daily-art{position:relative;min-height:315px;border-radius:7px;overflow:hidden;background:#263a30}
.daily-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:63% center}
.daily-art span{position:absolute;bottom:15px;left:15px;color:#f4dcab;background:#162a23d9;border:1px solid #c5a06d80;padding:5px 10px;border-radius:3px;font-size:12px;letter-spacing:.08em}
.daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.practice-card{color:#fbefd8;text-align:left;background:#263e35;border:1px solid #627164;border-radius:5px;padding:11px 12px;display:flex;gap:10px;align-items:start;min-height:95px}
.practice-card:hover{background:#365146}.practice-card .icon{color:#e5bd7c;margin-top:3px}.practice-card strong,.practice-card small{display:block}.practice-card strong{font:700 20px var(--song);margin-bottom:4px}.practice-card small{color:#d8ddcf;line-height:1.5;font-size:12px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,186px),1fr));gap:14px}
.product{background:#fffdf7;border:1px solid var(--line);border-radius:6px;padding:15px;display:grid;gap:7px}
.product-icon{width:43px;height:43px;display:grid;place-items:center;background:#f2e7d5;color:#8b5532;border-radius:5px}
.product h3{font:700 21px var(--song)}.product p{font-size:12px;color:var(--muted);min-height:39px}.product-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}
.price{color:#80562f;font-size:13px;white-space:nowrap}.price .icon{width:16px;height:16px;margin-right:3px}
.product .button{min-height:36px;padding:6px 10px;font-size:12px}
.shop-note{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:12px;color:#666453}
.text-button{color:inherit;display:inline-flex;gap:6px;align-items:center;border:0;background:none;padding:4px;font-weight:600}
.text-button:hover{text-decoration:underline}.text-button .icon{width:16px;height:16px}
.shop-note .text-button{margin-left:auto;color:#80562f}
footer{padding:25px 0;background:var(--forest);color:#eee6d4}
.foot-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.foot-inner p,.foot-inner .text-button{font-size:12px;color:#e0c694}
dialog{border:1px solid #bba684;border-radius:9px;padding:0;width:min(620px,calc(100% - 26px));max-height:calc(100% - 24px);background:#fbf7ed;color:var(--ink);box-shadow:0 14px 80px #0006;overscroll-behavior:contain}
dialog::backdrop{background:#0b211caa;backdrop-filter:blur(3px)}
body:has(dialog[open]){overflow:hidden}
.dialog-close{position:sticky;top:11px;float:right;margin:11px 11px -51px 0;z-index:2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#192c26;color:#fff1d9;border:1px solid #e1c4968c}
.dialog-inner{padding:26px}
.dialog-inner h2{font:700 34px/1.16 var(--song);letter-spacing:.07em;margin:8px 20px 10px 0}
.dialog-inner h3{font:700 21px var(--song);margin:16px 0 7px}
.dialog-inner p{margin-bottom:12px}.dialog-inner .fine{font-size:12px;color:#645f50}
.dialog-art{width:100%;height:min(39vh,350px);object-fit:cover;object-position:center 43%;background:#483528}
.dialog-art.daily-img{object-position:67% 65%}
.dialog-sub{color:#80562f;font-weight:600}
.dialog-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}
.visit-result{background:#ede8da;border-radius:5px;padding:9px 12px;margin-top:11px;font-size:13px}
.offer-form,.guest-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.offer-form label,.guest-form label{display:grid;gap:4px;flex:1 1 180px;font-size:13px}
select,input[type="text"]{border:1px solid #cabb9f;background:#fffaf0;color:#283a30;border-radius:4px;padding:9px 10px;max-width:100%;min-height:43px}
.list{list-style:none;margin:0;padding:0}.list li{border-bottom:1px solid #e8dfd0;padding:7px 0;font-size:14px}
.sources a{color:#785123;text-decoration:underline}
.route{border:1px solid #e1d5bf;background:#f4ebd9;padding:12px;border-radius:5px;margin-top:9px}
.route h3{margin:0 0 8px}.route .button{min-height:36px;padding:5px 10px;margin:2px}
.exercise{padding:16px;border-radius:5px;border:1px solid #e2d6bf;background:#f5eddd}
.exercise h3{margin:3px 0 9px}.exercise p:last-child{margin-bottom:0}
.exercise blockquote{margin:4px 0;font:700 26px/1.65 var(--song);color:#47392a}
.progress{display:block;color:#7d522e;font-size:12px;font-variant-numeric:tabular-nums}
.breathing{display:grid;justify-items:center;gap:8px;padding:15px;background:#e8eddf;border-radius:6px}
.breath-orb{width:85px;height:85px;border:1px solid #6f8a67;background:#b8c9aa;color:#263e2b;border-radius:50%;display:grid;place-items:center;transition:transform 4s ease-in-out;font:700 19px var(--song)}
.breath-orb.inhale{transform:scale(1.21)}.timer{font-variant-numeric:tabular-nums;font-size:18px;margin-top:8px}
.herb-list{display:grid;gap:7px;margin-bottom:10px}.herb-list label{display:flex;gap:8px;align-items:center;border:1px solid var(--line);padding:8px;border-radius:4px;font-size:13px}.herb-list input{accent-color:#365647}
.drawing{width:min(100%,320px);margin:auto;aspect-ratio:1;position:relative;border:1px solid #c6a57a;border-radius:4px;overflow:hidden;background:#f7edd8}
.drawing.talisman{width:min(100%,245px);aspect-ratio:3/4;background:#f1d694}
.drawing::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 49.7%,#b6885652 50%,transparent 50.3%),linear-gradient(-45deg,transparent 49.7%,#b6885652 50%,transparent 50.3%),linear-gradient(90deg,transparent 49.7%,#b6885652 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,#b6885652 50%,transparent 50.3%);pointer-events:none}
.drawing.talisman::before{inset:9px;border:1px solid #aa4d3980;background:none}
.drawing-guide{position:absolute;inset:0;display:grid;place-items:center;color:#795c4161;font:245px/.95 var(--kai);pointer-events:none}
.talisman .drawing-guide svg{width:60%;height:82%;fill:none;stroke:#a6443b72;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.drawing canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.toast{position:fixed;z-index:9;right:16px;bottom:16px;max-width:min(365px,calc(100% - 32px));border:1px solid #c9b485;border-radius:5px;background:#233c34;color:#fff4db;padding:10px 15px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s,transform .18s;box-shadow:0 4px 22px #0004}
.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:900px){.wrap{width:calc(100% - 52px)}.header-inner{gap:12px}.hall-grid{gap:13px}.hero-wrap{min-height:530px}}
@media(max-width:650px){html{scroll-padding-top:112px}.wrap{width:calc(100% - 34px)}.header-inner{grid-template-columns:1fr 1fr;gap:0 5px;padding-top:7px}.header-inner nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:6px;min-height:42px}.header-inner nav a{font-size:13px}.header-tools{grid-column:2;grid-row:1;gap:2px}.header-tools button{font-size:12px;padding:4px 8px;max-width:140px}.guest span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand strong{font-size:20px}.seal{width:33px;height:33px;font-size:23px}.hero-wrap{min-height:515px}.hero-art{background-position:61% center}.hero-copy{padding:40px 0 70px}.hero-side{display:none}.hero h1{font-size:clamp(72px,17vw,102px)}.hero-subtitle{font-size:22px}.hero-desc{font-size:13px}.hero-kicker{font-size:11px}.hero-bottom{min-height:49px}.section{padding:45px 0 52px}.section-heading{display:grid;gap:13px;margin-bottom:18px}.tabs{width:max-content}.hall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-body{padding:9px 9px 11px;gap:4px;align-items:start}.card-body strong{font-size:20px}.card-body small{font-size:10px}.card-arrow{width:24px;height:24px;align-self:center}.card-arrow .icon{width:14px;height:14px}.tag{top:7px;left:7px;font-size:9px}.daily-layout{grid-template-columns:1fr;gap:12px}.daily-art{min-height:220px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product{padding:10px}.product h3{font-size:18px}.product .button{padding:5px 7px}.price{font-size:11px}.shop-note .text-button{margin-left:0}.foot-inner{justify-content:start}.dialog-inner{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.header-tools .guest { padding-left:6px; }
.guest img { border-radius:50%; background:#39554a; object-fit:cover; flex:none; }
.guest span { max-width:9em; overflow:hidden; text-overflow:ellipsis; }
.visitor-intro { display:flex; align-items:center; gap:14px; margin:14px 0; }
.visitor-intro p:last-child { margin-bottom:0; }
.profile-portrait { width:94px; height:94px; flex:none; object-fit:cover; border-radius:50%; border:2px solid #c6a774; background:#274039; }
.visitor-photo-tools { flex:1; min-width:0; }
.account-email { font-size:13px; overflow-wrap:anywhere; }
.verified-pill { display:inline-block; padding:1px 7px; background:#e2eadb; color:#2a493a; border-radius:3px; margin:0 3px 3px 0; font-size:11px; font-weight:600; }
.visitor-form { display:grid; gap:8px; }
.visitor-form .visitor-intro { margin:6px 0 2px; }
.visitor-form label:not(.upload-label) { display:grid; gap:4px; font-size:13px; }
.visitor-form input[type="number"] { border:1px solid #cabb9f; background:#fffaf0; color:#283a30; border-radius:4px; padding:9px 10px; min-height:43px; min-width:0; width:100%; }
.upload-label { display:inline-flex; position:relative; align-items:center; min-height:36px; border:1px solid #d9ccb5; padding:5px 8px; color:var(--ink); background:#f4ede0; border-radius:4px; font-size:12px; cursor:pointer; margin-right:4px; }
.upload-label:focus-within { outline:2px solid #ae692c; outline-offset:2px; }
.upload-label input { opacity:0; position:absolute; inset:0; width:100%; cursor:pointer; }
.visitor-photo-tools .button { min-height:36px; padding:5px 8px; font-size:12px; }
@media(max-width:400px){.profile-portrait{width:70px;height:70px}.header-tools .guest img{width:20px;height:20px}}

.visitor-name { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; }
.birth-fields { border:1px solid #e0d4bd; border-radius:5px; padding:8px 10px; margin:3px 0 0; min-width:0; }
.birth-fields legend { padding:0 4px; font-size:13px; }
.birth-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr 1.15fr; gap:7px; }
.birth-fields p { margin:5px 0 0; }
.birth-fields #birth-age { color:#80562f; font-size:13px; font-weight:600; }
@media(max-width:385px){.birth-grid{grid-template-columns:1fr 1fr}.visitor-name .button{padding-inline:10px}}

.site-header nav { gap:clamp(12px,2.05vw,31px); }
#shop .shop-grid, #artifacts .shop-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,198px),1fr)); }
.product-art { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:62px; padding:8px 10px; margin-bottom:3px; border:1px solid #e7dbca; border-radius:4px; background:radial-gradient(ellipse at top left,#f9f0df,#efe2cf); }
.product-art .product-icon { width:44px; height:44px; background:#f8efdf; border:1px solid #decab0; }
.product-art .product-icon .icon { width:25px; height:25px; }
.product-art small { color:#7b5b39; font-size:11px; white-space:nowrap; }
.artifacts { background:#e9ecdf; border-block:1px solid #d4dbcd; }
.artifacts .product-art { border-color:#d9ddcc; background:radial-gradient(ellipse at top left,#f2f0db,#e2e7d8); }
.artifacts .product-icon { color:#386053; background:#ecedda; border-color:#d0d5c1; }
.artifacts .shop-note a { color:#305347; text-decoration:underline; text-underline-offset:2px; }
.offer-form { display:block; }
.offer-form .dialog-actions { margin-top:10px; }
.offer-select { padding:7px 10px; border:1px solid #e2d5bf; border-radius:5px; min-width:0; margin:0; }
.offer-select legend { padding:0 4px; font-size:13px; color:#614c36; }
.offer-form .offer-row { display:flex; justify-content:space-between; align-items:center; min-height:47px; border-bottom:1px solid #e6dccb; }
.offer-row small, .gear-row small { color:#645f50; margin-left:7px; }
.offer-row input { width:76px; min-width:0; min-height:35px; border:1px solid #cabb9f; border-radius:4px; padding:3px 6px; background:#fffaf0; color:#283a30; }
.offer-select .text-button { margin-top:4px; color:#79512e; }
.held-slots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 7px; padding:0; list-style:none; }
.held-slots li { display:grid; gap:1px; border:1px solid #d9d4bf; border-radius:5px; background:#eeefdf; padding:6px 9px; }
.held-slots small { color:#576a5d; }
.held-slots strong { color:#334c3f; }
.bag-list .gear-row { display:flex; justify-content:space-between; gap:7px; align-items:center; }
.gear-actions { display:flex; gap:5px; flex:none; }
.gear-actions .button { padding:5px 7px; min-height:34px; font-size:12px; }
.satchel-storage { margin-top:10px; }
.vip-section { background:radial-gradient(ellipse at 74% 20%,#32473b,#1b322a 64%); color:#f5ead5; }
.vip-section .eyebrow { color:#e3c18a; }
.vip-showcase { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.vip-copy { max-width:500px; }
.vip-copy p { color:#e3e3d1; max-width:405px; }
.vip-copy .vip-subtitle { font:700 25px/1.45 var(--song); color:#f8e9ce; margin-bottom:7px; }
.vip-copy .button { margin:17px 0 8px; }
.vip-copy .vip-fine { font-size:12px; color:#d6c7a8; }
.vip-examples { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.vip-examples figure, .vip-live { margin:0; }
.vip-examples figure { border:1px solid #c8a97590; background:#23392e; border-radius:5px; overflow:hidden; }
.vip-examples img { width:100%; aspect-ratio:1; object-fit:cover; object-position:50% 40%; }
.vip-examples figcaption { padding:6px 8px; text-align:center; color:#e9ce98; font-size:12px; letter-spacing:.1em; }
.vip-editor { display:grid; grid-template-columns: minmax(145px,.87fr) minmax(0,1.13fr); gap:12px; align-items:start; margin:12px 0; }
.vip-live { border:1px solid #d3bf9a; border-radius:5px; overflow:hidden; background:#e8ddc4; }
.vip-live img { width:100%; aspect-ratio:8/9; object-fit:cover; }
.vip-live figcaption { font-size:12px; text-align:center; color:#654b31; padding:4px; }
.vip-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 7px; }
.vip-controls label { display:grid; min-width:0; gap:2px; font-size:12px; }
.vip-controls select { min-width:0; width:100%; min-height:34px; padding:3px 4px; }
.vip-active { display:flex; gap:7px; align-items:center; margin-bottom:3px; }
.vip-active input { accent-color:#315847; }
@media(max-width:860px){.header-inner{gap:9px}.site-header nav{gap:12px}.site-header nav a{font-size:13px}}
@media(max-width:720px){.header-inner{grid-template-columns:1fr 1fr;gap:0 5px;padding-top:7px}.header-inner nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:6px;min-height:42px}.header-tools{grid-column:2;grid-row:1}}
@media(max-width:650px){#shop .shop-grid,#artifacts .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav a{font-size:12px}.vip-showcase{grid-template-columns:1fr;gap:17px}.section-heading>.button{justify-self:start}.vip-examples img{aspect-ratio:1.2}.vip-editor{grid-template-columns:minmax(102px,.85fr) minmax(0,1.15fr);gap:7px}.vip-controls select{font-size:12px}.gear-row small{display:block;margin-left:0}}
@media(max-width:370px){.site-header nav a{font-size:11px}.product-art small{white-space:normal}}

.sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.language-picker select { min-height:36px; padding:4px 6px; max-width:95px; border:1px solid #bca06c51; background:#182e27; color:#f1dfbb; font-size:12px; }
html[lang="en"] .hero h1 { font-family:Georgia,serif; font-size:clamp(46px,7.7vw,112px); letter-spacing:-.045em; max-width:650px; }
html[lang="en"] .hero-subtitle { letter-spacing:.01em; }
html[lang="en"] .hero-desc { max-width:515px; }
html[lang="en"] .site-header nav { gap:clamp(9px,1.25vw,18px); }
html[lang="en"] .brand strong { font-size:20px; letter-spacing:0; }
html[lang="en"] .hero-side span { writing-mode:vertical-rl; letter-spacing:.07em; }
html[lang="ja"] .hero h1, html[lang="ko"] .hero h1 { font-size:clamp(58px,9vw,126px); }
html[lang="en"] .card-body strong { font-size:20px; }
html[lang="en"] .product-footer { flex-wrap:wrap; }
html[lang="en"] .guest span { max-width:7em; }
@media(max-width:1180px){.header-inner{grid-template-columns:1fr 1fr;gap:0 5px;padding-top:7px}.header-inner nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:6px;min-height:42px}.header-tools{grid-column:2;grid-row:1}html{scroll-padding-top:106px}}
@media(max-width:580px){.header-inner nav{overflow:auto;gap:12px;justify-content:space-between}.site-header nav a{white-space:nowrap}.header-tools{gap:2px}.header-tools .balance{padding-inline:3px}.header-tools .guest{max-width:106px}.language-picker select{font-size:11px;max-width:68px;min-height:33px}.brand small{display:none}.header-inner .brand strong{font-size:17px}.header-inner .brand{gap:6px}}

@media(max-width:580px){html[lang="en"] .header-inner .brand strong{font-size:15px;max-width:75px;white-space:normal}}
@media(max-width:380px){html[lang="en"] .header-tools .guest span{max-width:4em}.language-picker select{max-width:62px}}

.world-open { overflow:hidden; }
.world-view[hidden], .world-view [hidden] { display:none!important; }
.world-view { position:fixed; inset:0; z-index:7; display:grid; grid-template-rows:auto minmax(0,1fr) auto; background:#111d18; color:#fff4d8; isolation:isolate; }
.world-header,.world-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px clamp(12px,3.2vw,48px); background:#172923; border-color:#b8995a6b; box-shadow:0 0 24px #0d191580; z-index:1; }
.world-header { border-bottom:1px solid #b8995a6b; }
.world-footer { border-top:1px solid #b8995a6b; }
.world-brand,.world-tools,.world-controls,.world-online { display:flex; align-items:center; gap:8px; }
.world-brand { min-width:125px; }
.world-brand small { color:#dcbf80; display:block; letter-spacing:.12em; font-size:10px; }
.world-brand h2 { font:700 clamp(18px,3vw,27px)/1.2 var(--song); margin:0; color:#fff1cc; }
.world-brand .seal { flex:none; }
.world-online { color:#daecd7; font-size:12px; white-space:nowrap; border:1px solid #78a77e66; border-radius:12px; padding:4px 7px; }
.world-online i { width:7px; height:7px; border-radius:50%; background:#99e9b2; box-shadow:0 0 8px #a1efaeaa; }
.world-online.world-offline i { background:#e5ad84; box-shadow:none; }
.world-btn,.world-controls select { min-height:37px; border:1px solid #d5bb8565; border-radius:4px; color:#f6e9c9; background:#223b31; padding:5px 9px; white-space:nowrap; font-size:13px; }
.world-btn:hover,.world-btn[aria-pressed=true] { background:#3b5343; border-color:#ebcd8b; }
.world-exit { border-color:#d6ae77a0; }
.world-instruction { min-width:0; }
.world-instruction strong { font-size:14px; display:block; }
.world-instruction small { display:block; color:#c1cbb1; font-size:11px; }
.world-frame { position:relative; overflow:hidden; min-height:0; background:radial-gradient(ellipse at 52% 45%,#435744 0%,#1a2921 80%); }
.world-frame::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 95px 5px #1020187a; z-index:1200; }
.world-stage { position:absolute; left:0; top:0; width:100%; height:100%; isolation:isolate; cursor:crosshair; user-select:none; touch-action:manipulation; outline-offset:-3px; }
.world-image,.world-mask { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.world-image { z-index:1; }
.world-mask { z-index:475; }
#world-masks,#world-actors,#world-markers { display:contents; }
#world-wildlife { display:contents; }
.world-creature { position:absolute; width:clamp(23px,calc(var(--actor-size,78px)*var(--creature-size,1)),168px); pointer-events:none; transform:translate(-50%,-100%); }
.world-creature[data-animal=cicada] { width:clamp(14px,calc(var(--actor-size,78px)*var(--creature-size)),45px); }
.world-creature-cel { position:relative; width:100%; aspect-ratio:6/5; background-size:400% 100%; background-repeat:no-repeat; transform:scaleX(var(--creature-flip,1)); filter:drop-shadow(0 2px 2px #1b160948); }
.world-creature-ground::before { content:""; position:absolute; left:13%; bottom:1%; width:74%; height:12%; border-radius:50%; background:#20170f68; filter:blur(3px); }
.world-sound-caption { position:absolute; z-index:1320; left:12px; bottom:13px; pointer-events:none; border:1px solid #c6aa7880; border-radius:4px; padding:3px 9px; color:#ffedc9; background:#172d25d9; font-size:12px; }
.world-view.world-quiet-view .world-sound-caption { display:none; }
.world-view[data-scene=hall] .world-image { object-fit:contain; }
.world-mist { position:absolute; inset:0; z-index:700; opacity:.5; pointer-events:none; background:radial-gradient(ellipse at 12% 25%,#f2e8cf62,transparent 22%),radial-gradient(ellipse at 91% 34%,#e3efdc53,transparent 25%); animation:temple-mist 13s ease-in-out infinite alternate; }
.world-view:not([data-scene=outdoor]) .world-mist { opacity:.24; }
@keyframes temple-mist { to { opacity:.13; transform:translateX(2.5%); } }
.world-actor { position:absolute; width:var(--actor-size,78px); transform:translate(-50%,-100%) scale(var(--scale,1)); transform-origin:center bottom; pointer-events:none; }
.world-actor::before { content:""; position:absolute; left:50%; bottom:1px; width:58%; height:12%; transform:translateX(-50%); border-radius:50%; background:#10191070; filter:blur(4px); }
.world-actor :is(img,.world-gait) { position:relative; z-index:1; width:100%; height:auto; display:block; transform:scaleX(var(--flip,1)); filter:drop-shadow(0 2px 2px #0e140d75); }
.world-player :is(img,.world-gait) { filter:drop-shadow(0 0 4px #efcd8463); }
.world-actor[data-palette="1"] :is(img,.world-gait) { filter:hue-rotate(226deg) saturate(.92) drop-shadow(0 2px 2px #140f0e85); }
.world-actor[data-palette="2"] :is(img,.world-gait) { filter:hue-rotate(41deg) saturate(.82) drop-shadow(0 2px 2px #141a2175); }
.world-actor[data-palette="3"] :is(img,.world-gait) { filter:sepia(.22) brightness(1.23) drop-shadow(0 2px 2px #1d1d1475); }
.world-actor .world-gait { display:none; aspect-ratio:240/300; background-image:url("assets/world/wudang/walk.webp"); background-repeat:no-repeat; background-size:400% 400%; }
.world-actor.world-has-gait img { display:none; }
.world-actor.world-has-gait .world-gait { display:block; }
.world-held-tools { position:absolute; inset:0; z-index:2; pointer-events:none; }
.world-held-tool { position:absolute; width:56%; height:auto; overflow:visible; transform:translate(-50%,-50%) rotate(var(--tool-tilt,0deg)); filter:drop-shadow(0 1px 1px #14160d80); }
.world-view[data-space=live] .world-held-tools { display:none; }
.world-walking::before { bottom:1.8%; width:61%; height:8%; opacity:var(--step-contact,.62); filter:blur(2px); }
.world-tai img { transform-origin:center bottom; animation:temple-form 2.8s ease-in-out infinite alternate; }
@keyframes temple-form { to { transform:translateX(4%) rotate(4deg) scaleX(var(--flip,1)); } }
.world-actor-label { position:absolute; z-index:2; top:-8%; left:50%; display:flex; align-items:center; gap:5px; transform:translateX(-50%); white-space:nowrap; border:1px solid #c5b17e80; border-radius:4px; padding:1px 5px; background:#152a22df; color:#fff4da; font-size:clamp(9px,1vw,12px); text-shadow:0 1px 2px #000; max-width:150px; }
.world-actor-label>span { overflow:hidden; text-overflow:ellipsis; }
.world-actor-label b { font-size:9px; color:#e9d494; }
.world-peer .world-actor-label::before { content:""; width:6px; height:6px; flex:none; border-radius:50%; background:#8fe0a5; }
.world-npc .world-actor-label { opacity:.78; font-size:10px; }
.world-seated .world-actor-label { top:14%; }
.world-offering::after { content:""; position:absolute; z-index:2; left:25%; right:25%; bottom:24%; height:75%; background:radial-gradient(ellipse at 50% 70%,#f9d991cf 2%,#ebcd8e39 18%,transparent 57%); animation:temple-offer 1.45s ease-out infinite; }
@keyframes temple-offer { from{opacity:.85; transform:translateY(13%) scale(.7)} to{opacity:0; transform:translateY(-42%) scale(1.18)} }
.world-pin { position:absolute; z-index:1150; transform:translate(-50%,-150%); display:flex; align-items:center; gap:4px; padding:3px 6px; border:1px solid #ead19a9e; border-radius:5px; color:#fff0ce; background:#192e27e5; box-shadow:0 2px 7px #12201c9f; white-space:nowrap; font:600 12px/1.5 var(--sans); }
.world-pin::after { content:""; position:absolute; bottom:-7px; left:50%; height:6px; width:1px; background:#f3d597; }
.world-pin:hover { color:#2a382d; background:#e8cd8b; }
.world-pin .icon { width:14px; height:14px; }
.world-pin-interior { transform:translate(-50%,-300%); }
.world-tap { position:absolute; z-index:1110; pointer-events:none; width:28px; height:16px; border:2px solid #f7d999; border-radius:50%; box-shadow:0 0 9px #f4d899d6; }
.world-mini { position:absolute; bottom:15px; right:17px; z-index:1300; width:113px; padding:6px 8px 0; background:#172f27e8; border:1px solid #d1b477a3; border-radius:5px; text-align:center; color:#f1d9a5; font-size:10px; pointer-events:none; }
.world-mini svg { display:block; width:100%; margin:-7px auto -8px; }
.world-mini line { stroke:#e4c57f9b; stroke-width:8; stroke-linecap:round; }
.world-mini circle { fill:#ecc97b; }
#world-mini-you { fill:#fff4cc; stroke:#90cba1; stroke-width:14; }
.world-fade { position:absolute; inset:0; z-index:1400; pointer-events:none; opacity:0; background:#11261f; }
.world-banner { position:absolute; bottom:15px; left:50%; z-index:1430; transform:translateX(-50%); max-width:min(480px,calc(100% - 24px)); padding:10px 16px; border:1px solid #dcb980; background:#263d31ef; color:#fff3d3; border-radius:5px; font-size:14px; text-align:center; }
#panel.world-panel { margin:auto 18px auto auto; width:min(445px,calc(100% - 24px)); max-height:calc(100% - 34px); }
#panel.world-panel::backdrop { background:#07151133; backdrop-filter:none; }
#panel.world-panel .dialog-inner { padding:18px; }
#panel.world-panel .drawing { width:min(100%,254px); }
@media(max-width:700px){
  .world-header,.world-footer { padding:7px 8px; gap:5px; flex-wrap:wrap; }
  .world-tools,.world-controls { gap:4px; }
  .world-brand .seal { display:none; }
  .world-brand { min-width:90px; }
  .world-btn,.world-controls select { min-height:31px; padding:3px 6px; font-size:11px; }
  .world-online { font-size:10px; padding:2px 4px; gap:3px; }
  .world-controls .button { min-height:32px; padding:3px 7px; font-size:12px; }
  .world-pin { font-size:9px; gap:2px; padding:2px 4px; }
  .world-pin .icon { width:11px; height:11px; }
  .world-actor-label { font-size:9px; }
  .world-npc .world-actor-label { opacity:.7; font-size:8px; }
  .world-mini { width:75px; bottom:7px; right:7px; }
  #panel.world-panel { margin:auto auto 6px; max-height:min(64%,calc(100% - 100px)); }
  .world-instruction strong { font-size:12px; }
  .world-instruction small { font-size:10px; }
}
@media(max-width:700px){.world-pin[data-portal=tianshi]{transform:translate(-26%,-248%)}}

.world-tools { flex-wrap:wrap; justify-content:flex-end; }
.world-retreats { border-color:#a6bf8f9b; color:#e7efcf; }
.world-retreats .icon { width:15px; height:15px; margin-right:4px; }
.world-pin-nature { border-color:#d2edabbd; background:#344738ec; }
.world-mini circle.world-mini-trail { fill:#b7e0a5; }
.world-view[data-scene="nature"] .world-pin-interior { transform:translate(-50%,-154%); }
.world-view[data-scene="nature"] .world-mist { opacity:.28; }
.world-view[data-scene="nature"] .world-stage { background:#16281f; }
.world-view[data-scene="nature"] .world-actor.world-npc { opacity:.91; }
.world-conditions { position:absolute; z-index:1300; bottom:15px; right:17px; max-width:calc(100% - 34px); padding:6px 10px; border:1px solid #e3cca68a; border-radius:4px; background:#142720cc; color:#f4e4c3; font-size:12px; pointer-events:none; }
.world-weather { position:absolute; inset:0; z-index:1050; pointer-events:none; overflow:hidden; }
.world-weather i { position:absolute; left:var(--wx); top:var(--wy); display:block; width:var(--size); height:var(--size); border-radius:50%; }
.world-effects-off .world-mist { animation:none; }
.world-weather[data-effect="wind"] i,.world-weather[data-effect="moon"] i { background:#e3eaca; box-shadow:0 0 7px #eff5cba8; opacity:0; animation:world-drift var(--cycle) var(--delay) ease-in-out infinite; }
.world-weather[data-effect="moon"] { background:radial-gradient(ellipse at 65% 21%,#d2e6f125,transparent 40%); }
.world-weather[data-effect="moon"] i { background:#deebf2; width:2px; height:2px; }
.world-weather[data-effect="spring"] i { top:calc(47% + var(--wy)*.17); left:calc(38% + var(--wx)*.38); width:calc(4 * var(--size)); height:calc(2 * var(--size)); border:1px solid #e6fffaab; opacity:0; animation:world-ripple var(--cycle) var(--delay) ease-out infinite; }
.world-weather[data-effect="storm"] i { top:-12%; width:1px; height:calc(4 * var(--size)); border-radius:0; background:linear-gradient(transparent,#dee8f1ba); opacity:.53; animation:world-rain calc(var(--cycle)*.24) var(--delay) linear infinite; }
.world-weather[data-effect="snow"] i,.world-weather[data-effect="rime"] i { top:-4%; background:#f4fbff; opacity:.55; filter:blur(.3px); animation:world-snow var(--cycle) var(--delay) linear infinite; }
.world-weather[data-effect="rime"] i { width:2px; height:2px; opacity:.5; box-shadow:0 0 4px #eaf9ff; animation-duration:calc(var(--cycle)*1.5); }
@keyframes world-drift { 0%,100%{opacity:0} 35%{opacity:.4} 70%{opacity:.23} 100%{transform:translate(calc(85px + var(--shift)),-30px)} }
@keyframes world-ripple { 0%,100%{opacity:0} 15%{opacity:.37} 62%{opacity:0;transform:scale(3.5)} }
@keyframes world-rain { 0%{transform:translate(0,0) rotate(14deg)} 100%{transform:translate(-9vw,65vh) rotate(14deg)} }
@keyframes world-snow { 0%{transform:translate(0,0)} 50%{transform:translate(var(--shift),34vh)} 100%{transform:translate(0,74vh)} }
#panel:has(.nature-guide) { width:min(890px,calc(100% - 24px)); }
.nature-guide { background:linear-gradient(130deg,#faf6eb,#f0eadc); }
.nature-guide>p { color:#536357; max-width:580px; }
.nature-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.nature-card { display:grid; grid-template-rows:auto 1fr; width:100%; color:#203b30; text-align:left; padding:0; border:1px solid #d8ccb5; border-radius:6px; overflow:hidden; background:#fffaf1; transition:transform .18s,border-color .18s; }
.nature-card:hover { border-color:#8e7950; transform:translateY(-2px); }
.nature-card-image { display:block; position:relative; overflow:hidden; }
.nature-card-image img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:#40554a; }
.nature-card-image small { position:absolute; bottom:6px; left:7px; padding:2px 6px; color:#fff1d1; background:#142720de; border:1px solid #d2b5828c; border-radius:3px; font-size:11px; }
.nature-card-copy { display:grid; gap:2px; padding:8px; }
.nature-card-copy strong { font:700 20px/1.2 var(--song); }
.nature-card-copy small { font-size:12px; color:#545f51; }
.nature-guide .nature-guide-note { margin:10px 0 0; }
@media(max-width:700px){
  .world-tools { justify-content:flex-start; }
  .world-controls { flex-wrap:wrap; }
  .world-conditions { right:7px; bottom:7px; font-size:10px; }
  .world-retreats .icon { width:12px; height:12px; margin-right:2px; }
  .nature-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .nature-card-copy strong { font-size:17px; }
  .nature-card-copy small { font-size:11px; }
}
.world-view.world-quiet-view .world-header,.world-view.world-quiet-view .world-footer,
.world-view.world-quiet-view .world-pin,.world-view.world-quiet-view .world-conditions,
.world-view.world-quiet-view .world-actor-label,.world-view.world-quiet-view .world-banner { display:none; }
.world-view.world-quiet-view .world-frame { grid-row:1/-1; }
.world-restore { position:absolute; top:10px; right:12px; z-index:1450; opacity:.64; }
.world-restore:hover,.world-restore:focus-visible { opacity:1; }

.world-view[data-camera="inspect"] .world-stage { cursor:grab; touch-action:none; }
.world-view[data-camera="inspect"].world-dragging .world-stage { cursor:grabbing; }
.world-view[data-camera="inspect"] .world-pin-interior { display:none; }
.world-view[data-camera="overview"] .world-frame::after { box-shadow:none; }
#world-hall-canvas { display:none; position:absolute; inset:0; width:100%; height:100%; z-index:4; pointer-events:none; }
.world-view[data-space=live] #world-hall-canvas:not([hidden]) { display:block; }
.world-stage > :is(canvas,img)[hidden] { display:none !important; }
.world-view[data-space=live] .world-stage { cursor:grab; touch-action:none; }
.world-view[data-space=live].world-dragging .world-stage { cursor:grabbing; }
.world-view:is([data-space=live],[data-space=picture],[data-space=loading]) :is(.world-mist,.world-pin-interior) { display:none; }
.world-view:is([data-space=picture],[data-space=loading]) .world-actor { display:none; }
.world-view[data-space=live] .world-actor { width:0; height:0; transform:none; }
.world-view[data-space=live] .world-actor::before,
.world-view[data-space=live] .world-actor::after,
.world-view[data-space=live] .world-actor > :is(img,.world-gait),
.world-view[data-space=live] .world-actor[hidden] { display:none; }
.world-view[data-space=live] .world-actor-label { top:0; transform:translate(-50%,-100%); }
.world-view[data-space=live] .world-frame::after { box-shadow:inset 0 0 80px #160e092e; }
.world-hall-navigation { display:flex; gap:5px; position:absolute; z-index:1300; right:14px; bottom:13px; padding:5px; border-radius:7px; border:1px solid #d3b4767a; background:#172921e8; }
.world-hall-navigation[hidden] { display:none; }
.world-hall-navigation button { border:1px solid #c8ad766d; border-radius:4px; color:#faebc8; background:#2a4035; min-height:36px; min-width:36px; padding:2px 8px; }
.world-hall-navigation button:hover { background:#48614d; }
.world-hall-navigation button[data-world="turn-back"] { font-size:12px; }
@media(max-width:600px) {
  .world-hall-navigation { display:grid; grid-template-columns:repeat(2,1fr); right:7px; bottom:7px; gap:3px; }
  .world-hall-navigation button { min-width:33px; min-height:36px; }
  .world-hall-navigation [data-world="turn-back"] { grid-column:1/-1; }
}
.hall-statue-action { margin:0 0 12px; }
.hall-statue-preview { position:relative; display:block; width:100%; padding:0; border:0; background:#18241e; text-align:start; }
.hall-statue-preview .dialog-art { object-position:top; }
.hall-statue-preview span { position:absolute; inset:auto auto 12px 12px; padding:4px 12px; color:#f9ebd0; background:#192c24ed; border:1px solid #b39760; border-radius:5px; }
.hall-statue-preview:hover span { color:#192c24; background:#e4c88f; }
#statue-panel { width:min(990px,calc(100% - 22px)); max-height:calc(100% - 18px); border:1px solid #b0915a; border-radius:11px; color:#f3e8cf; background:#15231d; }
#statue-panel::backdrop { background:#07110ee8; }
.statue-header { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:10px 18px; background:#182b22; }
.statue-header p { color:#e1bd80; font-size:12px; letter-spacing:.16em; }
.statue-header h2 { font:700 clamp(17px,3.4vw,26px)/1.25 var(--song); margin:2px 0; }
.statue-header h2:focus { outline:none; }
.statue-close { display:grid; flex:none; place-items:center; width:36px; height:36px; padding:0; color:#f9e6c1; border:1px solid #bd9c63; border-radius:50%; background:transparent; }
.statue-stage { height:min(68dvh,740px); height:min(68dvh,calc(100dvh - 160px),740px); overflow:hidden; background:radial-gradient(ellipse at 50% 43%,#343d2d,#161d16 75%); cursor:ew-resize; touch-action:pan-y; }
.statue-stage:focus-visible { outline-offset:-3px; }
.statue-stage.is-zoomed { overflow:auto; cursor:grab; touch-action:auto; }
.statue-stage.is-zoomed:active { cursor:grabbing; }
.statue-image { width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; }
.statue-stage.is-loading .statue-image { visibility:hidden; }
.statue-stage.is-zoomed .statue-image { width:max(100%,var(--statue-zoom-width)); height:max(100%,var(--statue-zoom-height)); max-width:none; }
.statue-message { position:absolute; inset:45% 12px auto; text-align:center; pointer-events:none; }
.statue-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px 12px; padding:9px 16px 10px; border-top:1px solid #a388574d; }
.statue-angles { display:flex; flex-wrap:wrap; gap:4px; }
.statue-footer button { padding:4px 12px; min-height:35px; border:1px solid #ad955e99; border-radius:4px; color:#f4e5ca; background:#263930; }
.statue-footer button[aria-pressed=true],.statue-footer button:hover:not(:disabled),.statue-close:hover { color:#1c291e; background:#e4c88f; }
.statue-caption { font-size:12px; color:#d9caac; }
@media(max-width:580px) {
  .statue-header,.statue-footer { padding-inline:10px; }
  .is-ensemble .statue-stage { height:min(68dvh,calc(100dvh - 160px),max(240px,56vw)); }
  .statue-caption { flex-basis:100%; }
  .statue-footer button { padding-inline:7px; font-size:12px; }
}

.world-lightning { position:absolute; inset:0; width:100%; height:100%; z-index:1090; pointer-events:none; color:#e6f1ff; background:radial-gradient(ellipse at 58% 16%,#b5d0ff60,transparent 72%); }
.world-lightning path { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; filter:drop-shadow(0 0 8px #cadbff); }
.world-view[data-space=live] .world-lightning { display:none; }
.world-view[data-scene=nature][data-space=live] .world-conditions { top:12px; bottom:auto; }
.world-thunder-caption { bottom:44px; }
.world-view.world-quiet-view .world-hall-navigation { display:none; }
.world-view[data-space=live] .world-weather[data-effect=spring] { display:none; }

.world-fishing { position:absolute; z-index:1320; left:12px; bottom:14px; display:grid; gap:2px; max-width:calc(100% - 112px); color:#f7eee0; background:#18282bd9; border:1px solid #d4ded267; border-radius:6px; padding:7px 10px; font-size:12px; }
.world-fishing small { color:#cfddd9; }
.world-fishing b { font-variant-numeric:tabular-nums; letter-spacing:.07em; }
.world-fishing[data-phase=lift],.world-fishing[data-phase=take] { border-color:#e9d19f; }
.world-view[data-scene-id=river] :is(#world-online,#world-companions,.world-pin-interior,[data-world=forward],[data-world=backward]) { display:none; }
.world-view[data-scene-id=river][data-space=live] #world-weather,.world-quiet-view .world-fishing { display:none; }

.qi-rule-list { display:grid; gap:6px; }
.qi-rule { display:flex; justify-content:space-between; align-items:center; text-align:start; gap:12px; width:100%; padding:8px 10px; background:#e9eedf; color:#284636; border:1px solid #c6d0b8; border-radius:5px; }
.qi-rule small { display:block; color:#59634e; font-size:11px; }
.qi-rule b { flex:none; color:#946c32; font-size:12px; }
.qi-rules>p { font-size:12px; }
.qi-reward { display:block; color:#e4c18b; font-size:11px; font-style:normal; margin-top:3px; }
.qi-progress { padding:8px 11px; border-radius:5px; background:#e8edde; color:#304a36; font-size:12px; }
.qi-history li { display:flex; justify-content:space-between; gap:10px; }
.prayer-beads { position:relative; width:230px; height:230px; margin:18px auto; border-radius:50%; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; overscroll-behavior:contain; cursor:grab; outline-offset:5px; }
.prayer-beads:focus-visible { outline:2px solid #9b7346; }
.prayer-beads.bead-dragging { cursor:grabbing; background:radial-gradient(circle,#d7c09a30,transparent 70%); }
.bead-help { max-width:390px; margin:8px auto 20px; text-align:center; font-size:13px; line-height:1.8; color:#6c7568; }
.prayer-beads>i { position:absolute; width:19px; height:19px; left:105px; top:105px; border-radius:50%; border:1px solid #6d4531; background:radial-gradient(circle at 30% 24%,#c4965b,#7b4c2f 61%,#4d3122); box-shadow:1px 2px 3px #46342448; transform:rotate(calc(var(--bead)*360deg/27 + var(--bead-turn,0deg))) translateY(-94px); transition:transform .13s ease-out; }
.prayer-beads>span { position:absolute; inset:0; display:grid; place-content:center; text-align:center; color:#775331; font-size:14px; pointer-events:none; }
.prayer-beads b { display:block; font:42px var(--song); color:#294335; }

.world-joystick { position:absolute; z-index:1320; width:118px; height:118px; left:max(22px,env(safe-area-inset-left)); bottom:38px; border:1px solid #e0d1a480; border-radius:50%; background:radial-gradient(circle,#78988338,#17322c9c); box-shadow:0 3px 14px #0b181d3d,inset 0 0 18px #dbe3ad12; touch-action:none; overscroll-behavior:contain; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; cursor:grab; }
.world-joystick-active { cursor:grabbing; border-color:#ead7aa; background:#203e35b3; }
.world-joystick-thumb { position:absolute; width:38px; height:38px; left:calc(50% - 19px); top:calc(50% - 19px); border:1px solid #ebdba5b0; border-radius:50%; background:radial-gradient(circle at 35% 28%,#f3e4bba8,#547464dc 70%); pointer-events:none; box-shadow:0 2px 7px #10241e70; }
.world-joystick-guide { position:absolute; inset:0; color:#f6e5b5c9; font-size:18px; pointer-events:none; }
.world-joystick-guide i { position:absolute; font-style:normal; line-height:22px; width:22px; text-align:center; }
.world-joystick-guide i:nth-child(1) { top:5px; left:calc(50% - 11px); }
.world-joystick-guide i:nth-child(2) { left:5px; top:calc(50% - 11px); }
.world-joystick-guide i:nth-child(3) { right:5px; top:calc(50% - 11px); }
.world-joystick-guide i:nth-child(4) { bottom:5px; left:calc(50% - 11px); }
.world-joystick small { position:absolute; top:calc(100% + 5px); width:100%; text-align:center; white-space:nowrap; color:#f6e4bc; font-size:11px; text-shadow:0 1px 3px #13241d; pointer-events:none; }
.world-view.world-quiet-view .world-joystick { display:none; }
@media(max-width:650px) { .world-joystick { left:max(22px,env(safe-area-inset-left)); bottom:42px; width:112px; height:112px; } }

/* Keep the actual third-person scene visible while its controls remain usable. */
.world-view.daily-practice-open { grid-template-columns:minmax(0,1fr) 405px; grid-template-rows:auto minmax(0,1fr); }
.world-view.daily-practice-open .world-header { grid-column:1/-1; }
.world-view.daily-practice-open .world-frame { grid-column:1; grid-row:2; min-width:0; }
.world-view.daily-practice-open .world-footer { display:none; }
#panel.practice-panel { position:fixed; inset:82px 14px 14px auto; margin:0; width:380px; height:calc(100dvh - 96px); max-height:none; overflow-y:auto; overscroll-behavior:contain; z-index:1450; box-shadow:0 10px 40px #07170f40; }
#panel.practice-panel .dialog-inner { padding:24px 18px; }
#panel.practice-panel .prayer-beads { width:180px; height:180px; margin:10px auto; }
#panel.practice-panel .prayer-beads>i { left:81px; top:81px; width:17px; height:17px; transform:rotate(calc(var(--bead)*360deg/27 + var(--bead-turn,0deg))) translateY(-73px); }
.world-practice-action { position:absolute; z-index:1320; bottom:24px; left:50%; transform:translateX(-50%); white-space:nowrap; }
@media(max-width:720px) {
  .world-view.daily-practice-open { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) 43dvh; }
  #panel.practice-panel { inset:auto 0 0; width:100%; height:43dvh; max-width:none; border-radius:18px 18px 0 0; }
  #panel.practice-panel .dialog-inner { padding:18px 20px; }
  #panel.practice-panel .drawing { max-width:190px; }
  .world-practice-action { bottom:12px; padding:10px 18px; font-size:12px; }
}
html[dir=rtl] { --song:Georgia,"Times New Roman",serif; }
html[dir=rtl] :is(.dialog-inner,.nature-card-copy,.world-instruction,.qi-rule,.shop-copy) { text-align:right; }
html[dir=rtl] :is(input[type=email],input[type=number],.world-joystick,.world-hall-navigation,.prayer-beads,.drawing) { direction:ltr; }
html[dir=rtl] .site-header nav { flex-direction:row; }
html[dir=rtl] .world-view { direction:ltr; }
html[dir=rtl] :is(.world-header,.world-instruction,#panel) { direction:rtl; }
html[dir=rtl] .prayer-beads>span { direction:ltr; }
.daily-picker { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; font-size:13px; }
.daily-picker select { max-width:70%; padding:6px 12px; border:1px solid #b6b69b; border-radius:6px; background:#faf7ed; }
.world-view.daily-practice-open .world-hall-navigation { display:none; }
