
/* 连续黑猫动作、占卜仪式与静态分享卡 */
.cat-rig { display:block; line-height:0; width:100%; aspect-ratio:1; }
.cat-rig svg { display:block; width:100%; height:auto; overflow:visible; }
.cat-rig .cat-head { transform-origin:650px 558px; animation:cat-head-rest 8s ease-in-out infinite; }
.cat-rig .cat-tail { transform-origin:906px 1135px; animation:cat-tail-rest 5.5s ease-in-out infinite; }
.cat-lid { transform:scaleY(0); transform-box:fill-box; transform-origin:center top; }
.cat-eye-line { opacity:0; }
.cat-blinking .cat-lid { animation:cat-blink .36s ease-in-out both; }
.cat-blinking .cat-eye-line { animation:cat-eye-close .36s ease-in-out both; }
@keyframes cat-head-rest { 0%,100% {transform:rotate(0)} 45% {transform:rotate(-1.5deg)} 75% {transform:rotate(.8deg)} }
@keyframes cat-tail-rest { 0%,100% {transform:rotate(0)} 50% {transform:rotate(-5deg)} }
@keyframes cat-blink { 0%,100% {transform:scaleY(0)} 42%,60% {transform:scaleY(1)} }
@keyframes cat-eye-close { 0%,30%,80%,100% {opacity:0} 42%,60% {opacity:1} }
.host-thinking .cat-head { animation:cat-head-rest 3.2s ease-in-out infinite; }
.host-quiet .cat-rig *, body.modal-open .cat-rig *, body.host-suspended .cat-rig * { animation-play-state:paused !important; }
.ritual-modal { position:fixed; inset:0; z-index:1100; display:grid; place-items:center; padding:20px; background:rgba(7,8,17,.96); overflow:auto; overscroll-behavior:contain; }
.ritual-panel { width:min(650px,100%); text-align:center; padding:32px 22px; border:1px solid #6a573c; border-radius:22px; background:radial-gradient(ellipse at 50% 48%,#26203c,#10131f 75%); box-shadow:0 24px 70px #0008; }
.ritual-panel .eyebrow {justify-content:center;color:var(--gold);font-size:10px;letter-spacing:3px;}
.ritual-panel h2 {font-size:clamp(20px,4vw,29px);color:var(--gold-bright);}
.ritual-status { min-height:24px; color:#c0b8d4; font-size:13px; margin:16px 0; }
.ritual-stage { display:grid;place-items:center; min-height:295px; margin:24px 0; perspective:900px; }
.ritual-deck { position:relative; width:138px; height:207px; touch-action:pan-y; cursor:grab; transform:translateX(var(--cut-offset,0px)); }
.ritual-deck img { position:absolute;inset:0;width:100%;height:100%;border-radius:9px; border:1px solid #ab895c;translate:calc(var(--layer) * 2px) calc(var(--layer) * -2px);box-shadow:0 8px 20px #0005;user-select:none; }
.ritual-actions {display:flex;justify-content:center;gap:12px;margin-bottom:20px;}
.ritual-selection {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;width:100%;}
.ritual-selection button {background:none;padding:0;border:1px solid #96784c;border-radius:7px;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;}
.ritual-selection img {width:100%;display:block;aspect-ratio:2/3;}
.ritual-selection button:not(:disabled):hover {transform:translateY(-7px);box-shadow:0 0 16px #b49c5d44;}
.ritual-selection button.chosen {border-color:#f3d39b;opacity:.6;}
.ritual-modal button:focus-visible {outline:2px solid #f3d39b;outline-offset:5px;}
.ritual-coins { display:flex;gap:26px;perspective:850px;padding:58px 0 30px; }
.ritual-coin {position:relative;width:72px;height:72px;transform-style:preserve-3d;}
.ritual-coin img {position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;}
.ritual-coin .coin-reverse {transform:rotateY(180deg);}
.ritual-lines {height:150px;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;}
.ritual-yao {display:flex;align-items:center;gap:16px;}
.ritual-yao .yao-line {width:95px;}.ritual-yao small {width:85px;text-align:left;color:var(--gold);font-size:12px;}
.reveal-all {display:block;margin:12px auto 20px;font-size:12px;}
.flip-inner {transition:transform .72s cubic-bezier(.2,.65,.2,1);}
.flip-card:not(.flipped):hover .flip-inner {transform:translateY(-5px) rotateY(5deg);}
.share-options {display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:12px;color:var(--muted);}
.share-options label {display:flex;align-items:center;gap:7px;cursor:pointer;}
.share-options input {width:16px;height:16px;padding:0;accent-color:var(--gold);}
#share-status {font-size:12px;color:var(--gold);min-height:20px;}
@media(max-width:600px) {.ritual-modal{padding:12px}.ritual-panel{padding:24px 16px}.ritual-selection{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ritual-stage{min-height:260px}.ritual-coins{gap:19px}.ritual-coin{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce) {.cat-rig *{animation:none!important}.cat-lid{transform:scaleY(0)!important}.cat-eye-line{opacity:0!important}.flip-inner{transition:none!important}.ritual-selection button{transition:none}}

