/* The reader owns room navigation; the table keeps only its tarot objects. */
.room-playroom{position:absolute;inset:0;z-index:6;background:#20172f url('../ip/playroom/room-arcade-cleared-v4.webp') center/100% 100% no-repeat;}
.tarot-reader{position:absolute;left:27.5%;bottom:14.1%;width:18%;aspect-ratio:1;padding:0;border:0;background:none;z-index:4;isolation:isolate;cursor:pointer;}
.tarot-reader::before{content:'';position:absolute;left:21%;bottom:2%;width:57%;height:4%;border-radius:50%;background:#160e2780;filter:blur(2px);z-index:-1;pointer-events:none;}
.tarot-reader-chair,.tarot-reader img{display:block;width:100%;height:100%;image-rendering:pixelated;filter:brightness(.92) saturate(.9) drop-shadow(0 1px 1px #160e2760);}
.tarot-reader-chair{position:absolute;inset:0;background:url('../ip/playroom/reader-chair-view-v1.svg') center/100% 100% no-repeat;pointer-events:none;}
.tarot-reader img{position:relative;object-fit:fill;}
.tarot-reader img.has-reader-frames{background:url('../ip/playroom/reader-sheet-v4.png') 0 0/399.3630573248408% 399.3630573248408% no-repeat;}
.tarot-reader:focus-visible{outline:2px dashed #e3c887;outline-offset:3px;}
.tarot-object{position:absolute;border:0;background:transparent;padding:0;cursor:pointer;z-index:3;min-width:44px;min-height:44px;}
.tarot-deck{left:45.2%;top:53.8%;width:6%;height:7.3%;}
.tarot-deck-art{position:absolute;left:45.8%;top:55.2%;width:4.35%;height:4.6%;z-index:2;pointer-events:none;}
.tarot-orb{left:55.4%;top:51.6%;width:5.4%;height:9.5%;border-radius:45%;}
.tarot-object::before{content:'';position:absolute;inset:10%;background:radial-gradient(ellipse,#ffe1a940,transparent 67%);opacity:0;transition:opacity .2s;pointer-events:none;}
.tarot-object:hover::before,.tarot-object:focus-visible::before{opacity:1;}
.tarot-object:focus-visible{outline:2px solid #efcf93;outline-offset:2px;}
.tarot-object span{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:max-content;font:clamp(10px,1vw,14px) 'Zpix','Microsoft YaHei',sans-serif;color:#ffedbd;text-shadow:1px 2px #160f27;opacity:0;pointer-events:none;}
.tarot-object:hover span,.tarot-object:focus-visible span{opacity:1;}
.tarot-table-hand{position:absolute;left:50.2%;top:56.5%;width:5.6%;display:grid;grid-template-columns:repeat(3,1fr);gap:8%;pointer-events:none;perspective:300px;}
.tarot-table-hand[hidden]{display:none;}
.tarot-table-hand img{display:block;width:100%;aspect-ratio:2/3;object-fit:fill;box-shadow:1px 2px 1px #0b071d90;transform:rotateX(45deg);transform-origin:50% 50%;filter:brightness(1.12) saturate(1.12);}
.has-tarot-cards .tarot-orb::before{opacity:1;background:radial-gradient(ellipse,#d4b6ff60,transparent 70%);}
.is-listening .tarot-orb::before{animation:tarot-orb-listen 1s ease-in-out infinite alternate;}
/* Keep async/error announcements available to assistive technology without scene text. */
.tarot-room-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;pointer-events:none;}
.tarot-dialog{box-sizing:border-box;width:min(980px,calc(100% - 32px));max-height:90svh;overflow:hidden;isolation:isolate;border:1px solid transparent;border-image:url('../ip/playroom/reading-panel-v1.webp') 300 fill / 64px / 0 stretch;background:#24172f;color:#eadbc3;padding:70px 40px 54px;box-shadow:0 24px 100px #080618b3;font:14px/1.9 'Zpix','Microsoft YaHei',sans-serif;z-index:100;}
.tarot-scroll{max-height:calc(90svh - 126px);overflow:auto;overscroll-behavior:contain;contain:paint;isolation:isolate;padding:0 14px 4px 0;scrollbar-width:thin;scrollbar-color:#b09664 #24172f;}
.tarot-scroll:focus-visible{outline:1px dashed #b6996a;outline-offset:4px;}
.tarot-dialog::backdrop{background:#0d0a20bd;backdrop-filter:blur(3px);}
.tarot-dialog.tarot-frame-fallback{border:1px solid #a58559;border-image:none;}
.tarot-dialog h2{color:#f8e3ad;font-size:22px;font-weight:normal;margin:0 36px 0 0;}
.tarot-close{position:absolute;right:22px;top:20px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:0;padding:0;background:none;color:#ead7b0;cursor:pointer;}
.tarot-close::before{content:'';display:block;width:3px;height:3px;background:currentColor;transform:translate(-9px,-9px);box-shadow:18px 0 currentColor,3px 3px currentColor,15px 3px currentColor,6px 6px currentColor,12px 6px currentColor,9px 9px currentColor,6px 12px currentColor,12px 12px currentColor,3px 15px currentColor,15px 15px currentColor,0 18px currentColor,18px 18px currentColor;}
.tarot-close:hover{color:#fff1be;filter:drop-shadow(0 0 3px #d7b67588);}
.tarot-close:focus-visible{outline:1px dashed #dfc18a;outline-offset:0;}
.tarot-date{margin:6px 0 20px;color:#bca8c3;font-size:12px;}
.tarot-reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.tarot-reading-card{min-width:0;}
.tarot-position{color:#d9bc83;font-size:12px;margin:0 0 9px;}
.tarot-art-frame{background:#19142b;padding:5px;border:1px solid #9f8058;max-width:190px;margin:0 auto 16px;box-shadow:0 8px 20px #0b071d55;}
.tarot-art-frame img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;}
.tarot-art-frame img.is-reversed{transform:rotate(180deg);}
.tarot-reading-card h3{font-size:16px;font-weight:normal;color:#f7e3b9;margin:0 0 5px;}
.tarot-reading-card>p:last-child{margin:8px 0 0;}
.tarot-keywords{font-size:11px;color:#bca6c4;margin:0;}
.tarot-combined{margin:26px 0 18px;padding:20px 0 0;border-top:1px solid #7f655744;}
.tarot-combined h3{font-size:15px;font-weight:normal;color:#f3d6a4;margin:0 0 8px;}
.tarot-combined p{margin:0;line-height:2.05;}
.tarot-footnote{font-size:11px;color:#b5a0ba;}
.tarot-return{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:8px;border:0;border-radius:0;background:none;color:#dfc99d;padding:6px 0;font:inherit;font-size:13px;cursor:pointer;box-shadow:none;}
.tarot-return::before{content:'✦';color:#edc77d;font-size:17px;line-height:1;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s;}
.tarot-return:hover,.tarot-return:focus-visible{background:none;color:#fff1c7;}
.tarot-return:hover::before,.tarot-return:focus-visible::before{opacity:1;transform:none;}
.tarot-return:focus-visible{outline:none;text-decoration:underline;text-underline-offset:5px;}
@keyframes tarot-orb-listen{to{opacity:.3;transform:scale(.85);}}
@media(max-width:760px){.tarot-dialog{padding:55px 22px 44px;width:calc(100% - 24px);max-height:90svh;border-image-width:45px;}.tarot-scroll{max-height:calc(90svh - 101px);padding-right:10px;}.tarot-close{right:14px;top:10px;}.tarot-dialog h2{font-size:18px;}.tarot-reading-grid{grid-template-columns:1fr;gap:26px;}.tarot-art-frame{max-width:160px;}.tarot-reading-card{display:grid;grid-template-columns:108px 1fr;column-gap:12px;align-content:start;}.tarot-position{grid-column:1/-1;}.tarot-art-frame{grid-column:1;grid-row:2/6;margin:0;}.tarot-reading-card h3,.tarot-reading-card>p:not(.tarot-position){grid-column:2;}.tarot-reading-card h3{font-size:14px;}.tarot-reading-card>p:last-child{font-size:13px;}.tarot-combined{font-size:13px;}}
@media(prefers-reduced-motion:reduce){.is-listening .tarot-orb::before{animation:none;}.tarot-object::before,.tarot-return::before{transition:none;}}
