/* 首页上香欢迎窗口 */
.incense-welcome{position:fixed;z-index:99;inset:0;display:grid;place-items:center;padding:22px;background:#170900a8;backdrop-filter:blur(3px);transition:opacity .25s ease}
.incense-welcome.hidden{opacity:0;pointer-events:none}
.incense-welcome-card{width:min(440px,100%);padding:26px 24px 22px;border:2px solid #e8b640;border-radius:24px;background:linear-gradient(145deg,#7b0707,#bf1613 58%,#650101);box-shadow:0 20px 60px #000b;color:#fff;text-align:center}
.welcome-land-god{display:block;width:58px;height:58px;margin:0 auto 10px;border:2px solid #ffe083;border-radius:50%;background:#b21a0a url('incense-temple-bg.png') 56% 42%/440% auto no-repeat;box-shadow:0 0 17px #ffd45b}
.incense-welcome h1{margin:0;color:#ffe7a3;font-size:clamp(17px,4.3vw,23px);line-height:1.34;letter-spacing:-.4px;white-space:nowrap;text-shadow:0 2px 2px #420000}
.incense-welcome p{margin:11px 0 19px;color:#fff2d0;font-size:15px}
.incense-welcome a{display:block;padding:13px;border-radius:12px;background:linear-gradient(135deg,#ffce52,#d7820e);box-shadow:inset 0 1px #fff8;font-size:20px;font-weight:900;color:#651100;text-decoration:none}
.incense-welcome button{margin-top:12px;padding:5px 9px;border:0;background:transparent;color:#ffe5a0;font-size:14px;text-decoration:underline;cursor:pointer}


/* 土地公上香动画页 */
.incense-body{min-height:100vh;background:#180804;color:#fff}
.incense-page{width:min(720px,100%);min-height:100vh;margin:auto;background:#3d1107}
.temple-scene{position:relative;isolation:isolate;min-height:calc(100vh - 95px);overflow:hidden;background:#351006 url('incense-temple-bg.png') center top/cover no-repeat}
.scene-back{position:absolute;z-index:5;top:10px;left:10px;padding:5px 8px;border:1px solid #f6d37a;border-radius:999px;background:#350600c9;color:#fff2c7;font-size:12px;text-decoration:none}
.scene-title{position:relative;z-index:3;padding:13px 78px 11px;background:linear-gradient(90deg,#790606dd,#bd2809dd,#790606dd);text-align:center}
.scene-title strong{display:block;color:#ffe6a0;font-size:clamp(20px,5vw,27px);letter-spacing:1px;text-shadow:0 2px 3px #3c0000}
.scene-title span{display:block;margin-top:2px;color:#fff3cf;font-size:12px}
.scene-light{position:absolute;z-index:0;right:0;bottom:0;left:0;height:45%;background:linear-gradient(transparent,#1b0500b8)}
.incense-altar{position:absolute;z-index:2;bottom:29%;left:50%;width:230px;height:236px;transform:translateX(-50%);filter:drop-shadow(0 13px 10px #160300aa)}
.urn-shadow{position:absolute;bottom:0;left:8%;width:84%;height:30px;border-radius:50%;background:#2105008c;filter:blur(4px)}
.urn-body{position:absolute;right:20px;bottom:9px;left:20px;height:112px;border:4px solid #e7a93a;border-radius:24px 24px 42px 42px;background:linear-gradient(90deg,#75170b,#c83b16 48%,#711208);box-shadow:inset 10px 0 12px #ffb16b66,inset -9px 0 12px #23000088}
.urn-body:before{position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid #ffd27388;border-radius:18px 18px 35px 35px;content:""}
.urn-body i{position:absolute;top:18px;left:0;width:100%;color:#ffdf7b;font:900 52px/1 KaiTi,STKaiti,serif;text-align:center;text-shadow:0 2px #5a0800}
.urn-rim{position:absolute;z-index:2;bottom:98px;left:10px;width:210px;height:42px;border:5px solid #f4bd46;border-radius:50%;background:radial-gradient(ellipse,#2a0b04 0 45%,#9e2b0e 47% 70%,#f4bd46 72%);box-shadow:inset 0 4px 6px #140300}
.incense-stick{position:absolute;z-index:1;bottom:120px;width:13px;height:133px;border-radius:8px 8px 3px 3px;background:linear-gradient(90deg,#6c190d,#d65229 48%,#7b1a0d);transform-origin:bottom center;box-shadow:0 0 7px #ffab57a0}
.incense-stick:before{position:absolute;top:-18px;left:1px;width:11px;height:24px;border-radius:50% 50% 20% 20%;background:linear-gradient(#ffce50,#f14208 55%,#5b0800);box-shadow:0 0 13px #ff8e20}
.incense-stick b{position:absolute;top:-54px;left:4px;width:6px;height:45px;border-radius:50%;background:linear-gradient(#f5f5e8cc,transparent);filter:blur(5px);opacity:.76}
.stick-one{left:64px;transform:rotate(-15deg)}
.stick-two{left:109px;height:148px}
.stick-three{left:154px;transform:rotate(13deg)}
.offering{height:150px;opacity:0}
.offering-one{bottom:56px;left:calc(100% + 32px);transform:rotate(22deg)}
.offering-two{bottom:82px;left:calc(100% + 55px);transform:rotate(24deg)}
.offering-three{bottom:108px;left:calc(100% + 76px);transform:rotate(27deg)}
.offering-one:after{position:absolute;right:-47px;bottom:-7px;width:94px;height:45px;border-radius:54% 42% 45% 40%;background:linear-gradient(140deg,#e6a370,#944f2f);box-shadow:inset 4px -6px 9px #572010;content:""}
.temple-scene.offering .offering-one{animation:offer-one 1.85s cubic-bezier(.18,.82,.24,1) forwards}
.temple-scene.offering .offering-two{animation:offer-two 1.85s cubic-bezier(.18,.82,.24,1) forwards}
.temple-scene.offering .offering-three{animation:offer-three 1.85s cubic-bezier(.18,.82,.24,1) forwards}
.temple-scene.offered .offering-one{bottom:120px;left:82px;opacity:1;transform:rotate(-9deg)}
.temple-scene.offered .offering-two{bottom:120px;left:111px;opacity:1;transform:rotate(2deg)}
.temple-scene.offered .offering-three{bottom:120px;left:141px;opacity:1;transform:rotate(11deg)}
.temple-scene.offered .offering-one:after{display:none}
.scene-caption{position:absolute;z-index:4;right:12px;bottom:19%;left:12px;color:#fff2cc;font-size:17px;font-weight:800;text-align:center;text-shadow:0 2px 3px #360500}
.scene-caption b{color:#ffd252;font-size:25px}
.offer-button,.ask-code-button{position:absolute;z-index:5;right:16px;bottom:2%;left:16px;padding:15px 12px;border:2px solid #ffe184;border-radius:14px;background:linear-gradient(135deg,#d1120f,#8d0604);box-shadow:0 5px 0 #510000,0 5px 17px #210300a8;color:#fff9df;font:900 clamp(19px,5vw,25px)/1.15 "Microsoft YaHei",sans-serif;text-align:center;text-decoration:none;text-shadow:0 2px #600000;cursor:pointer}
.offer-button:disabled{opacity:.88}
.ask-code-button{display:none;background:linear-gradient(135deg,#f4c54f,#bd7210);box-shadow:0 5px 0 #764000,0 5px 17px #210300a8;color:#641600;text-shadow:0 1px #fff0}
.ask-code-button.show{display:block;animation:pop-in .35s ease-out}
.scene-note{margin:0;padding:11px;background:#4a1207;color:#ffdeb0;font-size:13px;text-align:center}
@keyframes offer-one{0%{bottom:56px;left:calc(100% + 32px);opacity:0;transform:rotate(22deg)}
18%{opacity:1}
72%{bottom:160px;left:82px;opacity:1;transform:rotate(-9deg)}
100%{bottom:120px;left:82px;opacity:1;transform:rotate(-9deg)}
}
@keyframes offer-two{0%{bottom:82px;left:calc(100% + 55px);opacity:0;transform:rotate(24deg)}
18%{opacity:1}
72%{bottom:160px;left:111px;opacity:1;transform:rotate(2deg)}
100%{bottom:120px;left:111px;opacity:1;transform:rotate(2deg)}
}
@keyframes offer-three{0%{bottom:108px;left:calc(100% + 76px);opacity:0;transform:rotate(27deg)}
18%{opacity:1}
72%{bottom:160px;left:141px;opacity:1;transform:rotate(11deg)}
100%{bottom:120px;left:141px;opacity:1;transform:rotate(11deg)}
}
@keyframes pop-in{from{opacity:0;transform:scale(.9)}
to{opacity:1;transform:scale(1)}
}
.ask-code-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at top,#a6300d,#3d0805 62%);font-family:"Microsoft YaHei",sans-serif}
.ask-code-card{width:min(440px,100%);padding:38px 25px;border:2px solid #f7cc65;border-radius:26px;background:#fff5dc;color:#5a1b09;text-align:center;box-shadow:0 22px 60px #1d000099}
.ask-code-card .coin{display:grid;place-items:center;width:72px;height:72px;margin:auto;border-radius:50%;background:linear-gradient(135deg,#f8df78,#b46d0c);box-shadow:inset 0 0 0 5px #e9a42d;color:#8d1708;font:900 39px/1 KaiTi,serif}
.ask-code-card h1{margin:15px 0 8px;font-size:31px}
.ask-code-card p{margin-bottom:27px}
.ask-code-card a{display:block;margin:10px auto;color:#8e1b0a;font-weight:800;text-decoration:none}
.ask-code-card .home-link{padding:11px;border-radius:9px;background:#a61408;color:#fff7de}

/* 第二版插香动作：香炉置于土地公脚下，原有七炷香，新香三炷依次飞入。 */
.incense-altar{bottom:11%;width:165px;height:170px}
.urn-shadow{height:20px}
.urn-body{right:13px;bottom:6px;left:13px;height:78px;border-width:3px;border-radius:17px 17px 30px 30px}
.urn-body:before{top:6px;right:6px;bottom:6px;left:6px;border-radius:12px 12px 24px 24px}
.urn-body i{top:13px;font-size:36px}
.urn-rim{bottom:68px;left:5px;width:155px;height:29px;border-width:4px}
.incense-stick{bottom:84px;width:8px;height:103px;border-radius:5px 5px 2px 2px}
.incense-stick:before{top:-14px;left:1px;width:6px;height:18px}
.incense-stick b{top:-42px;left:2px;width:4px;height:34px}
.stick-one{left:30px;transform:rotate(-16deg)}
.stick-two{left:48px;height:113px;transform:rotate(-9deg)}
.stick-three{left:66px;height:121px;transform:rotate(-2deg)}
.stick-four{left:84px;height:114px;transform:rotate(4deg)}
.stick-five{left:102px;height:119px;transform:rotate(9deg)}
.stick-six{left:120px;height:108px;transform:rotate(14deg)}
.stick-seven{left:137px;height:98px;transform:rotate(19deg)}
.offering{height:112px;opacity:0;z-index:4}
.offering-one{bottom:22px;left:360px;transform:rotate(35deg)}
.offering-two{bottom:44px;left:390px;transform:rotate(35deg)}
.offering-three{bottom:66px;left:420px;transform:rotate(35deg)}
.offering-one:after{right:-48px;bottom:-5px;width:88px;height:40px}
.temple-scene.offering .offering-one{animation:offer-one-v2 3.1s cubic-bezier(.14,.72,.18,1) forwards}
.temple-scene.offering .offering-two{animation:offer-two-v2 3.1s .18s cubic-bezier(.14,.72,.18,1) forwards}
.temple-scene.offering .offering-three{animation:offer-three-v2 3.1s .36s cubic-bezier(.14,.72,.18,1) forwards}
.temple-scene.offered .offering-one{bottom:84px;left:57px;opacity:1;transform:rotate(-5deg)}
.temple-scene.offered .offering-two{bottom:84px;left:78px;opacity:1;transform:rotate(2deg)}
.temple-scene.offered .offering-three{bottom:84px;left:99px;opacity:1;transform:rotate(9deg)}
.scene-caption{display:none}
@keyframes offer-one-v2{0%{bottom:22px;left:360px;opacity:0;transform:rotate(35deg)}15%{opacity:1}72%{bottom:135px;left:57px;opacity:1;transform:rotate(-5deg)}100%{bottom:84px;left:57px;opacity:1;transform:rotate(-5deg)}}
@keyframes offer-two-v2{0%{bottom:44px;left:390px;opacity:0;transform:rotate(35deg)}15%{opacity:1}72%{bottom:135px;left:78px;opacity:1;transform:rotate(2deg)}100%{bottom:84px;left:78px;opacity:1;transform:rotate(2deg)}}
@keyframes offer-three-v2{0%{bottom:66px;left:420px;opacity:0;transform:rotate(35deg)}15%{opacity:1}72%{bottom:135px;left:99px;opacity:1;transform:rotate(9deg)}100%{bottom:84px;left:99px;opacity:1;transform:rotate(9deg)}}

/* 第三版：香炉在神像脚下，单独的飞香层确保动作在手机上清晰可见。 */
.incense-altar{bottom:21%;width:142px;height:145px}
.urn-body{right:11px;bottom:5px;left:11px;height:68px}
.urn-body i{top:10px;font-size:31px}
.urn-rim{bottom:59px;left:3px;width:136px;height:25px}
.incense-stick{bottom:72px;width:6px;height:82px}
.incense-stick:before{top:-12px;left:0;width:6px;height:15px}
.incense-stick b{top:-36px;left:1px;width:4px;height:28px}
.stick-one{left:13px;height:70px;transform:rotate(-20deg)}
.stick-two{left:24px;height:78px;transform:rotate(-16deg)}
.stick-three{left:35px;height:86px;transform:rotate(-12deg)}
.stick-four{left:46px;height:93px;transform:rotate(-8deg)}
.stick-five{left:57px;height:80px;transform:rotate(-4deg)}
.stick-six{left:68px;height:90px;transform:rotate(0deg)}
.stick-seven{left:79px;height:84px;transform:rotate(4deg)}
.stick-eight{left:90px;height:95px;transform:rotate(8deg)}
.stick-nine{left:101px;height:82px;transform:rotate(12deg)}
.stick-ten{left:112px;height:90px;transform:rotate(16deg)}
.stick-eleven{left:122px;height:76px;transform:rotate(19deg)}
.stick-twelve{left:130px;height:68px;transform:rotate(22deg)}
.temple-scene.offering .offering{animation:none;opacity:0}
.temple-scene.offered .offering-one{bottom:72px;left:53px;opacity:1;transform:rotate(-5deg)}
.temple-scene.offered .offering-two{bottom:72px;left:64px;opacity:1;transform:rotate(2deg)}
.temple-scene.offered .offering-three{bottom:72px;left:75px;opacity:1;transform:rotate(9deg)}
.flying-incense{position:absolute;z-index:12;bottom:9%;right:-20px;width:10px;height:128px;border-radius:7px 7px 2px 2px;background:linear-gradient(90deg,#72140c,#e35d30 48%,#7e150b);box-shadow:0 0 13px #ffbd69b5;opacity:0;transform-origin:bottom center}
.flying-incense:before{position:absolute;top:-20px;left:1px;width:8px;height:26px;border-radius:50% 50% 20% 20%;background:linear-gradient(#ffe063,#f14a08 55%,#610600);box-shadow:0 0 17px #ff9c24;content:""}
.flying-incense b{position:absolute;top:-57px;left:3px;width:6px;height:48px;border-radius:50%;background:linear-gradient(#fffef0dc,transparent);filter:blur(5px)}
.flying-one{right:-22px;bottom:8%;transform:rotate(28deg)}
.flying-two{right:-54px;bottom:12%;transform:rotate(28deg)}
.flying-three{right:-86px;bottom:16%;transform:rotate(28deg)}
.temple-scene.offering .flying-one{animation:flying-one 3.2s cubic-bezier(.12,.74,.15,1) forwards}
.temple-scene.offering .flying-two{animation:flying-two 3.2s .2s cubic-bezier(.12,.74,.15,1) forwards}
.temple-scene.offering .flying-three{animation:flying-three 3.2s .4s cubic-bezier(.12,.74,.15,1) forwards}
.temple-scene.offered .flying-incense{display:none}
@keyframes flying-one{0%{right:-22px;bottom:8%;opacity:0;transform:rotate(28deg) scale(1.12)}13%{opacity:1}76%{right:calc(50% + 6px);bottom:calc(21% + 110px);opacity:1;transform:rotate(-7deg) scale(1)}100%{right:calc(50% + 6px);bottom:calc(21% + 72px);opacity:0;transform:rotate(-5deg) scale(.8)}}
@keyframes flying-two{0%{right:-54px;bottom:12%;opacity:0;transform:rotate(28deg) scale(1.12)}13%{opacity:1}76%{right:calc(50% - 5px);bottom:calc(21% + 110px);opacity:1;transform:rotate(0deg) scale(1)}100%{right:calc(50% - 5px);bottom:calc(21% + 72px);opacity:0;transform:rotate(2deg) scale(.8)}}
@keyframes flying-three{0%{right:-86px;bottom:16%;opacity:0;transform:rotate(28deg) scale(1.12)}13%{opacity:1}76%{right:calc(50% - 16px);bottom:calc(21% + 110px);opacity:1;transform:rotate(7deg) scale(1)}100%{right:calc(50% - 16px);bottom:calc(21% + 72px);opacity:0;transform:rotate(9deg) scale(.8)}}

/* 第四版：缩小香炉并将其放到神像脚下的平台地板；飞香由 JavaScript 逐帧定位。 */
.incense-altar{bottom:30%;width:92px;height:105px;filter:drop-shadow(0 7px 6px #16030088)}
.urn-shadow{height:13px}
.urn-body{right:7px;bottom:3px;left:7px;height:48px;border-width:2px;border-radius:11px 11px 20px 20px}
.urn-body:before{top:4px;right:4px;bottom:4px;left:4px;border-radius:8px 8px 15px 15px}
.urn-body i{top:7px;font-size:23px}
.urn-rim{bottom:42px;left:2px;width:88px;height:17px;border-width:3px}
.incense-stick{bottom:51px;width:4px;height:62px;border-radius:3px 3px 1px 1px}
.incense-stick:before{top:-9px;left:0;width:4px;height:11px}
.incense-stick b{top:-28px;left:0;width:3px;height:22px}
.stick-one{left:3px;height:48px;transform:rotate(-23deg)}
.stick-two{left:8px;height:55px;transform:rotate(-20deg)}
.stick-three{left:13px;height:62px;transform:rotate(-17deg)}
.stick-four{left:18px;height:68px;transform:rotate(-14deg)}
.stick-five{left:23px;height:56px;transform:rotate(-11deg)}
.stick-six{left:28px;height:65px;transform:rotate(-8deg)}
.stick-seven{left:33px;height:72px;transform:rotate(-5deg)}
.stick-eight{left:38px;height:60px;transform:rotate(-2deg)}
.stick-nine{left:43px;height:70px;transform:rotate(1deg)}
.stick-ten{left:48px;height:64px;transform:rotate(4deg)}
.stick-eleven{left:53px;height:74px;transform:rotate(7deg)}
.stick-twelve{left:58px;height:59px;transform:rotate(10deg)}
.stick-thirteen{left:63px;height:68px;transform:rotate(13deg)}
.stick-fourteen{left:68px;height:61px;transform:rotate(16deg)}
.stick-fifteen{left:73px;height:70px;transform:rotate(19deg)}
.stick-sixteen{left:78px;height:57px;transform:rotate(21deg)}
.stick-seventeen{left:83px;height:50px;transform:rotate(23deg)}
.stick-eighteen{left:87px;height:44px;transform:rotate(25deg)}
.temple-scene.offered .offering-one{bottom:51px;left:34px;opacity:1;transform:rotate(-5deg)}
.temple-scene.offered .offering-two{bottom:51px;left:40px;opacity:1;transform:rotate(2deg)}
.temple-scene.offered .offering-three{bottom:51px;left:46px;opacity:1;transform:rotate(9deg)}
.flying-incense{z-index:40;width:11px;height:128px;opacity:0;will-change:transform,opacity}
.temple-scene.offering .flying-incense{animation:none!important}
.incense-canvas{position:absolute;z-index:4;inset:0;width:100%;height:100%;pointer-events:none}

/* 首页土地公互动入口 */
.ritual-entry-links{display:grid;grid-template-columns:1fr;gap:9px;padding:11px 9px;background:linear-gradient(#fff7dc,#ffe7a1)}
.ritual-entry-links a{display:flex;min-height:52px;align-items:center;justify-content:center;padding:8px 9px;border:2px solid;border-radius:11px;color:#fff;text-align:center;font-size:clamp(14px,3.65vw,19px);font-weight:900;line-height:1.25;text-decoration:none;text-shadow:0 1px 2px #320000;box-shadow:0 3px 0 #4d0500,0 5px 10px #3e100042}
.ritual-entry-links .incense-entry{border-color:#ffd66b;background:linear-gradient(135deg,#c01108,#7f0804)}
.ritual-entry-links .jiao-entry{border-color:#ffe29b;background:linear-gradient(135deg,#9a4010,#6d1706)}
.ritual-entry-links .origin-entry{border-color:#ebc86c;background:linear-gradient(135deg,#ac6b11,#713206)}
.ritual-entry-links .materials-entry{border-color:#ffdd7b;background:linear-gradient(135deg,#045c9d,#063f75);font-size:clamp(14px,3.55vw,18px)}

/* Canvas 掷筊杯页 */
.divination-body{height:var(--divination-viewport-height,100dvh);min-height:0;overflow:hidden;background:#180804;color:#fff}
.divination-page{width:min(720px,100%);height:var(--divination-viewport-height,100dvh);min-height:0;margin:auto;overflow:hidden;background:#3d1107}
.divination-scene{position:relative;isolation:isolate;height:calc(var(--divination-viewport-height,100dvh) - 58px);min-height:0;overflow:hidden;background:#351006 url('incense-temple-bg.png') center top/cover no-repeat}
.divination-scene:after{position:absolute;z-index:1;right:0;bottom:0;left:0;height:42%;background:linear-gradient(transparent,#1b0500a8);content:"";pointer-events:none}
.divination-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}
.wish-dialog{position:absolute;z-index:7;top:50%;left:50%;width:min(430px,calc(100% - 34px));padding:23px 18px 19px;border:2px solid #f2cd73;border-radius:21px;background:linear-gradient(145deg,#6c1108ef,#ae2812f4 58%,#600804f4);box-shadow:0 18px 48px #180000b8;color:#fff7df;text-align:center;transform:translate(-50%,-48%)}
.wish-icon{display:block;width:66px;height:45px;margin:0 auto 5px;object-fit:contain;filter:drop-shadow(0 3px 4px #250000b8)}
.wish-dialog h1{margin:8px 0 11px;color:#ffeab4;font-size:clamp(20px,5.2vw,27px)}
.wish-dialog label{display:block;margin-bottom:9px;font-size:14px;line-height:1.45}
.wish-dialog input{display:block;width:100%;height:44px;border:1px solid #ffe2a0;border-radius:9px;background:#fffbeeee;color:#4e1608;font:16px/1.2 "Microsoft YaHei",sans-serif;text-align:center;outline:none}
.wish-dialog input:focus{box-shadow:0 0 0 3px #ffce5a8a}
.wish-dialog input.is-invalid{border-color:#ffd2d2;background:#fff0f0;box-shadow:0 0 0 3px #ff58586b}
.wish-error{display:block;min-height:14px;margin-top:6px;color:#ffe3a7;font-size:clamp(8px,2.45vw,10px);font-weight:700;letter-spacing:-.28px;line-height:1.3;text-align:center;white-space:nowrap}
.wish-dialog button,.divination-result button{width:100%;margin-top:12px;padding:12px 8px;border:2px solid #ffe18a;border-radius:10px;background:linear-gradient(135deg,#f4c84f,#bd7010);box-shadow:0 4px 0 #6e3500;color:#5b1802;font:900 clamp(18px,4.5vw,23px)/1.15 "Microsoft YaHei",sans-serif;cursor:pointer}
.wish-dialog button:active,.divination-result button:active{transform:translateY(2px);box-shadow:0 2px 0 #6e3500}
.divination-result{position:absolute;z-index:7;right:16px;bottom:4%;left:16px;padding:14px 16px 12px;border:2px solid #f6d271;border-radius:15px;background:#4c0d06e8;color:#fff5d2;text-align:center;box-shadow:0 8px 22px #1d0000a1}
.divination-result strong{display:block;color:#ffdd77;font-size:clamp(23px,6vw,30px);letter-spacing:1px;text-shadow:0 2px #4c0000}
.divination-result span{display:block;margin-top:4px;font-size:15px;line-height:1.45}
.divination-result button{margin-top:10px;padding:9px 8px;font-size:17px}
.custom-body{margin:0;background:#250804;color:#2f170a;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.custom-page{width:min(720px,100%);min-height:100vh;margin:auto;background:#fff8e9}
.custom-header{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;min-height:56px;padding:0 10px;background:linear-gradient(90deg,#790707,#c52b10,#790707);color:#ffe7a3}
.custom-header a{color:#fff4cf;font-size:16px;font-weight:900;text-decoration:none}.custom-header h1{margin:0;text-align:center;font-size:clamp(18px,4.6vw,25px);white-space:nowrap}.custom-article{margin:0;padding:18px 18px 30px;border:5px solid #b11e0b;background:linear-gradient(#fffdf6,#ffe9ba);font-size:16px;line-height:1.85}.custom-article p{margin:0 0 13px}.custom-article ol{margin:0 0 13px;padding-left:26px}.custom-article li{margin:0 0 10px}.custom-jiao-image{display:block;width:min(180px,50%);height:94px;margin:0 auto 12px;object-fit:contain;filter:drop-shadow(0 5px 5px #4b1b0a80)}
@media(max-width:420px){.ritual-entry-links{gap:6px;padding:8px 5px}.ritual-entry-links a{min-height:48px;padding:6px;font-size:14px}.wish-dialog{padding:20px 14px 16px}.wish-dialog label{font-size:13px}.divination-result{right:10px;bottom:3%;left:10px}}
