:root{--page:#d9d1c6;--dock:#514f4c;--dock-card:#5d5b58;--cream:#f7f3ec;--text:#51483f;--gold:#b37b28}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--page);color:var(--text);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}.home-pill{position:fixed;z-index:20;left:16px;top:16px;height:38px;padding:0 17px;display:flex;align-items:center;gap:9px;border-radius:21px;background:rgba(255,255,255,.9);box-shadow:0 2px 5px rgba(0,0,0,.18);color:#4c453f;text-decoration:none;font-size:14px}.home-pill span{font-size:19px;font-weight:400}.home-pill b{font-weight:500}.gongfo-stage{position:fixed;inset:0}.altar-frame{position:absolute;left:50%;top:50%;height:103.2vh;aspect-ratio:1500/1575;transform:translate(-50%,-50%);overflow:hidden}.altar-background{display:block;width:100%;height:100%;object-fit:cover}.placed-offerings{position:absolute;inset:0;pointer-events:none}.placed-offering{position:absolute;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.48));animation:offering-in .65s cubic-bezier(.19,.89,.31,1.15) both}.placed-offering.lamp.left{left:1.8%;top:47.4%;width:12.85%;height:28.85%}.placed-offering.lamp.right{left:84.35%;top:47.4%;width:12.85%;height:28.85%}.placed-offering.water{left:21.02%;top:91.4%;width:58%;height:10.1%}.placed-offering.flower.left{left:1.2%;top:70.25%;width:16.68%;height:29.9%}.placed-offering.flower.right{left:80.86%;top:70.25%;width:16.68%;height:29.9%}.placed-offering.torma{left:23.76%;top:70.76%;width:11.34%;height:18.06%}.placed-offering.mandala{left:38.72%;top:63.37%;width:22.23%;height:25.4%}.placed-offering.incense{left:63.25%;top:72.91%;width:13.36%;height:16.48%}.merit-message{position:absolute;z-index:5;left:50%;bottom:8.5%;width:min(82%,560px);padding:10px 15px;transform:translateX(-50%);border-radius:7px;background:rgba(62,49,37,.86);box-shadow:0 7px 24px rgba(0,0,0,.3);color:#fff7e7;text-align:center;font-size:13px;animation:message-in .25s ease-out}.offering-dock{position:fixed;z-index:15;right:calc((100vw - min(100vw,1280px))/2 + 32px);top:50%;width:85px;min-height:503px;padding:9px 10px;border-radius:17px;background:rgba(66,64,61,.91);box-shadow:0 9px 15px rgba(0,0,0,.25);transform:translateY(-50%);backdrop-filter:blur(4px)}.dock-offerings{display:flex;flex-direction:column;gap:8px}.dock-offerings button{position:relative;width:64px;height:64px;padding:3px 2px 2px;border:0;border-radius:14px;background:var(--dock-card);color:#e7e2dd;cursor:pointer;transition:background .18s,transform .18s}.dock-offerings button:hover,.dock-offerings button.active{background:#706d68;transform:scale(1.025)}.dock-offerings img{display:block;width:48px;height:43px;margin:-1px auto -2px;object-fit:contain}.dock-offerings span{display:block;font-size:14px;line-height:18px}.offer-again{width:66px;height:33px;margin:10px 0 0 -1px;border:0;border-radius:18px;background:#f4f6f6;color:#665f59;font-size:12px;cursor:pointer}.feedback{width:72px;height:39px;margin:9px 0 0 -4px;border:0;border-radius:20px;background:#edf2f4;color:#686a6a;font-size:13px;cursor:pointer}.feedback span{font-size:15px}.dedication-bar{position:fixed;z-index:14;left:50%;bottom:0;width:min(864px,calc(100vw - 300px));height:60px;padding:0 18px;display:flex;align-items:center;gap:13px;border:0;background:rgba(250,247,241,.96);color:#574d43;text-align:left;cursor:pointer;box-shadow:0 -3px 12px rgba(0,0,0,.08);backdrop-filter:blur(7px);transform:translateX(-50%)}.dedication-bar .prayer{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#fff1c8;font-size:20px}.dedication-bar strong,.dedication-bar small{display:block}.dedication-bar strong{font:500 18px/1.2 "SimSun","Songti SC",serif}.dedication-bar small{margin-top:2px;color:#918479;font-size:11px}.dedication-bar .chevron{margin-left:auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:20px}dialog{width:min(92vw,560px);padding:0;border:0;border-radius:13px;background:#f9f6f0;color:#50473f;box-shadow:0 24px 70px rgba(0,0,0,.38)}dialog::backdrop{background:rgba(38,32,27,.48);backdrop-filter:blur(4px)}dialog form{position:relative;padding:29px 32px 31px}.dialog-close{position:absolute;right:16px;top:14px;width:31px;height:31px;border:0;border-radius:50%;background:#e9e4dc;color:#665d55;font-size:20px;cursor:pointer}dialog h2{margin:0;font:600 25px/1.4 "SimSun","Songti SC",serif}dialog form>p{margin:2px 0 20px;color:#897d72;font-size:13px}dialog label{display:block;margin:13px 0;color:#655b52;font-size:13px}dialog select,dialog textarea{display:block;width:100%;margin-top:6px;padding:9px 10px;border:1px solid #d4ccc1;border-radius:7px;outline-color:#a8895f;background:#fff;color:#51483f;font:14px/1.55 inherit;resize:vertical}.confirm-dedication{width:100%;height:43px;margin-top:7px;border:0;border-radius:7px;background:#75644e;color:white;font-size:14px;cursor:pointer}.toast{position:fixed;z-index:40;left:50%;bottom:82px;max-width:calc(100vw - 40px);padding:10px 16px;border-radius:20px;background:rgba(55,49,43,.92);color:white;font-size:13px;opacity:0;transform:translate(-50%,12px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes offering-in{from{opacity:0;transform:translateY(-38%) scale(.8)}70%{transform:translateY(1%) scale(1.035)}to{opacity:1;transform:none}}@keyframes message-in{from{opacity:0;transform:translate(-50%,8px)}}@media(max-width:900px){.altar-frame{height:auto;width:100vw;aspect-ratio:1500/1575}.offering-dock{right:12px;transform:translateY(-50%) scale(.87);transform-origin:right center}.dedication-bar{width:100%;height:58px}.home-pill{top:11px;left:11px}}@media(max-width:600px){.altar-frame{top:45%;width:100vw}.offering-dock{top:auto;right:0;bottom:58px;width:100%;min-height:0;padding:7px 8px;border-radius:15px 15px 0 0;transform:none}.dock-offerings{flex-direction:row;justify-content:center;gap:5px}.dock-offerings button{width:52px;height:57px;border-radius:10px}.dock-offerings img{width:38px;height:36px}.dock-offerings span{font-size:11px;line-height:14px}.offer-again{position:absolute;right:9px;top:-41px}.feedback{display:none}.dedication-bar{z-index:16}.home-pill{height:34px;font-size:12px}.merit-message{bottom:15%;font-size:12px}}
