[hidden]{display:none!important}
.opening{max-width:540px;margin:65px auto 100px;padding:0 25px}.opening h1{font-size:clamp(45px,7vw,72px);margin:18px 0}.invitation{font-size:23px;line-height:1.4;color:var(--muted);margin-bottom:42px}.opening label{display:block;font-size:18px;margin-bottom:15px}.opening textarea{width:100%;box-sizing:border-box;resize:vertical;background:#110e1c88;border:0;border-bottom:1px solid #8f7582;padding:15px 12px;color:var(--ink);border-radius:0}.opening .next{margin-top:22px}.privacy-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:35px}.choosing{max-width:1100px;margin:30px auto 65px;text-align:center;padding:0 22px}.choosing h2{font:400 clamp(28px,4vw,40px)/1.2 Oracle,monospace;margin:14px 0}.choosing>p{color:var(--muted);font-size:17px}.fan{display:flex;overflow-x:auto;padding:35px 20px 25px;min-height:200px;scrollbar-color:#806674 #211b2d;scrollbar-width:thin;overscroll-behavior-x:contain;margin-top:25px}.fan-card{flex:0 0 80px;height:150px;margin-right:-30px;background:#28212e;border:2px solid #938460;outline:1px solid #7a7852;outline-offset:-7px;box-shadow:4px 7px 8px #0008;color:#ad9f70;position:relative;cursor:pointer;transform:rotate(var(--tilt));transition:transform .2s,opacity .2s}.fan-card svg{width:56px;fill:none;stroke:currentColor;stroke-width:1.1;pointer-events:none}.fan-card:hover,.fan-card:focus-visible{transform:translateY(-18px);z-index:2}.fan-card:disabled{opacity:.14;transform:translateY(15px);cursor:default}.fan-hint{font-size:13px!important}.chosen-trail{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:30px auto}.chosen-mark{font-size:14px;color:#786779}.chosen-mark.picked{color:var(--accent)}.choosing .text-button{padding:15px}.request-status{font-size:15px;line-height:1.5;color:var(--muted)}.request-status:empty{display:none}.reader .synthesis-title{font-size:32px}.action-label{font-size:12px;letter-spacing:1px;color:var(--accent);margin-top:22px}.card[aria-disabled="true"]{cursor:default}.card[aria-disabled="true"]:hover .card-inner{transform:rotateY(180deg)}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.text-button{min-height:44px}.next{min-height:44px}.card-name{overflow-wrap:normal}.request-status a{color:var(--accent)}
@media(max-width:700px){.opening{margin:48px auto 65px}.invitation{margin-bottom:34px}.fan{margin-left:-12px;margin-right:-12px;padding-left:14px}.fan-card{flex-basis:76px;min-width:76px}.choosing{padding:0 22px}.chosen-trail{gap:10px}.card{min-width:44px;min-height:60px}.reader{margin:auto}.question h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* A revealed card comes forward, clear of the crossing card. */
.card-spotlight{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:radial-gradient(ellipse,#100e1df2 20%,#100e1dcc 55%,#100e1d00 78%)}
.spotlight-card{width:clamp(150px,24vw,235px);aspect-ratio:2/3;box-shadow:0 15px 55px #000a;transform-origin:center}
.spotlight-face{height:100%;display:flex;flex-direction:column;padding:10px;background:#cfbf98;color:#272d23;border:2px solid #706d4d}
.spotlight-face .art{filter:sepia(.12) saturate(.8);flex:1;min-height:0}.spotlight-face .roman{font:16px Oracle,monospace;padding-bottom:8px}.spotlight-face .card-name{font:16px Oracle,monospace;padding-top:9px;white-space:normal}
.card-spotlight .text-button{color:var(--ink);background:#171221aa;padding:8px 14px}.position-explanation{font-size:16px;line-height:1.55;color:var(--muted);margin:18px 0}.card-themes{font-size:15px;line-height:1.5;color:var(--ink);margin:12px 0}.inspect-card{color:var(--accent);font-size:13px}.sound-controls{flex-wrap:wrap;gap:20px}footer{flex-wrap:wrap}.reader #interpretation{min-height:295px}
@media(max-width:700px){.spotlight-card{width:145px}.card-spotlight{gap:8px}.spotlight-face .card-name{font-size:12px}.sound-controls{gap:14px}.position-explanation{font-size:15px}.reader .voice{margin-bottom:20px}}

/* The whole shuffled deck is dealt in rows; every card stays in view. */
.choosing{max-width:1000px;margin:12px auto 22px;padding:0 24px}
.choosing h2{margin:8px 0;font-size:clamp(24px,3vw,36px)}
.choosing>p{margin:8px 0;font-size:15px}
.fan{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:9px 12px;height:clamp(220px,48svh,430px);min-height:0;overflow:visible;padding:12px 4px;margin:14px auto 10px;max-width:850px}
.fan-card{width:100%;min-width:0;height:100%;margin:0;padding:0;display:grid;place-items:center;border-width:1px;outline-offset:-4px;box-shadow:2px 3px 4px #0006;transform:none;background-image:repeating-linear-gradient(45deg,transparent 0 4px,#c0a86e09 4px 5px)}
.fan-card svg{width:65%;height:80%}
.fan-card:hover:not(:disabled),.fan-card:focus-visible{transform:translateY(-4px);background-color:#443349;z-index:2}
.fan-card:disabled{opacity:.2;transform:none;box-shadow:none}
.chosen-trail{margin:12px auto 4px;gap:6px 14px;max-width:700px}
.chosen-mark{font-size:12px}.choosing .text-button{padding:4px 10px}
header .music-control{margin-left:auto;color:var(--accent);white-space:nowrap;font-size:14px}
header .music-control[aria-pressed=true]{color:var(--ink)}
body[data-stage=choosing] footer{margin-top:0;padding-top:4px}
@media(max-width:700px){
 .choosing{padding:0 16px;margin-top:8px;margin-bottom:8px}
 .fan{grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));gap:6px;height:clamp(240px,46svh,390px);margin:12px 0 8px;padding:4px 0}
 .fan-card{min-width:0;border-color:#9a8767;outline-offset:-3px}
 .chosen-trail{gap:4px 10px;margin-top:10px}.chosen-mark{font-size:11px}
 header .music-control{font-size:13px}body[data-stage=choosing] footer>span{display:none}
}
@media(max-height:650px) and (min-width:701px){.fan{height:38svh}.chosen-trail{margin-top:4px}.choosing{margin-top:0}.choosing h2{font-size:24px}}

@media(max-width:360px){.fan{column-gap:5px}}
/* A card has the room to speak before it returns to the table. */
.card-inner{transition:transform 1.3s cubic-bezier(.2,.7,.3,1)}
.fan-card{transition:transform .55s,opacity .8s,background-color .55s}
.card-open{overflow:hidden}
dialog.card-spotlight{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:32px 24px;border:0;outline:none;z-index:30;display:block;background:transparent;overflow-y:auto;box-shadow:none}
dialog.card-spotlight:not([open]){display:none}
.card-spotlight::backdrop{background:transparent}
.spotlight-content{width:min(540px,100%);margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.spotlight-card{width:min(260px,32vh);flex-shrink:0;aspect-ratio:2/3;box-shadow:0 20px 90px #0009}
.spotlight-face{height:100%;text-shadow:none}.spotlight-face .art{display:block}
#spotlight-description{width:100%}#spotlight-heading h2{font:400 32px/1.15 Oracle,monospace;margin:10px 0 20px}#spotlight-description .copy{font:18px/1.55 Oracle,monospace;text-align:left;margin:0 0 16px}#spotlight-description .reflection{font:16px/1.5 Oracle,monospace;text-align:left;margin:0;color:var(--accent)}
.spotlight-content .next{align-self:center;text-align:center;font-size:17px;justify-content:center}.spotlight-hint{font:10px Oracle,monospace;color:var(--muted);letter-spacing:1px;margin:0 0 12px}
.returning-card{position:fixed;z-index:100;pointer-events:none;transform-origin:center;box-shadow:0 15px 55px #000a}
@media(max-width:700px){dialog.card-spotlight{padding:24px 22px}.spotlight-content{gap:16px}.spotlight-card{width:min(220px,29vh)}#spotlight-heading h2{font-size:28px;margin-bottom:14px}#spotlight-description .copy{font-size:17px}.spotlight-content .next{font-size:16px}}

/* The reading stays on the same Astral surface, with the table out of view. */
.ritual-focus>header,.ritual-focus>main,.ritual-focus>footer{visibility:hidden}
#spotlight-heading{width:100%}#spotlight-heading .position{margin:0 0 10px}#spotlight-heading h2{margin:0}
.position-story{font:17px/1.5 Oracle,monospace;color:var(--accent);margin:0 0 20px;text-align:left}
.begin-reading{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink)}
.begin-reading::backdrop{background:transparent}
.begin-reveal{width:100%;height:100%;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;text-align:center;padding:30px;cursor:pointer;font-family:Oracle,monospace}
.begin-reveal:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--accent)}
#begin-title{font-size:clamp(42px,7vw,72px);line-height:1.15}.begin-instruction{font-size:clamp(19px,3vw,27px);line-height:1.5;color:var(--accent)}.begin-note{font-size:17px;color:var(--muted);margin-top:-20px}

/* Small table controls, kept on the existing Astral surface. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.locale-control{margin-left:auto}.locale-control select{font:14px Oracle,monospace;background:var(--bg,#211b2b);color:var(--ink);border:0;border-bottom:1px solid var(--muted);border-radius:0;padding:6px 3px;max-width:100px}.locale-control select:disabled{opacity:.6}
.example-questions{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 20px}.example-questions .example-question{font-size:15px;line-height:1.4;text-align:left;color:var(--muted);padding:2px 0;border-bottom:1px dotted #bba99360}.example-question:hover{color:var(--accent)}
.quick-control{display:inline-flex;align-items:center;gap:6px;font:14px Oracle,monospace;color:var(--muted);cursor:pointer}.quick-control input{accent-color:var(--accent)}.quick-control span{opacity:.7}
.sound-controls{flex-wrap:wrap}.quick-reveals .card-inner,.quick-reveals .fan-card{transition-duration:.08s}.quick-reveals main{scroll-behavior:auto}
#guidance-offer{margin-top:28px;padding-top:22px;border-top:1px solid #bba99340}#guidance-offer h2{font:28px/1.15 Oracle,monospace;margin:12px 0}#guidance-offer>p:not(.eyebrow){font:18px/1.5 Oracle,monospace}#guidance-offer .privacy-note{font-size:14px!important;color:var(--muted)}#guidance-offer .text-button{display:block;margin-top:14px}
html[lang=el] .eyebrow,html[lang=el] .position{font-size:12px;line-height:1.5}html[lang=el] .card-name{font-size:10px}html[lang=el] .spotlight-face .card-name{font-size:16px}html[lang=el] .roman{font-size:10px}
@media(max-width:700px){header{gap:10px}.locale-control select{max-width:85px;font-size:12px}header .music-control{font-size:12px}.example-questions{gap:8px 14px}.example-questions .example-question{font-size:14px}.quick-control{font-size:12px}html[lang=el] header .brand{font-size:13px}html[lang=el] header .brand svg{width:24px}html[lang=el] .chosen-mark{font-size:9px}html[lang=el] #spotlight-description .copy{font-size:15px}html[lang=el] .position-story{font-size:15px}}

.draw-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 24px}.choosing .random-draw{color:var(--accent);border-bottom:1px solid #bba99360}.explanation-label{font:12px/1.4 Oracle,monospace;letter-spacing:1px;color:var(--muted);margin:24px 0 8px;text-align:left}.card-definition{font:18px/1.55 Oracle,monospace;text-align:left;margin:0 0 18px;color:var(--ink)}#spotlight-description .explanation-label:first-child{margin-top:0}@media(max-width:700px){.card-definition{font-size:17px}.draw-actions{gap:0 14px}.choosing .random-draw{font-size:14px}}

/* Keep card meanings in the spotlight; offer the reading after the last placement. */
body[data-stage="reading"] .reading-layout{grid-template-columns:minmax(0,830px);justify-content:center;gap:12px}
body[data-stage="reading"] .reader{text-align:center;max-width:500px;justify-self:center;width:100%;padding-top:0}
body[data-stage="reading"] .reader .next{justify-content:center}
dialog#guidance-offer{margin:auto;padding:clamp(24px,5vw,44px);width:min(520px,calc(100% - 36px));max-height:calc(100dvh - 40px);box-sizing:border-box;border:1px solid #bba99355;background:#211b2b;color:var(--ink);box-shadow:0 24px 100px #0008}
dialog#guidance-offer::backdrop{background:#100c19aa;backdrop-filter:blur(5px)}
#guidance-offer .request-status:empty{display:none}#guidance-offer .next{margin-top:18px}
#spotlight-heading h2 .position{font:inherit;letter-spacing:0;text-transform:none;color:var(--accent);margin:0}

.card .card-face{transition:box-shadow .45s ease}
.card.waiting-glow .card-front{box-shadow:0 0 18px 7px #e6aa5866,0 0 50px 16px #c37a3033}
#waiting-patience{color:var(--muted)}
@media(prefers-reduced-motion:reduce){.card .card-face{transition:none}.card.waiting-glow .card-front{box-shadow:0 0 12px 3px #e6aa5838}}
.save-reading{margin-top:2rem;border-top:1px solid #b6a47c55;padding-top:1rem}.save-reading label{display:flex;gap:.65rem;align-items:center;margin-bottom:1rem;font-size:1rem}.save-reading input{accent-color:#c5a46b}.save-status{font-size:.95rem}
