/* The viewport is the table, not a document the visitor must scroll through. */
body[data-scene="seance"], body[data-scene="home"] { min-height: 100svh; }
body[data-scene="seance"] { height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
body[data-scene="seance"] .site-header, body[data-scene="home"] .site-header { flex: 0 0 auto; background: #0a090cee; }
body[data-scene="seance"] .site-header .wrap, body[data-scene="home"] .site-header .wrap { min-height: 64px; }
body[data-scene="seance"] .nav-toggle, body[data-scene="home"] .nav-toggle { display: none; }
body[data-scene="seance"] .nav, body[data-scene="home"] .nav { display: flex; position: static; width: auto; background: none; border: 0; padding: 0; margin: 0 0 0 auto; flex-direction: row; }
body[data-scene="seance"] .nav > a, body[data-scene="home"] .nav > a { display: none; }
body[data-scene="seance"] #main { flex: 1; min-height: 0; padding-bottom: 0; background: radial-gradient(ellipse at 50% 62%, #55432a35, transparent 67%), repeating-linear-gradient(100deg, #ffffff02 0 1px, transparent 1px 4px), #100e12; }
body[data-scene="home"] #main { padding-bottom: 0; }
.quiet-footer { flex: 0 0 auto; min-height: 38px; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #0a090c; color: var(--muted); font: .64rem var(--ui); position: relative; z-index: 20; }
.quiet-footer summary { padding: 12px 0; cursor: pointer; }
.oracle-disclosure { position: relative; }
.oracle-disclosure > summary { display: flex; position: relative; align-items: center; justify-content: center; list-style: none; width: 44px; height: 44px; padding: 0; color: var(--gold-soft); }
.oracle-disclosure > summary::-webkit-details-marker { display: none; }
.oracle-disclosure svg { position: absolute; width: 28px; height: 36px; fill: none; stroke: var(--gold-dim); stroke-width: .8; }
.oracle-disclosure summary > span { position: relative; font: .68rem var(--display); letter-spacing: .08em; padding-top: 3px; }
.oracle-disclosure-copy { position: absolute; left: 0; bottom: calc(100% + 8px); width: min(320px, calc(100vw - 60px)); padding: 16px 18px; border: 1px solid var(--gold-dim); border-radius: 5px; background: #171319; box-shadow: 0 8px 32px #0009; color: var(--muted); font: .78rem/1.85 var(--body); }
.oracle-disclosure-copy p { margin: 0 0 10px; }
.oracle-disclosure-copy a { color: var(--gold-soft); }
.quiet-footer nav { position: absolute; bottom: 100%; right: 20px; width: 220px; max-height: 70dvh; overflow-y: auto; padding: 14px; background: #171319; border: 1px solid var(--line); display: flex; flex-direction: column; }
.quiet-footer nav a { padding: 12px; color: var(--text); text-decoration: none; }
body[data-scene="home"] .sanctuary { min-height: calc(100svh - 102px); padding-top: clamp(30px, 6vh, 78px); padding-bottom: 28px; }
.sanctuary-note { color: var(--muted); font: .7rem/1.7 var(--ui); margin: 24px auto 0; max-width: 440px; }
.seance { height: 100%; display: flex; flex-direction: column; max-width: 1600px; margin: auto; padding: 0 clamp(20px, 4vw, 72px); position: relative; }
.seance [hidden] { display: none !important; }
.seance-sound { margin-left: auto; min-height: 44px; max-width: 42%; padding: 6px 0 6px 12px; border: 0; background: none; color: var(--gold-soft); font: .68rem/1.5 var(--ui); cursor: pointer; z-index: 1; }
.seance-sound[aria-pressed="true"]::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); margin-right: 8px; box-shadow: 0 0 9px var(--gold); }
.oracle-host { position: relative; flex: 0 0 clamp(110px, 19vh, 190px); isolation: isolate; }
.oracle-host > img { display: block; position: absolute; height: 100%; width: 320px; left: 50%; transform: translateX(-50%); object-fit: contain; object-position: center; mask-image: radial-gradient(ellipse 85% 85% at 50% 42%, #000 55%, transparent 80%); }
.oracle-host > p { position: absolute; left: calc(50% + 165px); top: 42%; width: min(25vw, 240px); margin: 0; color: var(--gold-soft); font: .88rem/1.9 var(--body); text-wrap: balance; }
.oracle-host::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 50% 75%, #a2733220, transparent 53%); animation: hearth-glow 7s ease-in-out infinite alternate; }
.host-deck { position: absolute; width: 25px; height: 38px; left: calc(50% - 12px); bottom: 8px; transform: perspective(300px) rotateX(48deg); }
.host-deck i { position: absolute; inset: 0; background: url('/img/card-back.webp') center / cover; border: 1px solid #b59a62; border-radius: 2px; box-shadow: 0 2px 3px #000; }
.host-deck i:nth-child(1) { transform: translate(-2px, 3px) rotate(-5deg); }
.host-deck i:nth-child(2) { transform: translate(2px, 1px) rotate(4deg); }
[data-ritual="dealing"] .host-deck i:nth-child(2) { animation: hand-shuffle .7s ease-in-out 2; }
[data-ritual="dealing"] .host-deck i:nth-child(3) { animation: hand-shuffle .7s ease-in-out .15s 2 reverse; }
.candle { position: absolute; bottom: 14px; left: calc(50% - 190px); height: 32px; width: 8px; border-radius: 2px; background: linear-gradient(90deg, #60452d, #c2a779, #5a402a); box-shadow: 0 8px 16px #000; }
.candle-right { left: calc(50% + 180px); height: 23px; }
.candle::before { content: ""; position: absolute; width: 6px; height: 17px; left: 1px; bottom: calc(100% + 2px); border-radius: 60% 40% 50% 50%; background: #ffe2a7; box-shadow: 0 0 9px #ffbe63, 0 0 30px 9px #b875373b; transform-origin: bottom; animation: candle-breathe 2.7s ease-in-out infinite alternate; }
.candle-right::before { animation-delay: -.8s; }
@keyframes hearth-glow { to { opacity: .45; } }
@keyframes candle-breathe { 35% { transform: scale(.88, 1.08) rotate(3deg); } 70% { transform: scale(1.08, .9) rotate(-4deg); } }
@keyframes hand-shuffle { 50% { transform: translateX(24px) rotate(12deg); } }
.seance-rail { display: flex; justify-content: space-between; align-items: center; height: 52px; flex: 0 0 52px; position: relative; }
.seance-rail > p { margin: 0; position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.seance-back { min-height: 44px; background: none; border: 0; color: var(--muted); font: .75rem var(--ui); cursor: pointer; padding: 0 12px 0 0; }
.seance-rail-end { margin-left: auto; font: .64rem var(--ui); color: var(--muted); }
.seance-step { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 12px 0 16px; gap: clamp(12px, 2vh, 26px); animation: seance-arrive .45s ease both; }
.seance-heading { text-align: center; flex: 0 0 auto; }
.seance-heading .eyebrow { margin: 0 0 12px; }
.seance-heading h1, .seance-heading h2 { font-family: var(--body); font-size: clamp(1.75rem, 3.6vw, 3.45rem); line-height: 1.35; font-weight: 400; margin: 0; letter-spacing: .04em; text-wrap: balance; }
.seance-heading h1:focus, .seance-heading h2:focus { outline: none; }
.seance-heading > p:last-child:not(.eyebrow) { font-size: clamp(.85rem, 1.3vw, 1.08rem); color: var(--muted); margin: 14px 0 0; }
.doorways { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 3vw, 46px); flex: 1; min-height: 0; margin: 0 auto; width: 100%; max-width: 1200px; }
.doorway { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; padding: clamp(12px, 2vw, 30px); border: 1px solid var(--line); border-radius: 46% 46% 3px 3px; background: #15111669; cursor: pointer; color: var(--text); min-height: 0; transition: background .4s, border-color .4s, transform .4s; }
.doorway:hover, .doorway:focus-visible { background: #35261980; border-color: var(--gold); transform: translateY(-4px); }
.choice-number { color: var(--gold-dim); font: .7rem var(--display); letter-spacing: .16em; }
.doorway-art { display: block; width: 100%; height: clamp(75px, 22vh, 235px); position: relative; flex: 0 1 auto; min-height: 70px; margin: 4px 0 12px; }
.doorway-art img { position: absolute; height: 100%; width: auto; left: 50%; transform: translateX(-50%) rotate(calc((var(--card) - (var(--total) - 1) / 2) * 15deg)); transform-origin: center 110%; border-radius: 4px; filter: saturate(.65); box-shadow: 0 8px 25px #0009; }
.doorway strong, .whisper-choice strong { font: 400 clamp(1.2rem, 2.2vw, 2rem) var(--body); color: var(--gold-soft); }
.doorway > span:last-child { color: var(--muted); font: .82rem/1.8 var(--body); text-wrap: balance; }
.seance-footnote { text-align: center; font: .72rem/1.6 var(--ui); color: var(--muted); margin: 0; }
.seance-bottom { text-align: center; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.seance-bottom .ritual-button { padding-block: 12px; }
#allowanceLinks { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; }
.question-space { width: min(100%, 760px); margin: auto; display: flex; flex: 1 0 auto; flex-direction: column; justify-content: center; gap: 24px; padding-block: 20px; }
.question-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 24px; }
.whisper-seal { width: clamp(50px, 10vh, 96px); aspect-ratio: 1; margin: 0 auto 10px; border: 1px solid var(--gold-dim); border-radius: 50%; box-shadow: inset 14px 0 0 #bd965828, 0 0 60px #bd965817; transform: rotate(-25deg); }
[data-screen="question"] { overflow-y: auto; scrollbar-width: thin; }
.topic-choices, .follow-choices { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; flex: 1; min-height: 0; width: 100%; max-width: 1200px; margin: 12px auto; }
.topic-choices .whisper-choice, .follow-choices .whisper-choice { align-items: center; text-align: center; }
.whisper-sigil { display: block; width: clamp(40px, 6vw, 86px); aspect-ratio: 1; border: 1px solid var(--gold-dim); border-radius: 50%; position: relative; margin-block: 12px 28px; opacity: .8; box-shadow: 0 0 50px #c49b5512; transition: transform .6s, box-shadow .6s; }
.whisper-sigil::before, .whisper-sigil::after { content: ""; position: absolute; inset: 12%; border: 1px solid var(--gold-dim); border-radius: 50%; }
.sigil-love::before { transform: translateX(-35%); }
.sigil-love::after { transform: translateX(35%); }
.sigil-career { border-radius: 0; transform: rotate(45deg) scale(.8); }
.sigil-career::after { inset: -15% 48%; border-radius: 0; border-width: 0 1px 0 0; }
.sigil-study { box-shadow: inset 14px 0 #b7904b28; }
.sigil-study::before { inset: 30%; background: #c39c6544; box-shadow: 0 0 24px #c39c6555; }
.sigil-study::after { inset: -12% 48%; border-radius: 0; border-width: 0 1px 0 0; }
.sigil-family::before { border-radius: 0; transform: rotate(45deg); }
.sigil-family::after { inset: 35%; }
.whisper-choice:hover .whisper-sigil { box-shadow: 0 0 50px #c49b5533; }
.whisper-choice { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; min-height: 135px; padding: 24px; text-align: left; background: #1411168c; border: 1px solid var(--line); color: var(--muted); cursor: pointer; transition: border-color .3s, background .3s; }
.whisper-choice > span:last-child { font: .76rem/1.6 var(--ui); }
.whisper-choice strong { font-size: clamp(1.08rem, 1.8vw, 1.6rem); }
.whisper-choice:hover, .whisper-choice:focus-visible { background: #3a2c2066; border-color: var(--gold); }
.question-field { max-width: 760px; width: 100%; margin: 0 auto; position: relative; }
.question-field label { display: block; font: .85rem var(--body); color: var(--gold-soft); margin-bottom: 12px; }
.question-field textarea { min-height: 78px; height: clamp(100px, 18vh, 160px); resize: none; background: #151118a6; border: 0; border-bottom: 1px solid var(--gold-dim); padding: 13px 15px 24px; font: 1rem/1.6 var(--body); }
.question-field .charcount { position: absolute; right: 12px; bottom: 6px; font-size: .62rem; }
.seance-deck { flex: 1; min-height: 90px; display: grid; grid-template-columns: repeat(var(--columns, 6), var(--card-width, 90px)); gap: 12px; align-content: center; justify-content: center; width: 100%; }
.seance-deck { position: relative; perspective: 1100px; padding: 28px 12px 20px; border-radius: 50%; background: radial-gradient(ellipse, #9a754515, transparent 70%); }
.seance-deck::before { content: ""; position: absolute; pointer-events: none; inset: 7% 4%; border: 1px solid #ae8c4c17; border-radius: 50%; box-shadow: 0 0 70px #ae8c4c08, inset 0 0 80px #0003; }
.seance-card { width: var(--card-width, 90px); padding: 0; border: 0; background: none; cursor: pointer; color: var(--gold-soft); border-radius: 4px; }
.seance-card { position: relative; transform: translateY(var(--offset, 0px)) rotate(var(--scatter, 0deg)); transition: transform .3s, filter .3s; }
.seance-card.armed { transform: translateY(-14px) rotate(0deg); z-index: 3; filter: drop-shadow(0 0 13px #e1b86d70); }
.seance-card.armed .turn-back { outline: 2px solid var(--gold-soft); outline-offset: 5px; }
.seance-card.turned { transform: rotate(0deg); z-index: 2; }
.seance-card:disabled { cursor: default; opacity: 1; }
.turn-back { box-shadow: 0 10px 26px #000b; }
.is-dealing .seance-card { animation: seance-deal 1.2s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--deal-delay); pointer-events: none; }
@keyframes seance-deal {
  0%, 38% { opacity: 0; transform: translate(var(--deal-x), var(--deal-y)) scale(.18) rotate(var(--deal-tilt)); }
  42% { opacity: 1; transform: translate(var(--deal-x), var(--deal-y)) scale(.18) rotate(var(--deal-tilt)); }
  78% { opacity: 1; transform: translate(0, -14px) scale(1.04) rotate(-2deg); }
  100% { opacity: 1; transform: translateY(var(--offset, 0px)) scale(1) rotate(var(--scatter, 0deg)); }
}
.seance-card .turn-art { position: relative; display: block; aspect-ratio: 4 / 7; perspective: 1000px; }
.turn-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 4px; backface-visibility: hidden; transition: transform .65s; }
.turn-front { transform: rotateY(180deg); }
.seance-card.turned .turn-back { transform: rotateY(-180deg); }
.seance-card.turned .turn-art { animation: draw-near .85s ease both; }
.seance-card:not(:disabled):not(.turned):hover .turn-art { transform: translateY(-7px); filter: drop-shadow(0 0 12px #c5a36944); }
@keyframes draw-near { 0% { transform: translateY(0); } 32% { transform: translateY(-14px) scale(1.07) rotate(-2deg); } 100% { transform: translateY(0) scale(1); } }
.seance-card.turned .turn-front { transform: rotateY(0); }
.seance-card.turned .turn-front.reversed { transform: rotateY(0) rotate(180deg); }
.turn-name { display: block; font: .74rem/1.4 var(--body); min-height: 34px; padding-top: 10px; visibility: hidden; }
.turned .turn-name { visibility: visible; }
.reading-presence { flex: 1; min-height: 0; display: flex; align-items: stretch; gap: clamp(28px, 5vw, 84px); margin: 8px auto 0; width: min(100%, 1120px); }
.reading-step > .seance-bottom { min-height: 54px; }
.reading-step { overflow-y: auto; scrollbar-width: thin; }
.reading-step > .seance-bottom { min-height: 30px; }
.reply-choices { flex: 0 0 auto; width: min(100%, 660px); margin: 0 auto; text-align: center; }
.reply-chips { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; text-align: left; }
.reply-chips .reply-chip { text-align: left; border-radius: 8px; }
.reading-step .reading-presence { flex-shrink: 0; min-height: 280px; }
.reply-chip { min-height: 44px; padding: 9px 16px; border: 1px solid var(--gold-dim); border-radius: 24px; background: #201b21; font: .8rem/1.6 var(--body); color: var(--gold-soft); cursor: pointer; transition: background .3s, transform .3s; }
.reply-chip:hover:not(:disabled) { background: #453323; transform: translateY(-2px); }
.reply-chip:disabled { opacity: .45; cursor: default; }
.reply-editor { display: grid; gap: 8px; width: min(100%, 660px); margin: 12px auto; text-align: left; }
.reply-editor label { font: .8rem var(--body); color: var(--muted); }
.reply-editor textarea { min-height: 72px; height: 72px; resize: vertical; font: 1rem/1.6 var(--body); }
.reply-editor button { justify-self: end; }
.oracle-waiting { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 220px; gap: 26px; }
.oracle-waiting > p { max-width: 330px; text-align: center; font: .88rem/1.9 var(--body); color: var(--muted); }
.suit-orbit { position: relative; width: clamp(130px, 22vh, 220px); aspect-ratio: 1; }
.suit-orbit svg { width: 100%; height: 100%; fill: none; stroke: var(--gold); stroke-width: 1; animation: suit-orbit 22s linear infinite; }
.suit-orbit svg > circle { stroke-dasharray: 1 7; opacity: .4; }
.orbit-card { position: absolute; left: 34%; top: 23%; width: 32%; height: 54%; border-radius: 4px; background: url('/img/card-back.webp') center / cover; box-shadow: 0 0 36px #be965333; animation: card-breathe 3.4s ease-in-out infinite; }
[data-thinking="true"] .leaf-controls { visibility: hidden; }
[data-thinking="true"] .reading-cards img { animation: card-breathe 4s ease-in-out infinite; }
[data-thinking="true"] #aiSpin { display: none !important; }
[data-thinking="true"] #aiStatus { text-align: center; }
.oracle-leaf.is-arriving { animation: reading-arrive .8s ease both; }
@keyframes suit-orbit { to { transform: rotate(360deg); } }
@keyframes card-breathe { 50% { transform: translateY(-6px); filter: brightness(1.18); } }
@keyframes reading-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.reading-cards { width: 28%; flex: 0 0 28%; align-content: center; justify-content: center; display: flex; flex-wrap: wrap; gap: 10px; }
.reading-cards img { width: clamp(40px, 7vw, 90px); height: auto; object-fit: contain; align-self: center; border-radius: 3px; box-shadow: 0 8px 24px #0008; }
.reading-cards img:only-child { width: min(100%, 200px); }
.reading-cards .reversed { transform: rotate(180deg); }
.reading-presence #aiPanel { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; gap: 10px; }
.reading-presence .ai-status { font: .76rem/1.6 var(--body); margin: 0; flex: 0 0 auto; min-height: 26px; }
.oracle-leaf { flex: 1; min-height: 0; font: clamp(1.15rem, 1.8vw, 1.65rem)/1.95 var(--body); color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere; overflow-y: auto; scrollbar-width: thin; padding: 0 4px; }
.leaf-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: 0 0 auto; }
.leaf-controls > span { font: .72rem var(--ui); color: var(--muted); }
.leaf-controls button:disabled { opacity: .3; cursor: default; }
.follow-choices { flex: 1; min-height: 0; margin: 12px auto; width: 100%; max-width: 1200px; }
.follow-choices .whisper-choice { align-items: center; text-align: center; }
.seance-error { position: absolute; bottom: 5px; left: 20px; right: 20px; padding: 12px; text-align: center; background: #23151c; color: #edc6b1; border: 1px solid var(--line); font: .78rem/1.6 var(--ui); z-index: 2; }
.seance:has(.seance-error:not([hidden])) { padding-bottom: 68px; }
@keyframes seance-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 860px) {
  .seance-rail-end { display: none; }
  .seance-heading h1, .seance-heading h2 { font-size: clamp(1.5rem, 4vw, 2.2rem); }
  .topic-choices, .follow-choices { grid-template-columns: repeat(2, 1fr); }
  .whisper-choice { min-height: 100px; padding: 14px 18px; gap: 8px; }
  .reading-presence { gap: 22px; }
  .reading-cards { flex-basis: 23%; width: 23%; gap: 6px; }
  .reading-cards img { width: 58px; }
}
@media (max-width: 600px) {
  .oracle-host { flex-basis: 100px; }
  .oracle-host > img { left: 30%; width: 170px; }
  .oracle-host > p { left: 56%; width: 42%; top: 26%; font-size: .73rem; }
  .host-deck { left: calc(30% - 12px); bottom: 3px; width: 20px; height: 29px; }
  .candle-left { left: 3%; bottom: 8px; height: 23px; }
  .candle-right { display: none; }
  .seance-sound { font-size: .6rem; }
  .reply-chip { padding: 8px 12px; font-size: .72rem; }
  .reading-presence { min-height: 220px; }
  .reading-step:has(#replyEditor:not([hidden])) .reading-presence { min-height: 280px; }
  body[data-scene="seance"] .site-header .wrap, body[data-scene="home"] .site-header .wrap { min-height: 56px; padding-inline: 18px; }
  .brand { font-size: .84rem; }
  .language-menu { margin: 0; }
  .quiet-footer { min-height: 34px; padding-inline: 20px; font-size: .58rem; }
  .seance { padding-inline: 20px; }
  .seance-rail { height: 40px; flex-basis: 40px; }
  .seance-step { padding: 5px 0 10px; gap: 14px; }
  .seance-heading .eyebrow { font-size: .6rem; margin-bottom: 10px; letter-spacing: .1em; }
  .seance-heading h1, .seance-heading h2 { font-size: 1.65rem; line-height: 1.5; }
  .seance-heading > p:last-child:not(.eyebrow) { font-size: .8rem; margin-top: 9px; }
  .doorways { grid-template-columns: 1fr; gap: 12px; }
  .doorway { display: grid; grid-template-columns: 78px 1fr; grid-template-rows: auto auto; text-align: left; gap: 5px 24px; padding: 16px 22px; border-radius: 3px; align-content: center; }
  .doorway .choice-number { display: none; }
  .doorway-art { grid-row: 1 / 3; height: min(14vh, 100px); width: 78px; min-height: 48px; margin: 0; }
  .doorway strong { font-size: 1.35rem; }
  .doorway > span:last-child { font-size: .76rem; }
  .seance-footnote { font-size: .64rem; }
  .question-space { gap: 17px; }
  .whisper-sigil { width: min(12vw, 7vh); margin-block: 8px 16px; }
  .topic-choices { gap: 9px; }
  .whisper-choice { min-height: 86px; padding: 10px 14px; gap: 5px; }
  .whisper-choice > .choice-number { display: none; }
  .whisper-choice > span:last-child { font-size: .63rem; }
  .question-field label { font-size: .8rem; margin-bottom: 8px; }
  .question-field textarea { height: 120px; min-height: 80px; font-size: 1rem; }
  .seance-bottom { gap: 8px; }
  .seance-bottom .ritual-button { padding: 12px 20px; font-size: .72rem; min-height: 46px; }
  .reading-presence { flex-direction: column; gap: 16px; margin-top: 0; }
  .reading-cards { width: 100%; flex: 0 0 auto; min-height: 64px; max-height: 100px; flex-wrap: nowrap; align-items: center; gap: 7px; }
  .reading-cards img, .reading-cards img:only-child { width: min(45px, 12%); height: auto; max-height: 96px; min-width: 0; }
  .reading-cards img:only-child { width: 54px; }
  .reading-cards:has(img:nth-child(10)) img { width: calc((100% - 63px) / 10); }
  .oracle-leaf { font-size: 1.14rem; line-height: 1.9; }
  .reading-step .seance-heading h2 { font-size: 1.42rem; }
  .turn-name { font-size: .6rem; }
  .follow-choices { margin: 0; gap: 12px; }
  .follow-choices .whisper-choice strong { font-size: 1.28rem; }
}
@media (max-height: 760px) {
  .seance-rail { height: 34px; flex-basis: 34px; }
  .seance-step { gap: 8px; }
  .seance-heading .eyebrow { display: none; }
  .seance-heading h1, .seance-heading h2 { font-size: clamp(1.5rem, 3vw, 2.6rem); }
  .seance-heading > p:last-child:not(.eyebrow) { margin-top: 5px; }
  .question-space { gap: 10px; }
  .whisper-choice { min-height: 66px; padding: 10px; }
  .whisper-choice .choice-number { display: none; }
  .question-field textarea { height: 100px; min-height: 64px; }
  .whisper-seal { width: 44px; margin-bottom: 0; }
  .whisper-sigil { margin-block: 6px 14px; }
  .reading-cards { max-height: 64px; }
  .reading-cards img, .reading-cards img:only-child { max-height: 64px; width: auto; }
  .seance-footnote { font-size: .61rem; }
}
@media (min-width: 601px) and (max-height: 760px) {
  .reading-cards:has(img:only-child) { max-height: none; }
  .reading-cards img:only-child { width: auto; max-width: 100%; max-height: min(280px, 38vh); }
}
@media (max-width: 600px) and (max-height: 760px) {
  .seance-heading h1, .seance-heading h2 { font-size: 1.35rem; line-height: 1.35; }
  .seance-heading > p:last-child:not(.eyebrow) { font-size: .72rem; }
  .doorway { padding: 10px 20px; gap: 4px 18px; }
  .doorway-art { height: 64px; }
  .doorway strong { font-size: 1.15rem; }
  .doorway > span:last-child { font-size: .69rem; }
  .topic-choices { gap: 8px; }
  .whisper-choice { min-height: 64px; }
  .question-field label { font-size: .72rem; }
  .seance-bottom { gap: 7px; }
  .seance-footnote { font-size: .59rem; }
}
@media (max-height: 500px) {
  body[data-scene="seance"] #main { overflow-y: auto; }
  .seance { min-height: 440px; }
}
@media (prefers-reduced-motion: reduce) { .seance-step, .turn-art img, .doorway, .is-dealing .seance-card, .whisper-sigil, .seance-card.turned .turn-art, .oracle-host::before, .candle::before, .host-deck i { animation: none !important; transition: none; } .seance-card:not(:disabled):not(.turned):hover .turn-art { transform: none; } }
@media (prefers-reduced-motion: reduce) { .suit-orbit svg, .orbit-card, .reading-cards img, .oracle-leaf.is-arriving { animation: none !important; } .seance-card, .reply-chip { transition: none; } }
.reading-ornament { display: flex; justify-content: center; padding: 8px 0 22px; flex-shrink: 0; }
.reading-ornament svg { width: min(280px, 65vw); height: 44px; fill: none; stroke: #b59a61; stroke-width: 1; opacity: .65; }
