body.reading-locked{overflow:hidden}
.reading-wait{width:min(440px,calc(100% - 32px));padding:42px 30px;border:1px solid var(--border);border-radius:26px;background:var(--paper,#211d34);color:var(--ink);text-align:center;box-shadow:0 25px 100px #0006;outline:none}
.reading-wait::backdrop{background:rgba(8,10,24,.78)}
.reading-wait h2{font-family:serif;font-size:26px;font-weight:500}.reading-wait p{line-height:1.9;color:var(--muted)}.reading-wait small{display:block;color:var(--muted);line-height:1.8}
.wait-orbit{width:100px;height:100px;margin:0 auto 25px;position:relative;display:grid;place-items:center;color:var(--gold);font-size:45px}
.wait-orbit i{position:absolute;inset:0;border:1px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:wait-spin 3s linear infinite}.wait-orbit i:nth-child(2){inset:12px;border-top-color:transparent;border-bottom-color:var(--gold);animation-direction:reverse;animation-duration:5s}.wait-orbit b{font-weight:400;animation:wait-glow 2s ease-in-out infinite alternate}
@keyframes wait-spin{to{transform:rotate(360deg)}}@keyframes wait-glow{to{opacity:.45;transform:scale(.94)}}
.ritual-stage[data-mode=ziwei],.ritual-stage[data-mode=liuren],.ritual-stage[data-mode=coins]{display:none}
.ziwei-seal{width:200px;height:200px;display:grid;place-content:center;gap:15px;margin:25px auto;border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 0 15px var(--paper),0 0 0 16px var(--border);color:var(--gold);font-size:55px}.ziwei-seal small{font-size:12px;letter-spacing:5px}
.ziwei-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;margin:15px 0}.palace-tile{border:1px solid var(--border);background:var(--paper);color:var(--ink);border-radius:10px;padding:12px 8px;min-height:122px;cursor:pointer;text-align:left;overflow-wrap:anywhere}.palace-tile b,.palace-tile small{display:block;margin:5px 0}.palace-tile small{color:var(--muted);font-size:11px}.palace-tile.selected{outline:2px solid var(--gold)}.palace-center{grid-column:2/4;grid-row:2/4;display:grid;place-content:center;text-align:center;gap:12px;background:var(--paper);border:1px solid var(--border);border-radius:15px;color:var(--gold)}.palace-center b{font-size:25px;font-family:serif}.palace-center small{color:var(--muted)}
.palace-detail{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--paper);padding:18px;text-align:left}.palace-detail h4{margin:0 0 12px;color:var(--gold)}.palace-detail p{line-height:1.9;margin:8px 0}.ziwei-flow{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ziwei-flow article{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--paper)}.ziwei-flow h4{margin:0 0 7px;color:var(--gold)}.ziwei-flow p{line-height:1.8;font-size:13px}.ziwei-result{width:100%}
.liuren-wheel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:330px;margin:20px auto}.liuren-house{padding:23px 12px;border:1px solid var(--border);border-radius:50% 50% 15px 15px;color:var(--muted);background:var(--paper);font-family:serif;font-size:21px;transition:background .3s,transform .3s}.liuren-house.active{color:var(--gold);border-color:var(--gold);transform:translateY(-5px)}
.coin-tray{display:flex;justify-content:center;gap:20px;padding:30px 0}.ritual-coin{width:62px;height:62px;display:grid;place-items:center;background:linear-gradient(135deg,#e2c184,#9a773b);color:#43351e;border:3px double #775626;border-radius:50%;box-shadow:0 7px 15px #0002;font-family:serif;font-size:24px}.coin-tray.tossing .ritual-coin{animation:coin-toss .6s ease-in-out}.coin-tray.tossing .ritual-coin:nth-child(2){animation-delay:.06s}.coin-lines{max-width:240px;margin:auto;display:flex;flex-direction:column-reverse;gap:7px}.coin-line{display:flex;gap:12px;align-items:center;justify-content:center;color:var(--gold);font-size:13px}.coin-line .yao{width:90px;display:flex;gap:9px}.coin-line .yao i{height:6px;flex:1;background:var(--gold)}.coin-line .yao.yang{gap:0}.coin-line small{min-width:84px;color:var(--muted)}.coins-hex-grid{grid-template-columns:repeat(2,1fr)}
@keyframes coin-toss{50%{transform:translateY(-35px) rotateY(540deg)}}
@media(max-width:600px){.ziwei-board{gap:4px}.palace-tile{padding:7px 4px;min-height:105px;font-size:12px}.palace-tile small{font-size:10px}.palace-center b{font-size:21px}.palace-center small{font-size:11px}.ziwei-flow{grid-template-columns:1fr}.reading-wait{padding:32px 20px}.mode-tabs button em{display:none}}
@media(prefers-reduced-motion:reduce){.wait-orbit i,.wait-orbit b,.coin-tray.tossing .ritual-coin{animation:none}.liuren-house{transition:none}}
