/* Owner direction: centered React experience, celestial setting, concise copy, one-screen primary steps. */
:root{--canvas:#180f23;--surface:#2a1a37;--pink:#edb6d1;--muted:#c9b9d2;--text:#fff7f2}
.icon{fill:currentColor;stroke:none;stroke-width:0;flex:none}.brand-button{background:none;border:0;padding:0;color:inherit}.site-header{position:relative;z-index:5;min-height:76px;padding:20px 46px}.brand img{width:117px}.brand span{font-size:15px}.site-footer{position:relative;padding:22px 46px;font-size:11px}.site-footer button{font-size:11px}#main{min-height:calc(100svh - 147px)}
.cosmic-home{isolation:isolate;position:relative;min-height:calc(100svh - 147px);display:grid;place-items:center;padding:22px 24px 20px;overflow:clip}.celestial-backdrop{position:absolute;inset:-90px 0 0;z-index:-3;pointer-events:none}.celestial-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.82;mask-image:linear-gradient(#000 60%,transparent)}.cosmic-home:after{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,transparent,#180f2320 30%,#180f2360 50%,#180f2320 70%,transparent)}.cosmic-content{position:relative;z-index:2;max-width:650px;width:100%;text-align:center}.cosmic-content h1{font-size:clamp(42px,4.1vw,65px);font-weight:450;line-height:1.07;letter-spacing:-.035em}.cosmic-content h1 span{color:var(--pink)}.cosmic-lead{font-size:15px;color:#dfd0e3;margin-top:15px}.center-question{max-width:535px;margin:24px auto 0}.center-question .question-shell{text-align:center;background:#fffaf5f5;padding:15px 22px 1px;border-radius:23px;box-shadow:0 20px 40px #08030e35}.center-question label{font-size:12px;margin-bottom:8px}.center-question textarea{text-align:center;min-height:55px;font-size:16px;line-height:1.45}.center-question .field-error{margin-top:0;min-height:20px}.primary-start{min-width:244px;margin-top:16px;min-height:49px;background:#f0bed6;box-shadow:0 10px 25px #0d041b45}.question-meta{font-size:11px;color:var(--muted);margin-top:9px}.floating-cards{position:absolute;inset:0;z-index:-1;pointer-events:none}.floating-card{position:absolute;width:clamp(125px,12.7vw,194px);aspect-ratio:420/710;filter:drop-shadow(0 25px 28px #08011180);transform:rotate(var(--r));animation:celestial-float 9s ease-in-out infinite;animation-delay:var(--delay)}.floating-card img{width:100%;height:100%;display:block;object-fit:cover;border-radius:9px}.floating-card--0{left:7%;top:14%;--r:-17deg;--delay:-3s}.floating-card--1{left:14%;top:52%;width:clamp(100px,9vw,136px);--r:11deg;--delay:-6s;opacity:.75}.floating-card--2{right:7%;top:24%;--r:17deg;--delay:-1s}.floating-card--3{right:15%;top:61%;width:clamp(85px,8vw,120px);--r:-12deg;--delay:-4s;opacity:.7}
.theme-picker{margin-top:24px}.theme-picker>p{font-size:12px;color:#d5c4df}.theme-list{display:flex;justify-content:center;gap:22px;margin-top:12px}.theme-option{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;border:0;border-radius:14px;background:none;padding:0 7px 5px;color:#e9dce9;min-width:84px;transition:color .25s}.theme-option>span:last-child{font-size:12px;line-height:1.3}.theme-art{position:relative;width:52px;height:85px;display:block;perspective:500px}.theme-art img{position:absolute;inset:0;width:50px;height:84px;object-fit:cover;border-radius:4px;transition:transform .45s var(--ease),filter .45s var(--ease);box-shadow:0 6px 12px #08021266}.theme-art .theme-back{transform:translate(-8px,3px) rotate(-12deg)}.theme-art .theme-front{transform:rotate(7deg)}.theme-option:hover .theme-front,.theme-option[aria-pressed=true] .theme-front{transform:translateY(-6px) rotate(0);filter:brightness(1.13)}.theme-option[aria-pressed=true]>span:last-child{color:#fff;font-weight:500}.theme-option[aria-pressed=true]:after{content:'';position:absolute;bottom:-3px;width:4px;height:4px;border-radius:50%;background:var(--pink)}
.compact-workspace{min-height:calc(100svh - 147px);display:flex;flex-direction:column;padding-top:8px;padding-bottom:22px}.compact-workspace .stage-toolbar{margin-bottom:15px}.compact-workspace .stage-heading h1{font-size:clamp(29px,3vw,44px)}.compact-workspace .stage-heading>p{font-size:14px;margin-top:10px}.compact-workspace .question-caption{margin-top:12px;max-width:610px;font-size:12px}.compact-workspace .slots{margin-top:10px;min-height:135px;gap:22px}.compact-workspace .slot{width:66px}.compact-workspace .slot small{font-size:10px}.compact-workspace .selection-status{margin:12px auto 0}.compact-workspace .deck-wrap{margin-top:0}.compact-workspace .deck-scroll{min-height:198px;padding-top:24px;padding-bottom:22px}.compact-workspace .stage-actions{margin-top:12px}.compact-workspace .reveal-spread{width:100%;margin-top:25px;gap:25px}.compact-workspace .reveal-card{flex-basis:clamp(110px,14vw,168px)}.compact-workspace .reveal-card>span{font-size:11px}.compact-workspace .reveal-card strong{font-size:14px}.compact-workspace .reveal-card small{font-size:11px}.reveal-next{min-height:83px;margin:22px auto 0;text-align:center;color:var(--muted);font-size:12px}.reveal-next .button{min-height:48px}.reveal-next p{margin-top:10px}.reveal-next.ready{animation:arrive .45s var(--ease)}.reading-card .icon{fill:currentColor;stroke:none}
@keyframes celestial-float{0%,100%{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-14px) rotate(calc(var(--r) + 2deg))}}
@media(min-width:761px) and (max-height:800px){.site-header{min-height:66px;padding-block:14px}.cosmic-home{padding-top:10px;padding-bottom:12px;min-height:calc(100svh - 120px)}.cosmic-content h1{font-size:51px}.cosmic-lead{margin-top:9px;font-size:14px}.center-question{margin-top:17px}.center-question textarea{min-height:42px;font-size:15px}.center-question .question-shell{padding-top:12px}.primary-start{margin-top:12px;min-height:46px}.theme-picker{margin-top:15px}.theme-list{margin-top:10px}.theme-art{height:67px;width:41px}.theme-art img{height:67px;width:40px}.site-footer{padding-block:15px}.compact-workspace{min-height:calc(100svh - 120px)}.compact-workspace .stage-heading h1{font-size:36px}.compact-workspace .reveal-card{flex-basis:140px}.compact-workspace .deck-scroll{min-height:190px}.compact-workspace .reveal-spread{margin-top:16px}}
@media(max-width:1050px) and (min-width:761px){.floating-card--0{left:-2%;opacity:.6}.floating-card--2{right:-2%;opacity:.6}.floating-card--1{left:5%;top:66%}.floating-card--3{right:6%;top:66%}.cosmic-content{max-width:580px}}
@media(max-width:760px){.site-header{min-height:66px;padding:14px 20px}.brand img{width:101px}.brand span{font-size:13px}.quiet-button,.balance-button{min-height:40px;min-width:40px;padding:8px}nav{gap:4px}.cosmic-home{padding:26px 20px 17px;min-height:calc(100svh - 126px)}.cosmic-content{max-width:440px}.cosmic-content h1{font-size:clamp(36px,10vw,44px);line-height:1.12}.cosmic-lead{font-size:13px;margin:12px auto 0;max-width:240px}.celestial-backdrop{inset:-66px -20px 0}.celestial-backdrop img{object-position:center top;opacity:.9}.center-question{margin-top:31px}.center-question .question-shell{padding:16px 15px 2px;border-radius:21px}.center-question textarea{min-height:68px;font-size:16px}.center-question .field-error{font-size:11px}.primary-start{min-width:235px;margin-top:16px}.question-meta{margin-top:10px}.floating-card{width:87px;opacity:.65}.floating-card--0{left:-44px;top:16%;--r:-18deg}.floating-card--2{right:-45px;top:18%;--r:18deg}.floating-card--1{left:-37px;top:51%;width:67px;opacity:.3}.floating-card--3{right:-35px;top:54%;width:64px;opacity:.3}.theme-picker{margin-top:28px}.theme-list{gap:0;justify-content:space-between;margin-top:16px}.theme-option{min-width:0;width:20%;padding-inline:3px;gap:10px}.theme-art{width:39px;height:64px}.theme-art img{width:38px;height:64px;border-radius:3px}.theme-art .theme-back{transform:translate(-5px,2px) rotate(-10deg)}.theme-option>span:last-child{font-size:10px;white-space:nowrap}.site-footer{padding:20px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;font-size:10px}.site-footer button{font-size:10px;gap:6px}.site-footer .icon{width:14px;height:14px}#main{min-height:calc(100svh - 126px)}.compact-workspace{padding:8px 20px 20px;min-height:calc(100svh - 126px)}.compact-workspace .stage-heading h1{font-size:29px}.compact-workspace .stage-toolbar{margin-bottom:20px}.compact-workspace .question-caption{max-width:320px;font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.compact-workspace .slots{gap:15px;min-height:127px;margin-top:14px}.compact-workspace .slot{width:57px}.compact-workspace .slots.five{gap:11px}.compact-workspace .slots.five .slot{width:45px}.compact-workspace .slot small{font-size:9px}.compact-workspace .deck-scroll{min-height:175px}.compact-workspace .deck-card{height:127px;flex-basis:39px}.compact-workspace .deck-card img{width:75px}.compact-workspace .deck-wrap{margin-top:3px}.compact-workspace .stage-actions{gap:16px;margin-top:15px}.compact-workspace .reveal-spread{gap:12px;margin-top:25px}.compact-workspace .reveal-card{flex-basis:96px}.compact-workspace .reveal-card strong{font-size:12px;min-height:32px}.compact-workspace .reveal-card small{font-size:10px}.compact-workspace .reveal-card>span{font-size:10px;min-height:27px}.compact-workspace .reveal-spread.five{max-width:345px;gap:15px 18px;margin-top:16px}.compact-workspace .reveal-spread.five .reveal-card{flex:0 0 25%}.compact-workspace .reveal-spread.five .flip{max-width:63px}.compact-workspace .reveal-spread.five .reveal-card strong{font-size:10px;margin-top:6px;min-height:26px}.compact-workspace .reveal-spread.five .reveal-card small{display:none}.compact-workspace .reveal-spread.five .reveal-card>span{font-size:9px;min-height:24px;margin-bottom:5px}.reveal-next{margin-top:18px;min-height:78px}.reading-card{grid-template-columns:62px minmax(0,1fr);gap:15px}.reading-card img{width:62px}.reading-card p{font-size:15px}.reading-card .advice{font-size:13px}.waiting{min-height:calc(100svh - 126px)}.result{padding-inline:20px}}
@media(max-width:760px) and (max-height:750px){.cosmic-home{padding-top:15px;padding-bottom:10px}.cosmic-content h1{font-size:36px}.cosmic-lead{margin-top:9px}.center-question{margin-top:20px}.center-question .question-shell{padding-top:11px}.center-question textarea{min-height:50px}.primary-start{margin-top:12px;min-height:45px}.theme-picker{margin-top:17px}.theme-list{margin-top:12px}.theme-art{height:54px;width:32px}.theme-art img{height:54px;width:32px}.compact-workspace .stage-toolbar{margin-bottom:12px}.compact-workspace .stage-heading h1{font-size:27px}.compact-workspace .reveal-spread{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.floating-card{animation:none}.theme-art img{transition:none}.reveal-next.ready{animation:none}}

/* Programmatic heading focus announces the new step without a decorative outline. */
#main h1[tabindex="-1"]:focus{outline:none}

.compact-result{max-width:1050px;padding:8px 40px 22px;min-height:calc(100svh - 147px)}
.compact-result .stage-toolbar{margin-bottom:14px}.compact-result .result-heading h1{font-size:36px}.compact-result .question-caption{margin-top:12px;font-size:13px}
.reading-switcher{display:flex;align-items:stretch;justify-content:center;gap:9px;margin:22px auto 16px;max-width:850px}
.reading-tab{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:7px 16px;border:1px solid #ad88ac50;border-radius:14px;background:transparent;color:var(--muted);font:400 12px/1.35 var(--ui-font,Rubik),Arial,sans-serif;transition:background .2s,color .2s}.reading-tab img{width:24px;height:40px;object-fit:cover;border-radius:2px}.reading-tab[aria-pressed=true]{color:var(--text);background:#50334f;border-color:#a987a6}.reading-tab .icon{width:24px;height:24px}
.reading-panel{max-width:850px;max-height:calc(100svh - 355px);min-height:250px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a383a6 transparent;margin:auto;padding:26px 30px;border-radius:22px;background:#281a33;color:#e8dce9}.reading-panel:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.reading-panel h2{font-size:25px;color:var(--text);font-weight:450;margin-bottom:15px}.reading-panel p{font-size:15px;line-height:1.75;margin-top:14px}.reading-panel details{margin-top:22px;font-size:13px;color:var(--pink)}.reading-panel summary{cursor:pointer;min-height:36px}.reading-panel .reading-action{padding:16px 20px;background:#36233f;border-radius:14px;color:#edc5dc}.reading-action strong{display:block;font-size:12px;letter-spacing:.015em;font-weight:500;margin-bottom:5px}.reading-detail{display:grid;grid-template-columns:115px minmax(0,1fr);gap:24px;animation:arrive .3s var(--ease)}.reading-detail>img{width:115px;height:auto;border-radius:7px}.reading-detail .position{font-size:12px;color:var(--pink);margin-top:0;margin-bottom:9px}.compact-result .result-note{margin-top:16px;font-size:10px}
@media(max-width:760px){.compact-result{padding:8px 20px 18px;min-height:calc(100svh - 126px)}.compact-result .result-heading h1{font-size:29px}.compact-result .question-caption{font-size:11px;max-width:320px}.reading-switcher{gap:6px;margin-top:20px;flex-wrap:wrap}.reading-tab{font-size:10px;gap:5px;padding:7px 9px;min-height:49px;flex:1 0 20%;max-width:calc(50% - 4px)}.reading-tab span{max-width:70px}.reading-tab img{width:19px;height:32px}.reading-tab .icon{width:19px}.reading-panel{max-height:calc(100svh - 385px);min-height:270px;padding:20px 18px;border-radius:18px}.reading-panel h2{font-size:22px}.reading-panel p{font-size:14px;line-height:1.7}.reading-detail{grid-template-columns:55px minmax(0,1fr);gap:13px}.reading-detail>img{width:55px;border-radius:4px}.reading-detail .position{font-size:10px}.reading-panel .reading-action{padding:13px 15px}.reading-panel .reading-detail p{font-size:13px}.compact-result .result-note{max-width:280px;line-height:1.5;margin-top:12px}}

/* Final review: readable field hint and full-width mobile interpretation. */
.center-question textarea::placeholder{color:#75606c;opacity:1}
.reading-detail{display:block}.reading-card-title{display:flex;align-items:center;gap:22px}.reading-card-title>img{width:74px;height:auto;border-radius:5px}.reading-card-title h2{margin-bottom:0}.reading-detail .reading-body{margin-top:20px}
@media(max-width:760px){.reading-card-title{gap:14px}.reading-card-title>img{width:48px}.reading-card-title h2{font-size:22px}.reading-panel .reading-detail p{font-size:14px}.reading-panel .reading-detail .position{font-size:11px}.reading-detail .reading-body{margin-top:18px}}

/* One continuous celestial scene across every step. */
#root{isolation:isolate;min-height:100svh}
.celestial-backdrop{position:fixed;inset:0;z-index:-2;overflow:hidden}
.celestial-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.84;mask-image:none}
.celestial-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100b1824,#130c20a8 34%,#130c20a8 66%,#100b1824),linear-gradient(0deg,#180f23e8,transparent 35%)}
.site-header,.site-footer{background:transparent}
.cosmic-home{isolation:auto;overflow:clip}
.cosmic-home:after{display:none}
.cosmic-content{max-width:740px}
.cosmic-content h1{font-size:clamp(39px,3.6vw,59px);line-height:1.14}
.center-question .question-shell{background:#191120e8;border:1px solid #a98aaa88;color:var(--text);box-shadow:none;transition:border-color .22s,background .22s}
.center-question .question-shell:focus-within{border-color:#f0bed6;background:#211529f5;box-shadow:none}
.center-question .question-shell.invalid{border-color:#ffc0b6;box-shadow:none}
.center-question label{color:#edcfe2;font-weight:400}
.center-question textarea{color:#fff7f2;caret-color:#f0bed6}
.center-question textarea::placeholder{color:#cbb7ca;opacity:1}
.center-question textarea:focus-visible{outline:0;box-shadow:none;border:0}
.center-question .field-error{color:#ffd0c9}
.button{transition:background .22s,color .22s,box-shadow .22s;transform:none}
.button:hover,.button:active,.button:disabled,.flip:not(.open):hover{transform:none}
.button:hover{box-shadow:0 8px 24px #07031140}
.button:active{background:#dfa6c2;box-shadow:none}
.primary-start .icon{width:24px;height:24px}
.quiet-button,.balance-button{background:transparent}
.theme-art img{transition:transform .4s cubic-bezier(.22,1,.36,1),filter .3s}
.theme-option:hover .theme-front,.theme-option[aria-pressed=true] .theme-front{transform:rotate(-3deg);filter:brightness(1.15)}
.theme-option[aria-pressed=true] .theme-back{transform:translate(-10px,3px) rotate(-19deg)}
.theme-option:active .theme-front{transform:rotate(-3deg) scale(.94)}
.theme-option[aria-pressed=true] .theme-art{animation:theme-select .45s cubic-bezier(.22,1,.36,1)}
@keyframes theme-select{0%{filter:brightness(1)}45%{filter:brightness(1.35)}100%{filter:brightness(1)}}
.choose-workspace .stage-toolbar{margin-bottom:8px}
.choose-workspace .stage-heading>p{margin-top:8px}
.choose-workspace .question-caption{margin-top:8px}
.choose-workspace .selection-status{margin-top:8px}
.choose-workspace .slots{min-height:101px;margin-top:8px;gap:22px}
.choose-workspace .slot{width:48px}
.choose-workspace .slot small{font-size:9px;margin-top:6px;min-width:78px;position:relative;left:50%;transform:translateX(-50%)}
.choose-workspace .slots.five{gap:29px}
.slot-image{background:#1b12247a;border-color:#b69bb570}
.slot-image.filled{animation:card-selected .36s cubic-bezier(.22,1,.36,1)}
@keyframes card-selected{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.card-table{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:14px 18px;width:min(100%,740px);margin:16px auto 0;padding:6px 9px}
.table-card{position:relative;display:block;justify-self:center;width:100%;max-width:64px;aspect-ratio:420/710;border:0;padding:0;border-radius:6px;background:transparent;transform:rotate(calc(var(--tilt)*1deg));transition:opacity .3s,filter .25s;touch-action:manipulation;isolation:isolate}
.table-card img{display:block;width:100%;height:100%;border-radius:inherit;box-shadow:0 8px 16px #08030e50;pointer-events:none;transition:filter .2s,box-shadow .2s}
.table-card:hover:not(:disabled) img,.table-card:focus-visible img{filter:brightness(1.23);box-shadow:0 12px 22px #08030e70}
.table-card:focus-visible{outline:2px solid #f0bed6;outline-offset:4px;z-index:2}
.table-card:active:not(:disabled) img{filter:brightness(.9)}
.table-card.chosen{opacity:.2;pointer-events:none}
.table-card:disabled:not(.chosen){cursor:default}
.choose-workspace .stage-actions{margin-top:18px}
.shuffle-button{min-width:144px}
.shuffle-button:disabled{opacity:.6}
.info-dialog{background:#23172df7;border:1px solid #ac83a85c;color:var(--text);color-scheme:dark;box-shadow:0 30px 90px #05020e85;scrollbar-color:#99708e transparent}
.info-dialog::backdrop{background:#090611b8;backdrop-filter:blur(5px)}
.info-dialog h2{font-weight:450}
.info-dialog p{color:#d5c4da}
.dialog-close{background:transparent;color:#efc5df}
.dialog-close:hover{background:#ffffff0d}
.history-item{background:#ffffff08;color:var(--text);transition:background .2s}
.history-item:hover{background:#ffffff12}
.history-item small{color:#c9b6ce}
.history-item img{width:38px;height:64px;object-fit:cover;flex:none}
.dialog-links{color:#f0bed6;row-gap:18px}
.info-dialog .button{margin-top:20px}
.reading-panel{background:#211629eb}
.reading-tab[aria-pressed=true]{background:#4b3049e8}
.tarot-checkout-intro h1{font-weight:450;line-height:1.13;font-size:clamp(36px,3.7vw,52px)}
.tarot-checkout-intro>p{font-size:15px;line-height:1.55;max-width:320px;color:#e2d0e3}
.tarot-checkout-art .ritual-image{opacity:.65;mask-image:radial-gradient(ellipse,#000 20%,transparent 69%)}
@media(min-width:761px) and (max-height:800px){
  .cosmic-content h1{font-size:45px}
  .choose-workspace .stage-heading h1{font-size:32px}
  .choose-workspace .stage-heading>p{font-size:13px}
  .card-table{margin-top:12px;gap:12px 18px;width:min(100%,720px)}
  .table-card{max-width:59px}
  .choose-workspace .stage-actions{margin-top:12px}
}
@media(max-width:760px){
  .celestial-backdrop{inset:0}
  .celestial-backdrop img{object-position:center top}
  .celestial-backdrop:after{background:linear-gradient(#160e2225,#160e22a8 42%,#180f23e6)}
  .cosmic-content h1{font-size:clamp(27px,7.7vw,38px);line-height:1.17;letter-spacing:-.03em}
  .center-question .question-shell{padding-inline:15px}
  .compact-workspace .stage-heading h1{font-size:28px}
  .choose-workspace .stage-toolbar{margin-bottom:12px}
  .choose-workspace .stage-heading>p{font-size:12px}
  .choose-workspace .slots{min-height:98px;gap:27px;margin-top:9px}
  .choose-workspace .slot{width:43px}
  .choose-workspace .slots.five{gap:15px;min-height:94px}
  .choose-workspace .slots.five .slot{width:38px}
  .choose-workspace .slots.five .slot small{min-width:48px;font-size:8px}
  .card-table{grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:12px 9px;padding:5px 0;margin-top:14px}
  .table-card{max-width:48px;border-radius:4px;min-height:64px}
  .choose-workspace .stage-actions{gap:10px;margin-top:18px}
  .choose-workspace .stage-actions .button{font-size:12px;padding:11px 15px;min-height:46px}
  .shuffle-button{min-width:120px;min-height:44px;font-size:12px}
  .info-dialog{padding:30px 24px;border-radius:24px}
  .tarot-checkout-intro h1{font-size:30px}
  .tarot-checkout-intro>p{font-size:13px;max-width:285px}
}
@media(max-width:360px){
  .card-table{column-gap:3px}
  .choose-workspace .stage-actions{gap:8px;width:100%}
  .choose-workspace .stage-actions .button{white-space:nowrap;gap:7px;padding-inline:12px;font-size:11px}
  .shuffle-button{min-width:108px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .theme-option[aria-pressed=true] .theme-art,.slot-image.filled{animation:none}
  .table-card,.table-card img{transition:opacity .1s,filter .1s}
}
