/* One optical plane for the photographed room, its hit regions and the material in the hand. */
.mesa-dialog.room-dialog.pov-mode[open] { overflow:hidden;background:#140e12; }
.pov-mode .room-frame { height:100dvh;min-height:0; }
.pov-mode .room-bar { background:#161014;min-height:54px;padding-block:6px; }
.pov-mode .room-footer { background:#181013;padding-block:5px;min-height:27px; }
.mesa-dialog.room-dialog.pov-mode .room-main { position:relative;display:block;min-height:0;overflow:hidden;isolation:isolate; }
.mesa-dialog.room-dialog.pov-mode .room-main>.room-stage { position:relative;z-index:2;width:100%;height:100%;overflow:auto;pointer-events:none;scrollbar-width:thin;overscroll-behavior:contain; }
.pov-window { position:absolute;inset:0;overflow:hidden;background:#1c1315; }
.pov-plane { position:absolute;overflow:hidden;isolation:isolate; }
.pov-poster,.pov-loop,.pov-film,.pov-material,.pov-hit-layer {
   position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;
}
.pov-poster,.pov-loop,.pov-film { pointer-events:none;object-fit:fill; }
.pov-loop,.pov-film { opacity:0; }
.pov-window[data-layer=wait] .pov-loop,.pov-window[data-layer=film] .pov-film { opacity:1; }
.pov-material { z-index:3;pointer-events:none; }
.pov-hit-layer { z-index:5;pointer-events:none; }
.pov-hit-layer[hidden] { display:none; }
.pov-card-hit {
  position:absolute;appearance:none;pointer-events:auto;cursor:pointer;border:0;border-radius:0;
  padding:0;background:transparent;color:transparent;touch-action:none;-webkit-tap-highlight-color:transparent;
}
.pov-card-hit:disabled { cursor:default; }
.pov-card-hit:focus-visible { outline:0; }
.pov-card-hit:disabled { background:rgba(22,15,15,.22); }
.pov-mode .room-welcome.pov-welcome,.pov-mode .room-reading {
  width:100%;padding:0;min-height:100%;isolation:auto;background:transparent;overflow:visible;
}
.pov-mode .pov-welcome::before,.pov-mode .room-reading::before { display:none; }
.pov-mode .pov-welcome .room-welcome-inner { display:flex;align-items:center;justify-content:flex-start;max-width:none;min-height:100%;margin:0;padding:clamp(18px,2.9vh,32px) clamp(24px,3.6vw,62px); }
.pov-mode .pov-welcome .room-invite { position:relative;isolation:isolate;pointer-events:auto;width:clamp(275px,28vw,435px);max-width:100%;min-width:0;padding:0; }
.pov-mode .pov-welcome .room-invite::before,.pov-draw-copy::before,.pov-mode .room-reading::after {
  content:'';position:absolute;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,#0e0b0ded 0%,#120c10d9 64%,#150c123d 88%,transparent);
}
.pov-mode .pov-welcome .room-invite::before { inset:-45vh -4vw -45vh -15vw; }
.pov-mode .pov-welcome .room-invite-title { margin:4px 0 9px;font:500 clamp(32px,3.85vw,60px)/.99 var(--serif); }
.pov-mode .pov-welcome .room-question { gap:7px; }
.pov-mode .pov-welcome .hc-welcome { margin-block:7px 9px;background:transparent;padding:3px 0;border:0; }
.pov-mode .pov-welcome .hc-line { padding:1px 0; }
.pov-mode .pov-welcome .hc-message { font-size:14px; }
.pov-mode .pov-welcome .room-question textarea { min-height:51px;max-height:135px;background:#1711169c; }
.pov-mode .room-question .room-primary { margin-top:0; }
.pov-mode .pov-welcome .room-settings { margin:1px 0; }
.pov-mode .room-question .hc-consent { margin:2px 0; }
.pov-mode .pov-welcome .hc-skip { padding:4px 0; }
.pov-mode .room-tarot-stage,.pov-mode .pov-play { width:100%;min-height:100%;position:relative; }
.pov-draw-copy {
  position:relative;isolation:isolate;pointer-events:none;width:clamp(235px,24vw,376px);
  min-width:0;padding:clamp(21px,4.7vh,52px) 0 20px;margin-inline-start:clamp(20px,3.6vw,58px);
  color:#fff1dc;text-shadow:0 2px 10px #120c13;
}
.pov-draw-copy::before { inset:-10vh -8vw -9vh -12vw;background:radial-gradient(ellipse at 4% 25%,#0d090ef0 0%,#130c10dd 43%,#160c1080 65%,transparent 83%); }
.pov-position,.pov-chosen-role {
  color:#e6c78f;font:600 10px/1.55 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.14em;
}
.pov-draw-title { color:#fff0db;font:500 clamp(34px,3.5vw,58px)/.98 var(--serif);letter-spacing:-.035em;margin:7px 0 4px;text-wrap:balance; }
.pov-draw-title:focus { outline:0; }
.pov-draw-note { margin:9px 0 0;color:#e9d9c2;font:13px/1.5 'DM Sans',sans-serif; }
.pov-draw-note:empty { display:none; }
.pov-spread { display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0;padding:0; }
.pov-spread:empty { display:none; }
.pov-chosen { display:flex;align-items:baseline;gap:8px;border-top:1px solid #ceb9884f;padding-top:5px; }
.pov-chosen strong { color:#f7e6cd;font:500 18px/1.15 var(--serif); }
.pov-chosen-role { font-size:9px; }
.pov-fan-nav,.pov-back { pointer-events:auto; }
.pov-fan-nav { display:flex;align-items:center;gap:9px;margin-top:13px;width:fit-content; }
.pov-play [hidden] { display:none!important; }
.pov-page,.pov-back { color:#e7cea2;font:500 12px 'DM Sans',sans-serif;cursor:pointer; }
.pov-page { width:30px;height:30px;background:#100c10b3;border:1px solid #b99b6f83;border-radius:50%;font-size:20px;line-height:1; }
.pov-page:disabled { opacity:.4;cursor:default; }
.pov-range { font-size:11px;color:#e6d6b9; }
.pov-back { display:block;width:fit-content;padding:7px 0;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px; }
.pov-mode .room-reading { position:relative;isolation:isolate;width:clamp(300px,31vw,470px);pointer-events:auto;
  margin-left:auto;padding:clamp(20px,3vw,48px) clamp(24px,3.2vw,54px) 30px 12px; }
.pov-mode .room-reading::after { inset:0 -2px 0 -5vw;background:linear-gradient(270deg,#0e0b0dfb,#120c10ef 76%,#150c1277 90%,transparent); }
.pov-mode .room-reading-head { margin:0 0 12px;text-align:left; }
.pov-mode .room-reading-head .mesa-section-title { margin:0 0 4px;font:500 clamp(35px,3.7vw,56px)/1 var(--serif); }
.pov-mode .room-reading-layout { display:flex; flex-direction:column;gap:14px; }
.pov-mode .room-result-scene,.pov-mode .room-result-copy { width:100%; }
.pov-mode .room-result-cards { justify-content:flex-start;gap:9px;padding:5px 0;flex-wrap:wrap; }
.pov-mode .room-read-card { flex:0 1 66px;gap:3px; }
.pov-mode .room-read-card img { width:42px; }
.pov-mode .room-read-card strong { font-size:14px; }
.pov-mode .room-read-card small { font-size:10px; }
.pov-mode .room-card-meaning { margin:5px 0 0;padding:9px 11px;background:#241b21b3; }
.pov-mode .room-reading .hc-reading { margin:12px 0 6px; }
.pov-mode .room-read-actions { justify-content:flex-start;margin-top:13px; }
@media(max-width:760px) {
  .mesa-dialog.room-dialog.pov-mode[open] { overflow:auto; }
  .pov-mode .room-frame { min-height:100dvh;height:auto; }
  .mesa-dialog.room-dialog.pov-mode .room-main { display:flex;flex-direction:column;overflow:visible;background:linear-gradient(#201819,#1b1319); }
  .pov-window { position:relative;inset:auto;width:100%;height:clamp(228px,38dvh,355px);flex:none; }
  .pov-window::after { content:'';position:absolute;inset:auto 0 0;height:14px;background:linear-gradient(0deg,#201819,transparent);pointer-events:none; }
  .mesa-dialog.room-dialog.pov-mode .room-main>.room-stage { height:auto;overflow:visible;pointer-events:auto; }
  .pov-mode .room-welcome.pov-welcome,.pov-mode .room-reading,.pov-mode .room-tarot-stage,.pov-mode .pov-play { min-height:0; }
  .pov-mode .pov-welcome .room-welcome-inner { display:block;width:100%;padding:15px 18px 21px;min-height:0; }
  .pov-mode .pov-welcome .room-invite { width:100%; }
  .pov-mode .pov-welcome .room-invite::before,.pov-draw-copy::before,.pov-mode .room-reading::after { display:none; }
  .pov-mode .pov-welcome .room-invite-title { font-size:35px; }
  .pov-draw-copy { width:auto;margin:0;padding:15px 18px; }
  .pov-draw-title { font-size:35px; }
  .pov-mode .room-reading { width:100%;padding:15px 18px 24px; }
  .pov-mode .room-reading-head .mesa-section-title { font-size:36px; }
  .pov-mode .room-result-cards { gap:12px; }
  .pov-mode .room-read-card { flex-basis:80px; }
}
@media(min-width:761px) and (max-height:680px) {
  .pov-mode .pov-welcome .room-welcome-inner { align-items:start; }
  .pov-mode .pov-welcome .room-invite-title { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .pov-loop,.pov-film { display:none!important; }
}
.pov-restore-panel {position:relative;pointer-events:auto;width:fit-content;max-width:90%;margin:clamp(18px,4vw,64px);padding:1em 1.4em;background:#251a19ed;color:#f8e8c1;border:1px solid #877044;border-radius:12px;}
