@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Noto+Serif+SC:wght@400;500;600&display=swap');
:root { color-scheme:dark; --ink:#101112; --panel:#151617; --gold:#c4a477; --gold-light:#e2cda6; --muted:#a49d90; --text:#e9e3d8; --line:#b49b6b35; --serif:'Cormorant Garamond','Noto Serif SC',SimSun,serif; --body:system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif; }
* {box-sizing:border-box} [hidden] {display:none!important} body {margin:0;background:var(--ink);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.6;} body:before {content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 62% 42%,#7360450a,transparent 65%);z-index:-1} button,a,textarea { -webkit-tap-highlight-color:transparent } button {font:inherit;cursor:pointer} button:disabled {cursor:not-allowed;opacity:.4} button:focus-visible,a:focus-visible,textarea:focus-visible {outline:2px solid var(--gold-light);outline-offset:5px} a {color:inherit} .topbar {max-width:1560px;margin:auto;padding:28px 44px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)} .brand {display:flex;align-items:center;gap:13px;text-decoration:none;font-family:var(--serif);font-size:25px;letter-spacing:4px;line-height:1.1} .brand i {font-weight:400} .brand-mark {font-size:48px;color:var(--gold);font-weight:400;line-height:1} .brand small {display:block;font-family:var(--body);font-size:12px;letter-spacing:7px;color:var(--muted);margin-top:9px} .header-actions {display:flex;gap:28px;align-items:center} .text-button,.icon-button {background:none;border:0;color:var(--muted);font-size:14px;padding:8px 0} .text-button:hover,.icon-button:hover {color:var(--gold-light)} .icon-button {display:flex;gap:8px;align-items:center} .icon-button>span:first-child {font-family:serif;font-size:25px} main {max-width:1560px;margin:auto;padding:32px 44px 0} .atelier {display:grid;grid-template-columns:270px minmax(0,1fr);gap:52px;align-items:start} .intention {padding-top:24px} .eyebrow {font-family:var(--body);font-size:12px;letter-spacing:2.4px;color:var(--gold);margin:0 0 22px} h1,h2 {font-family:var(--serif);font-weight:400;line-height:1.6;margin:0;letter-spacing:.03em} h1 {font-size:34px;margin-bottom:23px} .intro {color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 33px} .intention label {display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:12px} .intention label>span {color:#999286;font-size:12px} textarea {resize:vertical;width:100%;min-height:112px;max-height:200px;background:#ffffff02;border:1px solid var(--line);border-radius:2px;font:14px/1.8 var(--body);color:var(--text);padding:15px} textarea::placeholder {color:#8e877c} .gold-button {margin-top:23px;display:flex;justify-content:center;align-items:center;gap:10px;min-height:49px;width:100%;border:1px solid #c4a47780;background:linear-gradient(110deg,#c4a477,#e6d3ab 48%,#ba985f);color:#201c15;border-radius:2px;font-size:14px;font-weight:600;box-shadow:0 0 30px #b4925210} .gold-button svg {width:21px;height:21px} .gold-button:hover {filter:brightness(1.1)} .privacy {font-size:12px;line-height:1.8;color:#999286;margin:11px 0} .camera-status {font-size:13px;color:var(--gold-light);margin:10px 0;overflow-wrap:anywhere} .camera-panel {position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:3px;margin-top:18px;background:#060708} .camera-panel video,.camera-panel canvas {width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1);object-fit:cover} .camera-tag {position:absolute;bottom:8px;right:8px;background:#101112d9;padding:2px 8px;border-radius:2px;color:var(--muted);font-size:12px} .deck-note {display:flex;gap:12px;margin-top:48px;align-items:center} .small-star {font-size:24px;color:var(--gold)} .deck-note p {font-size:12px;letter-spacing:1.6px;color:var(--gold);line-height:2;margin:0} .deck-note p>span {letter-spacing:.5px;color:var(--muted)} .table {height:628px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,#28241d3a,transparent 69%);overflow:hidden;border:1px solid var(--line);border-radius:190px 190px 5px 5px} .table-head {display:flex;align-items:center;justify-content:space-between;margin:28px 40px 0;position:relative;z-index:1;color:var(--gold);font-size:12px;letter-spacing:2px} #selection-count {font-family:var(--serif);font-size:22px;letter-spacing:3px} .table-orbit {border:1px solid #b49b6b16;width:520px;height:520px;border-radius:50%;position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:-1} .table-orbit:before,.table-orbit:after {content:'';position:absolute;border:1px solid #b49b6b15;inset:23px;border-radius:50%} .table-orbit:after {inset:60px;border-style:dashed} .orbit-star {position:absolute;left:50%;top:8px;font-size:30px;transform:translateX(-50%);color:#c4a4778a} .spread {position:relative;z-index:2;display:flex;justify-content:center;gap:32px;padding-top:30px} .spread-slot {width:143px;text-align:center} .empty-card {height:226px;border:1px solid #b49b6b48;border-radius:5px;background:#15161740;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:inset 0 0 0 7px #10111250;gap:8px} .empty-card span {font-family:var(--serif);font-size:38px;font-weight:400;color:#c4a47765} .empty-card small {font-size:12px;letter-spacing:2px;color:#aba28b6b} .spread-slot>p {font-size:13px;color:var(--muted);margin:11px 0 0;letter-spacing:1px} .ritual-instruction {position:relative;z-index:2;text-align:center;color:var(--gold-light);font-size:14px;margin:24px 10px 0} .fan {position:absolute;inset:auto 0 81px;height:174px;z-index:3} .fan-card {position:absolute;left:50%;bottom:0;width:var(--card-w,114px);height:var(--card-h,183px);margin-left:calc(var(--card-w,114px)/-2);padding:0;border:1px solid #b7965969;border-radius:5px;background:linear-gradient(145deg,#27231e,#111315 50%,#24211c);box-shadow:2px 4px 9px #0009,inset 0 0 0 4px #141413,inset 0 0 0 5px #b49b6b30;transform:translate(var(--x),var(--y)) rotate(var(--r));transform-origin:50% 130%;transition:transform .35s ease,opacity .35s ease,filter .2s;overflow:hidden;color:var(--gold)} .card-back-pattern {position:absolute;inset:10px;border:1px solid #b49b6b5c;border-radius:40% 40% 3px 3px;display:grid;place-items:center;background:radial-gradient(ellipse,#c4a47709,transparent 60%);pointer-events:none} .card-back-pattern:before {content:'✧';font-family:var(--serif);font-size:48px;font-weight:400;border:1px solid #b49b6b65;border-radius:50%;width:70px;height:105px;display:grid;place-items:center;color:var(--gold)} .fan-card:hover,.fan-card:focus-visible,.fan-card.gesture-hover {z-index:50!important;transform:translate(var(--x),calc(var(--y) - 30px)) rotate(var(--r));filter:brightness(1.22);border-color:var(--gold-light)} .fan-card.is-chosen {opacity:0;pointer-events:none;transform:translate(var(--x),-90px) rotate(var(--r));visibility:hidden} .table-bottom {position:absolute;bottom:20px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:4} .table-bottom>span {font-size:11px;letter-spacing:1.7px;color:#a49d9080} .reveal-button {background:#c4a47712;border:1px solid #c4a47766;color:var(--gold-light);font-size:14px;padding:9px 17px;border-radius:2px} .reveal-button:not(:disabled):hover {background:#c4a47722} .reveal-button span {margin-left:8px} footer {max-width:1560px;margin:30px auto 0;padding:20px 44px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--line);color:#999286;font-size:12px} footer>span {letter-spacing:2px;white-space:nowrap;font-family:var(--serif)} footer>p {margin:0;font-size:12px} footer button {font-size:12px;white-space:nowrap} dialog {background:#171819;color:var(--text);border:1px solid var(--line);border-radius:4px;width:min(90vw,540px);padding:38px;max-height:85vh;line-height:1.9;box-shadow:0 30px 100px #000b} dialog::backdrop {background:#000b;backdrop-filter:blur(7px)} dialog h2 {font-size:29px;margin-bottom:22px} dialog p,dialog li {font-size:15px;color:var(--muted)} dialog li {margin:12px 0} dialog a {color:var(--gold-light)} .dialog-close {position:absolute;top:10px;right:18px;border:0;background:none;color:var(--muted);font-size:27px} .gesture-cursor {position:absolute;width:37px;height:37px;border-radius:50%;border:1px solid var(--gold-light);box-shadow:0 0 20px #c4a47735;pointer-events:none;z-index:100;transform:translate(-50%,-50%);display:grid;place-items:center} .gesture-cursor span {width:5px;height:5px;background:var(--gold-light);border-radius:50%} .gesture-cursor.is-pinching {background:#c4a47733;border-width:3px} .reading {padding:50px 0 20px;border-top:1px solid var(--line);margin-top:35px} .reading-heading {display:flex;align-items:center;justify-content:space-between;gap:15px} .reading-heading .eyebrow {margin-bottom:8px} .reading h2 {font-size:30px} .reading-disclosure {color:var(--muted);font-size:13px;margin-top:10px} .reading-question {border-left:1px solid var(--gold);padding-left:16px;color:var(--gold-light);overflow-wrap:anywhere} .reading-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:35px} .reading-card {border-top:1px solid var(--line);padding-top:22px} .reading-card h3 {font-family:var(--serif);font-size:24px;font-weight:400;margin:4px 0 13px} .reading-card p {color:var(--muted);font-size:15px;line-height:1.9} .reading-card .reflection {color:var(--gold-light);font-size:14px;margin-top:20px} .position-label {font-size:12px;color:var(--gold);letter-spacing:2px} .card-front {width:100%;height:226px;border:1px solid #c4a47799;position:relative;border-radius:5px;overflow:hidden;background:#0d0e10;box-shadow:3px 8px 25px #0008,inset 0 0 0 5px #161719} .card-front:after {content:'';position:absolute;inset:5px;border:1px solid #c4a47766;border-radius:2px;pointer-events:none} .card-art {position:absolute;inset:0;background-size:400% 300%;background-repeat:no-repeat} .card-title {position:absolute;bottom:11px;left:8px;right:8px;font-family:var(--serif);font-size:13px;color:var(--gold-light);letter-spacing:1.5px;text-align:center;line-height:1.1;padding-top:23px;background:linear-gradient(transparent,#0d0e10 60%)} .card-title small {display:block;font-family:var(--body);font-size:11px;letter-spacing:1px;margin-top:5px;color:#d1c5af} .card-numeral {position:absolute;top:10px;left:0;right:0;color:var(--gold-light);font-family:var(--serif);font-size:14px;letter-spacing:1px;text-align:center;text-shadow:0 1px 3px #000} .chosen-back {height:226px;width:100%;border:1px solid var(--gold);border-radius:5px;position:relative;background:#151617;box-shadow:0 8px 26px #0008;animation:arrive .5s ease-out} .chosen-back .card-back-pattern {inset:9px} .reveal-animation {animation:reveal .7s ease-out} @keyframes arrive {from{opacity:0;transform:translateY(24px) rotate(5deg)}to{opacity:1;transform:translateY(0)}} @keyframes reveal {from{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}
@media(min-width:1500px){.atelier{grid-template-columns:300px minmax(0,1fr);gap:75px}.intention{padding-top:38px}h1{font-size:39px}.table{height:670px}.spread{padding-top:40px;gap:42px}.spread-slot{width:158px}.empty-card,.chosen-back,.card-front{height:250px}.fan{bottom:85px;height:190px}}
@media(max-width:1100px){.topbar{padding:24px 28px}main{padding:26px 28px 0}.atelier{grid-template-columns:230px minmax(0,1fr);gap:24px}h1{font-size:29px}.table{border-radius:125px 125px 5px 5px;height:596px}.table-head{margin:24px 25px 0;font-size:11px;letter-spacing:1px}.spread{gap:17px;padding-top:27px}.spread-slot{width:118px}.empty-card,.chosen-back,.card-front{height:193px}.table-orbit{width:420px;height:420px}.table-bottom{left:19px;right:19px;gap:10px}.table-bottom>span{display:none}.ritual-instruction{font-size:13px}.deck-note{margin-top:28px}footer{padding:19px 28px;flex-wrap:wrap}}
@media(max-width:760px){.topbar{padding:20px 20px}.brand{font-size:21px;letter-spacing:3px}.brand-mark{font-size:39px}.brand small{font-size:11px;letter-spacing:5px;margin-top:6px}.header-actions{gap:20px}.button-label{display:none}main{padding:22px 20px 0}.atelier{display:flex;flex-direction:column;gap:24px}.intention{padding:0;width:100%;position:relative}.eyebrow{margin-bottom:13px;font-size:11px}h1{font-size:27px;line-height:1.5;margin-bottom:13px}h1 br{display:none}.intro{font-size:14px;margin-bottom:22px}.intro br{display:none}.intention textarea{min-height:80px;max-height:130px;padding:12px;font-size:14px}.intention label{margin-bottom:9px}.gold-button{width:100%;margin-top:14px}.privacy{font-size:12px}.deck-note{display:none}.camera-panel{max-width:270px;margin:15px auto 0}.table{width:100%;height:auto;min-height:545px;border-radius:100px 100px 4px 4px;padding-bottom:72px;overflow:hidden}.table-head{margin:24px 20px 0;font-size:10px}.table-orbit{width:330px;height:330px}.spread{gap:13px;padding:26px 14px 0}.spread-slot{width:calc((100% - 26px)/3)}.empty-card,.chosen-back,.card-front{height:auto;aspect-ratio:2/3}.empty-card span{font-size:28px}.empty-card small{font-size:11px}.spread-slot>p{font-size:11px;letter-spacing:0}.ritual-instruction{margin-top:21px;font-size:12px}.fan{position:relative;inset:auto;display:flex;gap:12px;overflow-x:auto;height:192px;align-items:center;justify-content:flex-start;padding:18px 20px 8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a68e593e transparent}.fan-card{position:relative;left:auto;bottom:auto;flex:0 0 93px;width:93px;height:147px;margin:0;transform:none!important;scroll-snap-align:center;border-radius:4px}.fan-card.is-chosen{display:none}.fan-card:hover,.fan-card:focus-visible{transform:translateY(-5px)!important}.card-back-pattern{inset:7px}.card-back-pattern:before{width:56px;height:84px;font-size:36px}.table-bottom{bottom:20px;left:18px;right:18px}.table-bottom .text-button{font-size:12px}.reveal-button{font-size:12px;padding:8px 12px}.card-title{font-size:10px;letter-spacing:1px;bottom:8px}.card-title small{font-size:10px;margin-top:3px}.card-numeral{font-size:12px;top:8px}footer{padding:20px;gap:12px;margin-top:23px}footer>span{font-size:11px}footer>p{order:3;font-size:11px;width:100%}.reading{padding-top:30px;margin-top:28px}.reading h2{font-size:24px}.reading-heading{align-items:flex-start}.reading-heading>.text-button{font-size:12px;white-space:nowrap;margin-top:8px}.reading-cards{grid-template-columns:1fr;gap:24px;margin-top:24px}.reading-card h3{font-size:23px}.reading-card p{font-size:15px}dialog{padding:30px 25px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.card-back-pattern,.chosen-back .card-back-pattern{inset:0;border:0;border-radius:inherit;background:url('./assets/arcana-back.png') center/100% 100% no-repeat;display:block}
.card-back-pattern:before{content:none}
.gesture-cursor.is-pinching{background:conic-gradient(#e2cda6 var(--progress),#c4a47722 0);border-width:1px}

.icon-button[aria-pressed="true"]{color:var(--gold-light)}
@media(min-width:761px){.table{height:720px}.table-head{margin-left:110px;margin-right:110px}.fan{bottom:100px}.table-bottom{bottom:25px}}
@media(min-width:761px) and (max-width:1100px){.table{height:670px}.table-head{margin-left:68px;margin-right:68px}.fan{bottom:100px}}
@media(max-width:760px){.table-head{margin-left:46px;margin-right:46px;letter-spacing:.5px}.fan-card.gesture-hover{transform:translateY(-5px)!important}}

/* Two-step ritual and complete 78-card archive */
.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}
.step-mark{font-size:12px;letter-spacing:2.4px;color:var(--gold);margin:0 0 22px}
.question-screen{min-height:calc(100vh - 205px);position:relative;display:grid;place-items:center;padding:56px 24px 80px;overflow:hidden}
.question-frame{position:absolute;width:min(72vw,820px);aspect-ratio:1;border:1px solid #b49b6b13;border-radius:50%;display:grid;place-items:start center;pointer-events:none}
.question-frame:before,.question-frame:after{content:'';position:absolute;border:1px solid #b49b6b11;border-radius:50%;inset:8%}.question-frame:after{inset:18%;border-style:dashed}.question-frame span{font-size:38px;color:#c4a47769;transform:translateY(-22px)}
.question-content{position:relative;z-index:1;width:min(100%,720px);text-align:center}
.question-content h1{font-size:clamp(38px,5vw,66px);line-height:1.25;margin:0 0 16px}
.question-intro{font-size:17px;color:var(--muted);margin:0 auto 34px}
.question-bubbles{position:absolute;inset:0;pointer-events:none;z-index:2}.question-bubbles button{position:absolute;pointer-events:auto;max-width:220px;padding:9px 15px;border:1px solid #b49b6b66;border-radius:18px 18px 6px 18px;background:linear-gradient(145deg,#191917e8,#111214e6);color:#c4a477d9;font:13px/1.45 var(--body);text-align:left;box-shadow:0 10px 28px #0005;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.question-bubbles button:before{content:'✦';margin-right:7px;color:#c4a47799;font-size:10px}.question-bubbles button:after{content:'';position:absolute;top:50%;right:-5px;width:9px;height:9px;border-top:1px solid #b49b6b66;border-right:1px solid #b49b6b66;background:#121312;transform:translateY(-50%) rotate(45deg)}.question-bubbles button:nth-child(1){left:-236px;top:247px}.question-bubbles button:nth-child(2){left:-236px;top:329px}.question-bubbles button:nth-child(3){right:-236px;top:287px;border-radius:18px 18px 18px 6px}.question-bubbles button:nth-child(3):after{left:-5px;right:auto;border:0;border-bottom:1px solid #b49b6b66;border-left:1px solid #b49b6b66}.question-bubbles button:hover,.question-bubbles button:focus-visible{color:var(--gold-light);border-color:#e2cda6;background:#1b1915e8;box-shadow:0 0 22px #c4a47722,0 8px 24px #0005;transform:translateY(-2px)}
.question-content textarea{min-height:168px;max-height:280px;background:#121314e8;border:1px solid #c4a47763;padding:24px;font:18px/1.9 var(--serif);box-shadow:0 22px 80px #0006,inset 0 0 0 6px #0d0e0f;color:var(--text)}
.question-content textarea::placeholder{font-family:var(--body);font-size:15px}
.question-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}
#question-count{font-size:12px;color:var(--muted);letter-spacing:1px}
.enter-button{min-height:50px;padding:0 24px;border:1px solid #d0b17a;background:linear-gradient(110deg,#b99559,#ead8b3 50%,#b18a4f);color:#211c14;font-weight:600;border-radius:2px}.enter-button:hover{filter:brightness(1.08)}
.memory-note{font-size:12px;color:#918b81;margin:28px 0 0}
.ritual-screen{width:100%}
.ritual-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:start}
.ritual-sidebar{padding-top:24px;position:sticky;top:0}
.ritual-sidebar h2{font-size:30px;margin-bottom:28px}
.question-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:20px}
.question-summary>span{font-size:12px;color:var(--gold);letter-spacing:1.5px}.question-summary p{font-family:var(--serif);font-size:17px;line-height:1.7;margin:7px 0 4px;overflow-wrap:anywhere}.question-summary button{font-size:12px}
.full-deck-table{height:auto!important;min-height:760px;border-radius:110px 110px 5px 5px;padding-bottom:18px;overflow:hidden}
.full-deck-table .table-head{margin:25px 86px 0}
.full-deck-table .spread{padding-top:22px;gap:22px}
.full-deck-table .spread-slot{width:104px}
.full-deck-table .empty-card,.full-deck-table .chosen-back,.full-deck-table .card-front{height:156px}
.full-deck-table .empty-card span{font-size:30px}.full-deck-table .spread-slot>p{margin-top:6px;font-size:12px}
.full-deck-table .ritual-instruction{margin:13px 10px 0}
.deck-heading{display:flex;justify-content:space-between;max-width:920px;margin:18px auto 9px;padding:0 8px;color:#a49d9090;font-size:11px;letter-spacing:1.5px}
.deck-grid.fan{position:relative!important;inset:auto!important;height:auto!important;display:grid;grid-template-columns:repeat(13,minmax(0,52px));justify-content:center;gap:7px;padding:0 20px;z-index:3}
.deck-grid .fan-card{position:relative;left:auto;bottom:auto;width:100%;height:auto;aspect-ratio:2/3;margin:0;transform:none!important;transform-origin:center;border-radius:3px;transition:transform .18s ease,filter .18s,opacity .25s}
.deck-grid .fan-card:hover,.deck-grid .fan-card:focus-visible,.deck-grid .fan-card.gesture-hover{z-index:20!important;transform:translateY(-6px) scale(1.12)!important;filter:brightness(1.3);border-color:var(--gold-light)}
.deck-grid .fan-card.is-chosen{visibility:visible!important;opacity:.1!important;pointer-events:none;transform:scale(.86)!important}
.deck-grid .fan-card:disabled:not(.is-chosen){opacity:.56}
.deck-grid .card-back-pattern{background-size:100% 100%}
.full-deck-table .table-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:19px 24px 0}
.generic-card-art{display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,#5d4c2d5c,transparent 36%),repeating-linear-gradient(45deg,#0e1011,#0e1011 7px,#171614 8px,#171614 9px)}
.generic-card-art:before{content:'';position:absolute;inset:20px;border:1px solid #b49b6b3f;border-radius:50%}
.generic-card-art b{font:42px/1 var(--serif);color:var(--gold);text-shadow:0 0 18px #c4a47755}.generic-card-art em{position:absolute;top:57%;font:10px/1.2 var(--body);letter-spacing:1.4px;color:#cdbb9a;font-style:normal}
.full-deck-table .gesture-cursor{position:absolute}

@media(min-width:1420px){.ritual-shell{grid-template-columns:280px minmax(0,1fr);gap:48px}.deck-grid.fan{grid-template-columns:repeat(16,minmax(0,50px));gap:7px}.full-deck-table{min-height:720px}.full-deck-table .spread-slot{width:112px}.full-deck-table .empty-card,.full-deck-table .chosen-back,.full-deck-table .card-front{height:168px}}
@media(max-width:1100px){.ritual-shell{grid-template-columns:220px minmax(0,1fr);gap:22px}.ritual-sidebar h2{font-size:26px}.full-deck-table{min-height:690px;border-radius:90px 90px 5px 5px}.full-deck-table .table-head{margin-left:60px;margin-right:60px}.deck-grid.fan{grid-template-columns:repeat(13,minmax(0,46px));gap:6px}.full-deck-table .spread-slot{width:96px}.full-deck-table .empty-card,.full-deck-table .chosen-back,.full-deck-table .card-front{height:144px}}
@media(max-width:760px){.topbar{padding:16px}.brand{font-size:17px;letter-spacing:2px;gap:8px}.brand-mark{font-size:31px}.brand small{font-size:10px;letter-spacing:3px}.header-actions{gap:10px}.header-actions .text-button{font-size:12px}.question-screen{min-height:calc(100vh - 175px);padding:40px 0 60px}.question-frame{width:135vw}.question-content h1{font-size:34px}.question-intro{font-size:15px;margin-bottom:25px}.question-content textarea{min-height:144px;padding:18px;font-size:17px}.question-actions{align-items:stretch;flex-direction:column-reverse}.enter-button{width:100%}.memory-note{font-size:12px}.ritual-shell{display:block}.ritual-sidebar{position:relative;padding:0 0 20px}.ritual-sidebar h2{font-size:26px}.question-summary{margin-bottom:15px}.full-deck-table{border-radius:58px 58px 4px 4px;min-height:0;padding-bottom:14px}.full-deck-table .table-head{margin:22px 34px 0;font-size:9px}.full-deck-table .spread{padding:20px 12px 0;gap:10px}.full-deck-table .spread-slot{width:calc((100% - 20px)/3)}.full-deck-table .empty-card,.full-deck-table .chosen-back,.full-deck-table .card-front{height:auto;aspect-ratio:2/3}.full-deck-table .spread-slot>p{font-size:11px}.deck-heading{margin-top:15px;padding:0 18px}.deck-grid.fan{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 15px}.deck-grid .fan-card{width:100%;height:auto}.deck-grid .fan-card:hover,.deck-grid .fan-card:focus-visible,.deck-grid .fan-card.gesture-hover{transform:translateY(-3px) scale(1.06)!important}.full-deck-table .table-bottom{margin:17px 16px 0;flex-wrap:wrap}.full-deck-table .table-bottom>span{display:none}.generic-card-art b{font-size:30px}.generic-card-art em{display:none}}

/* The complete deck is the tabletop: all 78 cards stay flat, aligned and visible. */
.full-deck-table{display:flex;flex-direction:column;min-height:0!important;padding:0 0 22px;background:radial-gradient(ellipse at 50% 30%,#302a2048,transparent 70%),#111315}
.full-deck-table .table-head{order:0;flex:none;width:auto}
.full-deck-table .deck-heading{order:1;width:min(calc(100% - 48px),1040px);margin:18px auto 10px;padding:0;color:#c4a477cc;font-size:11px;letter-spacing:1.5px}
.full-deck-table .deck-grid.fan{order:2;width:min(calc(100% - 48px),1040px);margin:0 auto;display:grid;grid-template-columns:repeat(13,minmax(0,1fr))!important;gap:9px;padding:0;align-items:stretch;background:linear-gradient(180deg,#0c0d0f66,#0c0d0f22);border:1px solid #b49b6b1f;border-radius:8px;padding:13px}
.full-deck-table .deck-grid .fan-card{min-width:0;width:100%;height:auto;aspect-ratio:2/3;border-radius:4px;transform:none!important;box-shadow:1px 3px 7px #000b,inset 0 0 0 3px #141413,inset 0 0 0 4px #b49b6b30}
.full-deck-table .deck-grid .fan-card:hover,.full-deck-table .deck-grid .fan-card:focus-visible,.full-deck-table .deck-grid .fan-card.gesture-hover{transform:translateY(-6px) scale(1.08)!important;filter:brightness(1.25);z-index:20}
.full-deck-table .deck-grid .fan-card.is-chosen{visibility:visible!important;opacity:.18!important;pointer-events:none;transform:scale(.9)!important}
.full-deck-table .spread{order:4;flex:none;margin:0 auto;padding:15px 0 0;gap:22px}
.full-deck-table .ritual-instruction{order:5;margin:14px 10px 0}
.full-deck-table .table-bottom{order:6;flex:none;width:auto}
.full-deck-table .table-orbit{pointer-events:none;opacity:.45}

@media(max-width:1100px) and (min-width:761px){.full-deck-table .deck-grid.fan{width:calc(100% - 42px);gap:7px;padding:10px}.full-deck-table .deck-heading{width:calc(100% - 42px)}.full-deck-table .spread{gap:18px}}
@media(max-width:760px){.full-deck-table{padding-bottom:14px}.full-deck-table .table-head{margin-left:34px;margin-right:34px}.full-deck-table .deck-heading{width:calc(100% - 36px);margin-top:15px;font-size:10px}.full-deck-table .deck-heading span:last-child{font-size:9px}.full-deck-table .deck-grid.fan{width:calc(100% - 30px);grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px;padding:9px;border-radius:6px}.full-deck-table .deck-grid .fan-card{border-radius:3px}.full-deck-table .deck-grid .fan-card:hover,.full-deck-table .deck-grid .fan-card:focus-visible,.full-deck-table .deck-grid .fan-card.gesture-hover{transform:translateY(-3px) scale(1.05)!important}.full-deck-table .spread{padding:13px 12px 0;gap:10px;width:100%}.full-deck-table .ritual-instruction{margin-top:14px}.full-deck-table .table-bottom{margin-top:17px}}

/* A real tabletop spread is one long, slightly imperfect horizontal row. */
.full-deck-table .deck-grid.fan{display:flex!important;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c4a47799 transparent;min-height:220px;gap:clamp(6px,0.75vw,12px);padding:22px 24px 28px;width:min(calc(100% - 48px),1040px);background:linear-gradient(180deg,#0c0d0f66,#0c0d0f22);border:1px solid #b49b6b1f;border-radius:8px}
.full-deck-table .deck-grid.fan::-webkit-scrollbar{height:8px}.full-deck-table .deck-grid.fan::-webkit-scrollbar-thumb{background:#c4a47766;border-radius:8px}.full-deck-table .deck-grid.fan::-webkit-scrollbar-track{background:#0b0c0d66}
.full-deck-table .deck-grid .fan-card{flex:0 0 clamp(68px,7.5vw,96px);width:clamp(68px,7.5vw,96px);height:auto;aspect-ratio:2/3}
.full-deck-table .deck-grid .fan-card:nth-child(3n+1){transform:rotate(-1.25deg) translateY(3px)!important}.full-deck-table .deck-grid .fan-card:nth-child(3n+2){transform:rotate(.9deg) translateY(-2px)!important}.full-deck-table .deck-grid .fan-card:nth-child(3n){transform:rotate(-.45deg) translateY(1px)!important}
.full-deck-table .deck-grid .fan-card:hover,.full-deck-table .deck-grid .fan-card:focus-visible,.full-deck-table .deck-grid .fan-card.gesture-hover{transform:translateY(-8px) scale(1.1)!important;filter:brightness(1.28);z-index:20}
.full-deck-table .deck-grid .fan-card.is-chosen{transform:scale(.9)!important}

@media(max-width:1100px) and (min-width:761px){.full-deck-table .deck-grid.fan{width:calc(100% - 42px);gap:8px;padding:20px 18px 26px}}
@media(max-width:760px){.full-deck-table .deck-grid.fan{width:calc(100% - 30px);min-height:190px;gap:7px;padding:18px 18px 24px}.full-deck-table .deck-grid .fan-card{flex-basis:72px;width:72px}.full-deck-table .deck-grid .fan-card:hover,.full-deck-table .deck-grid .fan-card:focus-visible,.full-deck-table .deck-grid .fan-card.gesture-hover{transform:translateY(-5px) scale(1.06)!important}.full-deck-table .deck-heading span:last-child{white-space:nowrap}}

/* Full-table fan mode: all 78 backs overlap along one broad arc. */
.is-ritual{background:#101112}.is-ritual .topbar{position:absolute;top:0;left:0;right:0;z-index:300;border-bottom:0;background:linear-gradient(180deg,#101112f2 0%,#101112bb 58%,transparent 100%)}
.is-ritual main{max-width:none;padding:0}.is-ritual footer{display:none}.is-ritual .ritual-screen{min-height:100vh}.is-ritual .ritual-shell{display:block;position:relative;min-height:100vh}.is-ritual .ritual-sidebar{position:absolute;top:104px;left:30px;z-index:280;width:230px;padding:0;pointer-events:none}.is-ritual .ritual-sidebar>*{pointer-events:auto}.is-ritual .ritual-sidebar h2{font-size:20px;line-height:1.5;margin:4px 0 14px;text-shadow:0 2px 15px #000}.is-ritual .ritual-sidebar .step-mark{margin-bottom:6px}.is-ritual .question-summary{padding:10px 0;margin-bottom:12px;background:#101112aa;border-color:#b49b6b45}.is-ritual .question-summary p{font-size:14px}.is-ritual .privacy{font-size:11px;line-height:1.6;text-shadow:0 2px 10px #000}.is-ritual .camera-panel{max-width:210px}.is-ritual .deck-note{display:none}
.is-ritual .full-deck-table{position:relative;width:100%;height:100vh!important;min-height:760px!important;border:0;border-radius:0;overflow:hidden;padding:0;background:radial-gradient(ellipse at 50% 47%,#40372244,transparent 64%),#101112}
.is-ritual .full-deck-table .table-orbit{inset:70px 12% 90px;width:auto;height:auto;transform:none;opacity:.55}.is-ritual .full-deck-table .table-head{position:absolute;top:96px;left:300px;right:28px;margin:0;z-index:210}.is-ritual .full-deck-table .deck-heading{position:absolute;top:132px;left:300px;right:28px;width:auto;margin:0;padding:0;z-index:210;color:#c4a477dd}
.is-ritual .full-deck-table .deck-grid.fan{position:absolute!important;z-index:400;inset:108px 24px 220px!important;width:auto!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important;padding:0!important;margin:0!important;background:none!important;border:0!important;border-radius:0!important;pointer-events:none;transform:translateY(0)}
.is-ritual .full-deck-table:not(.is-revealed):not(.is-locked) .deck-grid.fan{transform:translateY(48px)}
.is-ritual .full-deck-table .deck-grid .fan-card{position:absolute!important;left:var(--fan-left)!important;bottom:var(--fan-bottom)!important;width:clamp(92px,7.4vw,142px)!important;height:auto!important;max-width:none!important;aspect-ratio:3/5;min-width:0;transform-origin:50% 118%;transform:translateX(-50%) rotate(var(--fan-angle))!important;z-index:var(--fan-z);border-radius:6px;box-shadow:2px 7px 15px #000c,inset 0 0 0 4px #141413,inset 0 0 0 5px #b49b6b38;transition:transform .16s cubic-bezier(.22,.8,.25,1),box-shadow .16s,border-color .16s;backface-visibility:hidden;filter:none!important;pointer-events:auto}
.is-ritual .full-deck-table .deck-grid .fan-card.pointer-hover,.is-ritual .full-deck-table .deck-grid .fan-card:focus-visible,.is-ritual .full-deck-table .deck-grid .fan-card.gesture-hover{transform:translateX(-50%) translateY(-42px) rotate(var(--fan-angle)) scale(1.045)!important;z-index:500!important;border-color:#e6d3ab;box-shadow:0 22px 24px #000c,inset 0 0 0 4px #141413,inset 0 0 0 5px #e6d3aba0}
.is-ritual .full-deck-table .deck-grid .fan-card.is-chosen{opacity:.13!important;pointer-events:none;transform:translateX(-50%) translateY(-18px) rotate(var(--fan-angle)) scale(.94)!important}
.is-ritual .full-deck-table .spread{position:absolute;z-index:240;left:50%;top:auto;bottom:100px;transform:translateX(-50%);width:min(620px,calc(100% - 60px));margin:0;padding:10px 0 0;gap:24px;background:#101112b8}
.is-ritual .full-deck-table:not(.is-revealed):not(.is-locked) .spread{transform:translateX(-50%) translateY(48px)}
.is-ritual .full-deck-table .spread-slot{width:108px}.is-ritual .full-deck-table .empty-card,.is-ritual .full-deck-table .chosen-back,.is-ritual .full-deck-table .card-front{height:156px}.is-ritual .full-deck-table .empty-card span{font-size:28px}.is-ritual .full-deck-table .spread-slot>p{margin:5px 0 0;font-size:11px}.is-ritual .full-deck-table .ritual-instruction{position:absolute;z-index:250;left:50%;bottom:30px;transform:translateX(-50%);width:360px;margin:0;color:#e6d3ab;font-size:12px;text-align:center;pointer-events:none}.is-ritual .full-deck-table .table-bottom{position:absolute;z-index:260;left:28px;right:28px;bottom:42px;margin:0}.is-ritual .full-deck-table .table-bottom .reveal-button{position:absolute;right:0;bottom:0}
.is-ritual .full-deck-table .shuffle-button{color:#c4a477cc;font-size:12px;letter-spacing:1px;white-space:nowrap}.is-ritual .full-deck-table .shuffle-button:hover{color:var(--gold-light)}.shuffle-button>span{display:inline-block;transform-origin:50% 52%}.is-ritual .full-deck-table.is-shuffling .shuffle-button>span{animation:shuffle-spin .72s linear infinite}.is-ritual .full-deck-table.is-shuffling .fan-card{pointer-events:none!important;will-change:translate,rotate,scale}.shuffle-status{position:absolute;z-index:700;left:50%;top:70%;bottom:auto;margin:0;max-width:min(360px,calc(100% - 40px));padding:8px 16px;border:1px solid #c4a47755;border-radius:999px;background:#171513e8;box-shadow:0 12px 30px #0008;color:#e6d3ab;font-size:12px;letter-spacing:1px;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,-50%) translateY(8px);transition:opacity .2s ease,transform .2s ease}.shuffle-status:not(:empty){opacity:1;transform:translate(-50%,-50%) translateY(0)}
@keyframes shuffle-spin{to{transform:rotate(360deg)}}

@media(max-width:1100px) and (min-width:761px){.is-ritual .ritual-sidebar{left:20px;width:190px}.is-ritual .full-deck-table .table-head,.is-ritual .full-deck-table .deck-heading{left:230px}.is-ritual .full-deck-table .deck-grid.fan{inset:108px 18px 266px!important}.is-ritual .full-deck-table .deck-grid .fan-card{width:clamp(86px,8.5vw,112px)!important}.is-ritual .full-deck-table .spread{width:min(560px,calc(100% - 40px))}}
@media(max-width:1100px) and (min-width:761px){.is-ritual .full-deck-table:not(.is-revealed):not(.is-locked) .deck-grid.fan{transform:translateY(40px)}.is-ritual .full-deck-table:not(.is-revealed):not(.is-locked) .spread{transform:translateX(-50%) translateY(40px)}}
@media(max-width:760px){.is-ritual .topbar{position:relative;background:#101112;border-bottom:0}.is-ritual main{padding:0}.is-ritual .ritual-shell{min-height:calc(100vh - 76px)}.is-ritual .ritual-sidebar{position:relative;top:auto;left:auto;width:auto;padding:18px 18px 8px;background:#101112}.is-ritual .ritual-sidebar h2{font-size:22px}.is-ritual .ritual-sidebar .question-summary{display:none}.is-ritual .ritual-sidebar .privacy{display:none}.is-ritual .ritual-sidebar .camera-panel{max-width:180px;margin:8px 0 0}.is-ritual .full-deck-table{height:auto!important;min-height:1000px!important}.is-ritual .full-deck-table .table-head{top:12px;left:18px;right:18px;font-size:9px}.is-ritual .full-deck-table .deck-heading{top:44px;left:18px;right:18px;font-size:10px}.is-ritual .full-deck-table .deck-heading span:last-child{font-size:9px}.is-ritual .full-deck-table .deck-grid.fan{inset:78px 8px 340px!important}.is-ritual .full-deck-table .deck-grid .fan-card{width:82px!important;border-radius:4px}.is-ritual .full-deck-table .deck-grid .fan-card.pointer-hover,.is-ritual .full-deck-table .deck-grid .fan-card:focus-visible,.is-ritual .full-deck-table .deck-grid .fan-card.gesture-hover{transform:translateX(-50%) translateY(-30px) rotate(var(--fan-angle)) scale(1.04)!important}.is-ritual .full-deck-table .spread{top:auto;bottom:100px;width:calc(100% - 30px);gap:7px}.is-ritual .full-deck-table .spread-slot{width:calc((100% - 14px)/3)}.is-ritual .full-deck-table .empty-card,.is-ritual .full-deck-table .chosen-back,.is-ritual .full-deck-table .card-front{height:auto;aspect-ratio:3/5}.is-ritual .full-deck-table .ritual-instruction{bottom:24px;width:calc(100% - 40px);font-size:11px}.is-ritual .full-deck-table .table-bottom{left:15px;right:15px;bottom:34px}.is-ritual .full-deck-table .table-bottom .reveal-button{right:0}.is-ritual .full-deck-table .table-bottom .text-button{font-size:11px}}
@media(max-width:760px){.is-ritual .full-deck-table:not(.is-revealed):not(.is-locked) .deck-grid.fan{transform:translateY(24px)}.is-ritual .full-deck-table:not(.is-revealed):not(.is-locked) .spread{transform:translateX(-50%) translateY(24px)}}

/* Real 1909 Rider–Waite–Smith illustrations, toned into the black-gold edition. */
.rws-card-art{background-size:1300% 600%;background-repeat:no-repeat;filter:invert(.91) grayscale(1) sepia(.88) saturate(1.35) brightness(.72) contrast(1.42)}
.rws-card-art:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#d3b16b16,transparent 38%,#08090a28 74%);mix-blend-mode:color;pointer-events:none}
.is-ritual .full-deck-table .deck-grid.fan{transition:opacity .45s ease,transform .45s ease}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .deck-grid.fan{opacity:.1;transform:translateY(110px) scale(.985);pointer-events:none}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .deck-heading{opacity:.3}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{top:190px;bottom:auto;width:min(940px,calc(100% - 80px));padding:18px 0 0;gap:clamp(30px,4vw,64px);background:transparent;align-items:flex-start}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread-slot{width:clamp(188px,15vw,238px)}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) :is(.card-front,.chosen-back){height:clamp(300px,36vh,360px)!important;aspect-ratio:auto}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread-slot>p{font-size:13px;margin-top:10px;color:#d5c7ae}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .ritual-instruction{bottom:28px;font-size:14px}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .reveal-button{opacity:0;pointer-events:none}

@media(max-width:760px){.is-ritual .full-deck-table:is(.is-locked,.is-revealed){min-height:940px!important}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{top:105px;bottom:auto;width:100%;justify-content:flex-start;gap:16px;padding:18px 24px 30px;overflow-x:auto;scroll-snap-type:x mandatory}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread-slot{flex:0 0 190px;width:190px;scroll-snap-align:center}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) :is(.card-front,.chosen-back){height:285px!important}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .ritual-instruction{bottom:45px}}

@media(min-width:761px) and (max-width:1100px){.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{left:calc(50vw + 105px);width:max-content;transform:translateX(-50%)}}
@media(min-width:1101px){.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{left:calc(50vw + clamp(130px,10vw,195px));width:max-content;transform:translateX(-50%)}}

@media(prefers-reduced-motion:reduce){.is-ritual .full-deck-table .deck-grid .fan-card,.is-ritual .full-deck-table .deck-grid.fan{transition:none}.is-ritual .full-deck-table.is-shuffling .shuffle-button>span{animation:none}.shuffle-status{transition:none}}

@media(max-width:1100px){.question-bubbles{position:relative;inset:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 auto 16px;pointer-events:auto}.question-bubbles button{position:relative;left:auto!important;right:auto!important;top:auto!important;max-width:calc(100% - 24px);padding:7px 13px;font-size:12px}.question-bubbles button:nth-child(2){margin-left:auto;border-radius:18px 18px 18px 6px}.question-bubbles button:nth-child(2):after{left:-5px;right:auto;border:0;border-bottom:1px solid #b49b6b66;border-left:1px solid #b49b6b66}.question-bubbles button:nth-child(3){margin-left:8%;border-radius:18px 18px 6px 18px}.question-bubbles button:nth-child(3):after{left:auto;right:-5px;border:0;border-top:1px solid #b49b6b66;border-right:1px solid #b49b6b66}}
@media(max-width:760px){.question-bubbles{gap:8px;margin:-4px auto 14px}.question-bubbles button{max-width:92%;min-height:44px;padding:8px 12px;font-size:12px}.question-bubbles button:nth-child(2){margin-left:auto}.question-bubbles button:nth-child(3){margin-left:10%}}

.card-front.is-reversed .card-art{transform:none}.reading-method{color:var(--gold);font-size:12px;letter-spacing:1.6px;margin:8px 0 14px}.reading-summary{font-family:var(--serif);font-size:22px;line-height:1.65;color:var(--text);max-width:900px;margin:0 0 16px}.reading-emotional-anchor{max-width:850px;margin:0 0 28px;padding-left:16px;border-left:2px solid var(--gold);color:var(--gold-light);font-size:16px;line-height:1.85}.reading-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 38px;margin-top:36px}.reading-analysis section{border-top:1px solid var(--line);padding-top:16px}.reading-analysis h3{font-family:var(--serif);font-size:21px;font-weight:400;color:var(--gold-light);margin:0 0 8px}.reading-analysis p{color:var(--muted);font-size:14px;line-height:1.85;margin:0}.reading-analysis .reading-closing{grid-column:1/-1;border-color:#c4a47788}.reading-analysis .reading-closing p{font-family:var(--serif);font-size:18px;color:var(--text)}.reading-counter{margin-top:10px!important;color:#b9a98c!important}.reading-disclosure{color:var(--muted);font-size:12px;line-height:1.7;margin-top:34px}
@media(max-width:760px){.reading-summary{font-size:19px;margin-bottom:20px}.reading-analysis{grid-template-columns:1fr;gap:20px;margin-top:26px}.reading-analysis h3{font-size:19px}.reading-analysis p{font-size:13px}.reading-method{font-size:11px;letter-spacing:1px}.reading-disclosure{font-size:11px}}
.reading-evidence{margin-top:30px;border-top:1px solid var(--line);padding-top:18px}.reading-evidence>summary{cursor:pointer;color:var(--gold-light);font-family:var(--serif);font-size:18px;letter-spacing:.04em;list-style:none}.reading-evidence>summary::-webkit-details-marker{display:none}.reading-evidence>summary:after{content:' ＋';color:var(--gold)}.reading-evidence[open]>summary:after{content:' －'}.reading-evidence[open] .reading-cards{animation:evidence-in .24s ease-out}@keyframes evidence-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.reading-revealed{display:inline-block;color:var(--gold-light);font-size:12px;letter-spacing:1.4px;border:1px solid #c4a47755;padding:5px 10px;margin:0 0 18px}.consult-lock{max-width:760px;margin:34px 0 12px;padding:26px 28px;border:1px solid #c4a47766;background:linear-gradient(130deg,#c4a4770d,#171819 65%);border-radius:3px}.consult-lock h3,.calibration h3,.follow-ups h3{font-family:var(--serif);font-weight:400;color:var(--gold-light);font-size:24px;margin:0 0 8px}.consult-lock>p{color:var(--muted);margin:7px 0}.consult-lock strong{color:var(--text);font-size:20px}.consult-lock ul{color:var(--muted);padding-left:20px;margin:14px 0}.consult-lock li{margin:4px 0}.consult-lock .gold-button{max-width:290px;margin-top:10px}.unlock-status{color:var(--gold-light)!important;font-size:13px}.consult-content[hidden]{display:none}.calibration,.follow-ups,.report-actions{border-top:1px solid var(--line);margin-top:34px;padding-top:20px}.calibration>p,.follow-ups>p{color:var(--muted);font-size:14px;margin:5px 0 14px}.calibration-actions{display:flex;flex-wrap:wrap;gap:10px}.calibration-actions button{border:1px solid #c4a47766;background:#c4a4770c;color:var(--gold-light);padding:8px 16px;border-radius:2px}.calibration-actions button:hover,.calibration-actions button:focus-visible{background:#c4a47722}.calibration-result{color:var(--text)!important;margin-top:14px!important}.follow-ups h3 span{font-family:var(--body);font-size:12px;color:var(--muted);margin-left:8px}.follow-ups form{display:flex;gap:12px;max-width:680px}.follow-ups input{flex:1;min-width:0;background:#ffffff02;border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:2px}.follow-ups form button{white-space:nowrap}.follow-up-item{border-left:2px solid #c4a47788;padding:8px 12px;color:var(--muted);font-size:13px}.report-actions .gold-button{max-width:300px;margin-top:0}.report-actions p{color:var(--gold-light);font-size:13px;margin:12px 0 0}.reading-disclosure{max-width:900px}@media(max-width:760px){.consult-lock{padding:21px 18px;margin-top:25px}.consult-lock h3,.calibration h3,.follow-ups h3{font-size:20px}.follow-ups form{display:block}.follow-ups form button{margin-top:10px}.follow-ups input{width:100%;min-height:43px}.calibration-actions button{flex:1;min-width:30%}.report-actions .gold-button{width:100%}}
.calibration-actions button[aria-pressed="true"]{background:#c4a47722;border-color:var(--gold-light);color:var(--text)}
.consult-api-note{color:#b9a98c!important;font-size:12px!important;line-height:1.6}
.reading-alignment{max-width:900px;margin:28px 0 12px;padding:20px 22px;border:1px solid #c4a47766;background:linear-gradient(120deg,#c4a47712,#171819 72%);border-radius:3px}.reading-alignment[hidden]{display:none}.alignment-heading .eyebrow{margin:0 0 5px}.alignment-heading h3{font:400 22px/1.4 var(--serif);color:var(--gold-light);margin:0 0 6px}.alignment-heading p:last-child{color:var(--text);font-size:14px;line-height:1.75;margin:0}.alignment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:19px}.alignment-grid>div{border-top:1px solid #c4a47733;padding-top:9px}.alignment-grid span{display:block;color:var(--gold);font-size:11px;letter-spacing:1px;margin-bottom:5px}.alignment-grid p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.reading-action-steps{display:grid;gap:10px;margin:14px 0 0;padding-left:22px}.reading-action-steps li{color:var(--text);padding-left:4px;line-height:1.65}.reading-action-steps li span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.intake-field-hint{color:var(--muted);font-size:12px;margin:0 0 10px}.choice-chip[hidden]{display:none!important}
@media(max-width:760px){.reading-alignment{padding:18px 16px;margin-top:22px}.alignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.alignment-heading h3{font-size:20px}.alignment-grid p{font-size:12px}.reading-action-steps{padding-left:20px}}
.reading-context{display:flex;gap:12px;align-items:baseline;max-width:900px;margin:18px 0 0;color:var(--muted);font-size:12px}.reading-context>span{flex:none;color:var(--gold);letter-spacing:1.5px}.reading-context p{margin:0;line-height:1.8}.intake-intro{margin:0 0 21px}.intake-intro+form{display:grid;gap:17px}.intake-intro+form label{display:grid;gap:7px;color:var(--text);font-size:14px}.intake-intro+form label>span{color:var(--muted);font-size:12px;font-weight:400;margin-left:6px}.intake-intro+form select,.intake-intro+form textarea{width:100%;background:#101112;border:1px solid var(--line);border-radius:2px;color:var(--text);padding:10px 12px;font:14px/1.6 var(--body)}.intake-intro+form select:focus,.intake-intro+form textarea:focus{outline:2px solid var(--gold-light);outline-offset:3px}.intake-intro+form option{background:#171819}.intake-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px}.intake-actions .gold-button{width:auto;min-width:190px;margin:0}.intake-privacy{font-size:12px!important;margin:0!important}@media(max-width:760px){.reading-context{display:block;margin-top:14px}.reading-context>span{display:block;margin-bottom:4px}.intake-actions{align-items:stretch;flex-direction:column-reverse}.intake-actions .gold-button{width:100%}}

/* Result-page composition: the cards stay visible and the consultation reads as one centered ritual. */
.reading{position:relative;overflow:hidden;padding:72px clamp(28px,5vw,92px) 44px;margin-top:0;background:radial-gradient(circle at 50% 15%,#c4a47710,transparent 36%),linear-gradient(180deg,#101112 0%,#0d0e0f 100%)}
.reading:before{content:'';position:absolute;top:44px;left:50%;width:min(760px,72vw);aspect-ratio:1;border:1px solid #c4a4770c;border-radius:50%;transform:translateX(-50%);pointer-events:none}
.reading-heading{position:relative;display:block;max-width:1120px;margin:0 auto;text-align:center}
.reading-heading .eyebrow{margin:0 0 8px}
.reading-heading>.text-button{position:absolute;top:16px;right:0}
.reading h2{font-size:clamp(30px,3vw,44px);line-height:1.35}
.reading-question{width:fit-content;max-width:900px;margin:28px auto 0;padding:0 18px;border:0;border-left:1px solid var(--gold);border-right:1px solid var(--gold);color:var(--gold-light);text-align:center;overflow-wrap:anywhere}
.reading-context{justify-content:center;max-width:1080px;margin:18px auto 0;text-align:center}
.reading-method{margin:12px auto 16px;text-align:center}
.reading-revealed{display:table;margin:0 auto 34px;background:#101112cc}
.reading-card-preview{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-start;gap:clamp(18px,3vw,42px);width:min(760px,100%);margin:0 auto 42px;padding:0 18px}
.reading-preview-card{width:clamp(126px,12vw,174px);margin:0;text-align:center;transition:transform .25s ease}
.reading-preview-card.is-center{transform:translateY(-14px)}
.reading-preview-card .card-front{width:100%;height:auto;aspect-ratio:2/3;box-shadow:0 18px 46px #000b,0 0 0 1px #c4a4772f}
.reading-preview-card figcaption{display:grid;gap:2px;margin-top:13px}
.reading-preview-card figcaption span{color:var(--gold);font-size:10px;letter-spacing:1.2px;text-transform:uppercase}
.reading-preview-card figcaption strong{color:var(--text);font:400 14px/1.5 var(--serif)}
.reading-summary{position:relative;z-index:1;max-width:980px;margin:0 auto 20px;text-align:center;font-size:clamp(21px,2vw,30px);line-height:1.75}
.reading-emotional-anchor{max-width:820px;margin:18px auto 28px;padding:0;border:0;text-align:center}
.consult-lock{position:relative;z-index:1;max-width:760px;margin:42px auto 18px;padding:42px 54px 38px;border:1px solid #c4a47770;background:radial-gradient(circle at 50% 0,#c4a47718,transparent 38%),linear-gradient(145deg,#181816,#101112 72%);border-radius:4px;box-shadow:0 28px 70px #0007,inset 0 0 0 6px #0d0e0f,inset 0 0 0 7px #c4a47722;text-align:center}
.consult-lock:before,.consult-lock:after{content:'✦';position:absolute;top:18px;color:#c4a47770;font-size:10px}
.consult-lock:before{left:20px}.consult-lock:after{right:20px}
.consult-lock-emblem{position:relative;width:78px;height:58px;margin:0 auto 20px}
.consult-lock-emblem span{position:absolute;left:25px;top:1px;width:30px;height:48px;border:1px solid #c4a47788;border-radius:2px;background:#121313;box-shadow:0 6px 13px #0007}
.consult-lock-emblem span:first-child{transform:translateX(-15px) rotate(-12deg)}
.consult-lock-emblem span:nth-child(2){z-index:2}
.consult-lock-emblem span:nth-child(3){transform:translateX(15px) rotate(12deg)}
.consult-lock-emblem i{position:absolute;z-index:3;left:0;right:0;top:12px;color:var(--gold-light);font-style:normal;font-size:20px}
.consult-lock .eyebrow{margin:0 0 9px}
.consult-lock h3{font-size:clamp(25px,2.3vw,32px);margin-bottom:10px}
.consult-lock>p{margin:7px auto;max-width:560px}
.consult-lock strong{font-family:var(--serif);font-size:24px;color:var(--gold-light)}
.consult-lock ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:24px auto 20px;padding:0;list-style:none;color:var(--muted)}
.consult-lock li{padding:2px 17px;margin:0;font-size:13px;line-height:1.75}
.consult-lock li+li{border-left:1px solid var(--line)}
.consult-lock .gold-button{max-width:330px;margin:22px auto 0}
.unlock-status{max-width:760px;margin:12px auto;text-align:center}
.consult-content{max-width:1280px;margin:38px auto 0}
.reading-alignment{margin:28px auto 12px;text-align:center}
.reading-tension{max-width:900px;margin:0 auto;text-align:center}
.reading-evidence{max-width:1240px;margin:34px auto 0;text-align:center}
.reading-evidence>summary{width:fit-content;margin:0 auto}
.reading-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,64px);max-width:1180px;margin:38px auto 0}
.reading-card{padding:0 10px 24px;border-top:0;text-align:center}
.reading-card .reading-card-visual{width:min(188px,72%);height:auto;aspect-ratio:2/3;margin:0 auto 26px;box-shadow:0 20px 42px #000a}
.reading-card .position-label{display:block;min-height:38px;line-height:1.6}
.reading-card h3{margin:8px 0 13px}
.reading-card p{max-width:360px;margin:0 auto}
.reading-card .reflection{margin:20px auto 0}
.reading-analysis,.calibration,.follow-ups,.report-actions{max-width:1080px;margin-left:auto;margin-right:auto}
.reading-disclosure{max-width:900px;margin:42px auto 0;text-align:center}
@media(max-width:760px){
  .reading{padding:44px 18px 34px}
  .reading:before{top:80px;width:115vw}
  .reading-heading>.text-button{position:static;display:block;margin:13px auto 0}
  .reading-question{margin-top:23px;padding:0 10px;font-size:14px}
  .reading-context{display:block;margin-top:15px;padding:0 6px}
  .reading-revealed{margin-bottom:29px}
  .reading-card-preview{gap:11px;margin-bottom:34px;padding:0}
  .reading-preview-card{width:calc((100% - 22px)/3)}
  .reading-preview-card.is-center{transform:translateY(-8px)}
  .reading-preview-card figcaption span{font-size:8px;letter-spacing:.5px}
  .reading-preview-card figcaption strong{font-size:12px}
  .reading-summary{font-size:20px;line-height:1.7}
  .consult-lock{margin-top:32px;padding:36px 20px 28px}
  .consult-lock ul{grid-template-columns:1fr;max-width:320px;margin-top:20px}
  .consult-lock li{padding:10px 4px}
  .consult-lock li+li{border-left:0;border-top:1px solid var(--line)}
  .reading-cards{grid-template-columns:1fr;gap:42px}
  .reading-card{max-width:520px;margin:0 auto}
  .reading-card .reading-card-visual{width:min(210px,68%)}
}

.recommendation-best .spread-recommendation-card{grid-template-columns:1fr;grid-template-areas:"tier" "name" "reason" "positions" "avoid"}
#intake-dialog.showing-recommendations .intake-privacy{display:none}
.intake-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.intake-heading h2{margin-bottom:8px}.intake-heading .intake-intro{margin:0}.intake-heading>span{flex:none;color:var(--gold);font:12px/1.4 var(--body);letter-spacing:2px;padding-top:8px}.intake-progress{height:2px;background:#c4a47722;margin:24px 0 26px;overflow:hidden}.intake-progress span{display:block;height:100%;width:50%;background:var(--gold-light);transition:width .25s ease}.intake-step-kicker{color:var(--gold)!important;font-size:11px!important;letter-spacing:2px;margin:0 0 5px!important}.intake-step h3{font:400 23px/1.35 var(--serif);margin:0 0 20px;color:var(--text)}.intake-step fieldset{border:0;padding:0;margin:0 0 20px}.intake-step legend{font-size:14px;color:var(--text);margin-bottom:9px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-chip{position:relative!important;display:block!important;margin:0!important;cursor:pointer}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip span{display:flex;align-items:center;min-height:43px;padding:8px 11px;border:1px solid var(--line);border-radius:2px;color:var(--muted);font-size:13px;line-height:1.35;transition:color .2s,border-color .2s,background .2s}.choice-chip input:checked+span{border-color:var(--gold-light);background:#c4a4771c;color:var(--text);box-shadow:inset 0 0 0 1px #c4a47733}.choice-chip input:focus-visible+span{outline:2px solid var(--gold-light);outline-offset:3px}.intake-step label[for]{display:grid;gap:7px;color:var(--text);font-size:14px;margin-bottom:18px}.intake-step label[for]>span{display:block;color:var(--muted);font-size:12px;margin-left:0}.intake-step select,.intake-step textarea{width:100%;background:#101112;border:1px solid var(--line);border-radius:2px;color:var(--text);padding:10px 12px;font:14px/1.6 var(--body)}.intake-step select:focus,.intake-step textarea:focus{outline:2px solid var(--gold-light);outline-offset:3px}.intake-step option{background:#171819}.scope-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;color:var(--muted)!important;font-size:12px!important;line-height:1.7!important;margin:2px 0 18px!important}.scope-check input{accent-color:var(--gold);margin-top:5px;flex:none}.intake-routing{border-left:2px solid var(--gold);padding:8px 12px;color:var(--gold-light)!important;font-size:13px!important;line-height:1.7;margin:4px 0 18px!important}.intake-step[hidden]{display:none!important}@media(max-width:760px){dialog#intake-dialog{width:min(94vw,540px);padding:28px 22px}.intake-heading{gap:12px}.intake-heading h2{font-size:25px}.choice-grid{grid-template-columns:1fr}.intake-step h3{font-size:21px}.intake-progress{margin:20px 0 23px}}

/* The selected cards remain sealed until a complete reading is successfully generated. */
.is-ritual .full-deck-table.is-locked{height:max(100vh,980px)!important;min-height:980px!important}
.is-ritual .full-deck-table.is-locked .table-bottom{display:none}
.is-ritual .ritual-consult-lock{position:absolute;z-index:620;left:50%;bottom:34px;width:min(820px,calc(100% - 72px));margin:0;padding:24px 36px 22px;transform:translateX(-50%)}
.is-ritual .ritual-consult-lock .consult-lock-emblem{height:44px;margin-bottom:4px;transform:scale(.72);transform-origin:50% 50%}
.is-ritual .ritual-consult-lock .eyebrow{margin-bottom:5px}
.is-ritual .ritual-consult-lock h3{font-size:clamp(23px,2vw,28px);margin-bottom:4px}
.is-ritual .ritual-consult-lock>p{margin:3px auto}
.is-ritual .ritual-consult-lock .sealed-note{color:var(--gold-light)}
.is-ritual .ritual-consult-lock ul{margin:14px auto 10px}
.is-ritual .ritual-consult-lock .gold-button{margin-top:10px}
.is-ritual .ritual-unlock-status{position:absolute;z-index:630;left:50%;bottom:5px;width:min(820px,calc(100% - 72px));margin:0;transform:translateX(-50%)}
.is-reading .topbar,.is-reading .ritual-shell{display:none}
.is-reading .ritual-screen{min-height:0}
.is-reading .reading{min-height:100vh;padding-top:64px}
.result-status{margin:18px auto 0;text-align:center}
@media(max-width:760px){.is-ritual .full-deck-table.is-locked{height:1040px!important;min-height:1040px!important}.is-ritual .ritual-consult-lock{bottom:30px;width:calc(100% - 28px);padding:26px 18px 22px}.is-ritual .ritual-consult-lock ul{display:block}.is-ritual .ritual-consult-lock li{padding:7px 4px}.is-ritual .ritual-unlock-status{bottom:3px;width:calc(100% - 36px)}.is-reading .reading{padding-top:40px}}
/* AI spread recommendations */
.intake-recommendations{padding:24px 0 8px}.intake-recommendations h3{margin:.35rem 0 .5rem;color:#ead9b6}.intake-recommendations>p:not(.intake-step-kicker){color:#a99b86;line-height:1.7}.spread-recommendation-list{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}.spread-recommendation-card{appearance:none;text-align:left;border:1px solid rgba(195,155,88,.45);background:linear-gradient(145deg,rgba(43,35,24,.95),rgba(18,18,17,.98));color:#e8dcc4;padding:16px 18px;display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);grid-template-areas:"tier reason" "name reason" "name positions" "avoid avoid";column-gap:22px;row-gap:7px;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.spread-recommendation-card:hover,.spread-recommendation-card:focus-visible{transform:translateY(-2px);border-color:#d5ad6d;box-shadow:0 12px 34px rgba(0,0,0,.35)}.spread-recommendation-card strong{grid-area:name;align-self:start;font-family:Georgia,serif;font-size:1.12rem;font-weight:500;line-height:1.5}.spread-recommendation-card small{grid-area:reason;color:#d1c3aa;line-height:1.65}.spread-recommendation-card em{grid-area:positions;font-style:normal;color:#9c8866;font-size:.74rem;line-height:1.55}.spread-recommendation-avoid{grid-area:avoid;margin-top:3px;padding-top:9px;border-top:1px solid #c4a47726;color:#a99b86;font-size:.7rem;line-height:1.55}.spread-recommendation-tier{grid-area:tier;color:#cda96d;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.intake-recommendations[hidden]{display:none}@media(max-width:760px){.spread-recommendation-card{grid-template-columns:1fr;grid-template-areas:"tier" "name" "reason" "positions" "avoid"}.intake-recommendations{padding-top:10px}}

/* Larger spreads stay in their own scroll layer, so the 78-card fan remains unobstructed. */
.is-ritual .full-deck-table .spread[data-count="5"],.is-ritual .full-deck-table .spread[data-count="7"],.is-ritual .full-deck-table .spread[data-count="10"]{justify-content:flex-start;width:min(900px,calc(100% - 56px));padding-left:22px;padding-right:22px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a68e5955 transparent}
.is-ritual .full-deck-table .spread[data-count="5"] .spread-slot,.is-ritual .full-deck-table .spread[data-count="7"] .spread-slot,.is-ritual .full-deck-table .spread[data-count="10"] .spread-slot{flex:0 0 108px;scroll-snap-align:center}
.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{left:calc(50% + 130px);width:min(1120px,calc(100% - 320px));max-width:none;transform:translateX(-50%);justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory}
.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread-slot{flex:0 0 clamp(188px,15vw,238px);scroll-snap-align:center}
.reading-card-preview{width:min(1180px,100%);justify-content:flex-start;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a68e5955 transparent}
.reading-card-preview[data-count="1"],.reading-card-preview[data-count="3"]{justify-content:center;overflow:visible}
.reading-preview-card{flex:0 0 clamp(126px,12vw,174px);scroll-snap-align:center}
.reading-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media(min-width:761px) and (max-width:1100px){.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{left:calc(50% + 105px);width:calc(100% - 250px)}}
@media(max-width:760px){.is-ritual .full-deck-table .spread[data-count="5"],.is-ritual .full-deck-table .spread[data-count="7"],.is-ritual .full-deck-table .spread[data-count="10"]{width:calc(100% - 24px);padding-left:14px;padding-right:14px}.is-ritual .full-deck-table .spread[data-count="5"] .spread-slot,.is-ritual .full-deck-table .spread[data-count="7"] .spread-slot,.is-ritual .full-deck-table .spread[data-count="10"] .spread-slot{flex-basis:96px}.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{left:50%;width:100%}.reading-card-preview{justify-content:flex-start;padding:0 12px}.reading-card-preview[data-count="1"],.reading-card-preview[data-count="3"]{justify-content:center;padding:0}}

/* Semantic spread boards: card size never depends on the selected spread count or ritual stage. */
.is-ritual .full-deck-table{height:auto!important;min-height:100vh!important;overflow:visible!important;padding:0 0 28px}
.is-ritual .full-deck-table .deck-grid.fan{bottom:auto!important;height:620px!important}
.is-ritual .full-deck-table .spread,
.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{
  position:relative!important;inset:auto!important;left:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;display:grid!important;grid-template-columns:repeat(var(--layout-columns),156px);grid-auto-rows:minmax(280px,auto);
  gap:20px 24px;width:max-content!important;max-width:none!important;min-width:0!important;margin:calc(100vh - 160px) auto 24px!important;
  padding:0!important;overflow:visible!important;scroll-snap-type:none!important;justify-content:initial!important;align-items:start!important;background:none!important;
}
.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{margin-top:230px!important}
.is-ritual .full-deck-table .spread-slot,
.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread-slot{width:156px!important;min-width:156px!important;max-width:156px!important;flex:none!important;text-align:center;scroll-snap-align:none!important}
.is-ritual .full-deck-table .empty-card,
.is-ritual .full-deck-table .chosen-back,
.is-ritual .full-deck-table .card-front{width:156px!important;height:234px!important;min-height:234px!important;max-height:234px!important;aspect-ratio:2/3!important}
.is-ritual .full-deck-table .spread-slot>p{margin:8px 0 0!important;color:#d5c7ae;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.is-ritual .full-deck-table .spread[data-spread-id="celtic-cross"] .spread-slot[data-layout-index="1"] .chosen-back,
.is-ritual .full-deck-table .spread[data-spread-id="celtic-cross"] .spread-slot[data-layout-index="1"] .empty-card,
.is-ritual .full-deck-table .spread[data-spread-id="celtic-cross"] .spread-slot[data-layout-index="1"] .card-front{transform:rotate(90deg)}
.is-ritual .full-deck-table .spread[data-spread-id="celtic-cross"] .spread-slot[data-layout-index="1"]{position:relative}
.is-ritual .full-deck-table .spread[data-spread-id="celtic-cross"] .spread-slot[data-layout-index="1"]>p{position:absolute;top:-23px;left:0;right:0;margin:0!important}
.is-ritual .full-deck-table .ritual-instruction{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:auto!important;margin:18px auto!important;padding:0 18px;text-align:center}
.is-ritual .full-deck-table .table-bottom{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:18px 28px 0;justify-content:center;display:flex}
.is-ritual .full-deck-table.is-locked{display:flow-root!important;height:auto!important;min-height:100vh!important;overflow-x:clip!important}
.is-ritual .full-deck-table .ritual-consult-lock{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(820px,calc(100% - 36px));margin:24px auto 0}
.is-ritual .full-deck-table .ritual-unlock-status{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(820px,calc(100% - 36px));margin:8px auto 0}
.is-reading .reading-card-preview{display:grid;grid-template-columns:repeat(var(--layout-columns),156px);grid-auto-rows:minmax(280px,auto);gap:20px 24px;width:max-content;max-width:calc(100vw - 40px);justify-content:initial;overflow:visible;padding:0;margin:30px auto 42px}
.is-reading .reading-preview-card{width:156px;min-width:156px;margin:0;text-align:center;transform:none!important}
.is-reading .reading-preview-card .card-front{width:156px!important;height:234px!important;aspect-ratio:2/3!important}
.is-reading .reading-card-preview[data-spread-id="celtic-cross"] .reading-preview-card[data-layout-index="1"] .card-front{transform:rotate(90deg)}
.is-reading .reading-card-preview[data-spread-id="celtic-cross"] .reading-preview-card[data-layout-index="1"]{position:relative}
.is-reading .reading-card-preview[data-spread-id="celtic-cross"] .reading-preview-card[data-layout-index="1"] figcaption{position:absolute;top:-24px;left:0;right:0}
.is-reading .reading-preview-card figcaption{line-height:1.45;overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1300px){
  .is-ritual .full-deck-table .spread,.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread,.is-reading .reading-card-preview{width:100vw!important;max-width:100vw!important;margin-left:0!important;margin-right:0!important;padding-left:calc((100vw - 156px)/2)!important;padding-right:calc((100vw - 156px)/2)!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:thin}
}
@media(max-width:760px){
  .is-ritual .full-deck-table .deck-grid.fan{bottom:auto!important;height:500px!important}
  .is-ritual .full-deck-table .spread,.is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{width:100%!important;max-width:100vw!important;margin:700px 0 24px!important;padding:0 max(16px,calc((100vw - 156px)/2)) 18px!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity!important;scrollbar-width:thin}
  .is-ritual .full-deck-table .spread-slot{scroll-snap-align:center!important}
  .is-ritual .full-deck-table:is(.is-locked,.is-revealed) .spread{margin-top:150px!important}
  .is-ritual .full-deck-table .table-bottom{margin:16px auto 0}
  .is-ritual .full-deck-table .ritual-consult-lock{width:calc(100% - 28px);padding:22px 18px}
  .is-reading .reading-card-preview{width:100vw;max-width:100vw;margin:26px 0 34px;padding:0 max(16px,calc((100vw - 156px)/2)) 18px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;scrollbar-width:thin}
  .is-reading .reading-preview-card{scroll-snap-align:center}
}

/* Decision options stay visible across the recommendation, draw, seal and result steps. */
.decision-options-fields{border:1px solid #c4a4773d;padding:16px 18px 8px;margin:0 0 20px;background:#c4a47708}
.decision-options-fields legend{color:var(--gold-light);font-size:14px;padding:0 7px}
.decision-options-fields label[for]{display:grid;gap:6px;margin-bottom:12px;color:var(--text)}
.decision-options-fields input[type="text"]{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:2px;background:#101112;color:var(--text);font:14px/1.6 var(--body)}
.decision-options-fields input[type="text"]:focus{outline:2px solid var(--gold-light);outline-offset:2px}
.decision-options-help,.decision-options-error{margin:3px 0 12px;color:var(--muted);font-size:12px;line-height:1.7}
.decision-options-error{color:var(--gold-light)}
.decision-options-note{max-width:900px;margin:14px auto;padding:8px 14px;border-left:1px solid var(--gold);border-right:1px solid var(--gold);color:var(--gold-light);font-size:13px;line-height:1.8;overflow-wrap:anywhere;text-align:center}
.question-summary .decision-options-note{margin:10px 0 6px;padding:6px 9px;text-align:left;font-size:12px}
.trial-fee-note{max-width:560px;color:var(--gold-light);font-size:13px;line-height:1.7}
.reading-context{display:block;max-width:850px;margin:18px auto 16px;text-align:center}
.reading-context>summary{display:inline-block;color:var(--gold);cursor:pointer;font-size:12px;letter-spacing:1px}
.reading-context>p{max-width:780px;margin:10px auto 0;color:var(--muted);font-size:12px;line-height:1.8;text-align:left;overflow-wrap:anywhere}
.reading-opening{max-width:780px;margin:12px auto 24px;color:var(--text);font-size:16px;line-height:1.9;text-align:left;overflow-wrap:anywhere}
.reading-decision-options{margin:10px auto 22px}
.reading-tension{max-width:780px;margin:0 auto;text-align:left}
.reading-tension p,.reading-analysis p{max-width:780px;margin-left:0;margin-right:0;text-align:left;overflow-wrap:anywhere}
.reading-analysis>section{max-width:780px;margin:34px auto 0}
.reading-analysis h3{text-align:left}
.reading-card>p{max-width:360px;margin:12px auto 0;text-align:left;line-height:1.9;overflow-wrap:anywhere}
.unlock-status{line-height:1.8;overflow-wrap:anywhere}
@media(max-width:760px){
  .decision-options-fields{padding:13px 13px 6px}
  .decision-options-note{padding:7px 10px;font-size:12px}
  .trial-fee-note{font-size:12px}
  .reading-context{margin-top:15px}
  .reading-opening{font-size:15px;margin:8px auto 18px}
  .reading-analysis>section{margin-top:26px}
  .reading-card>p{margin-top:10px}
}

/* Product pass: keep the ritual visual, give the reading a calm editorial rhythm. */
:root{--text:#f3ede2;--muted:#c1b7a7;--gold-light:#ead7b1}
body{overflow-x:hidden;color:var(--text)}
.question-actions{justify-content:flex-end;flex-wrap:wrap;align-items:center}
.question-service-note{color:var(--gold-light);font-size:13px;letter-spacing:.04em;white-space:nowrap;padding:8px 0}
.enter-button{min-width:124px}
.intake-step label[for] textarea,.intake-step label[for] select{margin-top:0}
.intake-more{border-top:1px solid #c4a47735;border-bottom:1px solid #c4a47735;margin:0 0 18px;padding:11px 0 2px}
.intake-more>summary{color:var(--gold-light);font-size:13px;cursor:pointer;list-style:none}
.intake-more>summary::-webkit-details-marker{display:none}
.intake-more>summary:after{content:'＋';color:var(--gold);float:right}
.intake-more[open]>summary:after{content:'－'}
.intake-more fieldset{margin-top:16px}
.intake-field-hint{color:var(--muted)!important;line-height:1.65}
.recommendation-best{border:1px solid #d5b77b99;background:linear-gradient(135deg,#2a2419e6,#151514f4);padding:17px 17px 18px;box-shadow:0 16px 36px #0005}
.recommendation-best-label{margin:0 0 9px!important;color:var(--gold-light)!important;font-size:12px!important;letter-spacing:.08em}
.recommendation-best .spread-recommendation-card{border-color:#e2cda6aa;background:transparent;padding:13px 0 2px;box-shadow:none}
.recommendation-best .spread-recommendation-card:hover,.recommendation-best .spread-recommendation-card:focus-visible{transform:none;box-shadow:none}
.recommendation-other{margin-top:14px;border-top:1px solid #c4a47735;border-bottom:1px solid #c4a47735;padding:12px 0}
.recommendation-other>summary{cursor:pointer;color:var(--gold-light);font-size:14px;list-style:none}
.recommendation-other>summary::-webkit-details-marker{display:none}
.recommendation-other>summary:after{content:'＋';float:right;color:var(--gold)}
.recommendation-other[open]>summary:after{content:'－'}
.recommendation-other-list{display:grid;gap:12px;margin-top:12px}
.recommendation-other .spread-recommendation-card{grid-template-columns:1fr;grid-template-areas:"tier" "name" "reason" "positions" "avoid"}
.spread-recommendation-card.is-best .spread-recommendation-tier{color:#f1d9a5}

.is-reading .reading{width:min(100% - 40px,960px);margin:0 auto; padding-top:64px}
.is-reading .reading-heading{max-width:680px;margin:0 auto 24px}
.reading-question,.reading-opening,.reading-core,.reading-spread,.consult-content,.reading-disclosure,.service-details{width:min(100%,680px);margin-left:auto;margin-right:auto}
.reading-question{margin-top:0;margin-bottom:24px;text-align:left}
.reading-opening{margin-top:0;margin-bottom:28px;text-align:left;color:var(--text);font-size:18px;line-height:1.9}
.reading-core{border-left:2px solid var(--gold);padding:3px 0 5px 18px;margin-bottom:34px;text-align:left}
.reading-core h3,.reading-spread-heading h3,.reading-story h3,.reading-analysis h3{font-family:var(--serif);font-weight:400;color:var(--gold-light)}
.reading-core h3{font-size:21px;margin:0 0 10px}
.reading-summary{max-width:none;margin:0 0 10px;font-size:21px;line-height:1.65;text-align:left}
.reading-core-tension{margin:0;color:var(--muted);font-size:16px;line-height:1.85;text-align:left}
.reading-decision-options{margin:0 auto 24px}
.reading-method,.reading-revealed{display:block;width:min(100%,680px);margin-left:auto;margin-right:auto;text-align:left}
.reading-spread{margin-top:12px}
.reading-spread-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-top:1px solid var(--line);padding-top:17px}
.reading-spread-heading h3{font-size:22px;margin:0}
.reading-spread-hint{max-width:680px;margin:12px auto 0;color:var(--muted);font-size:13px;line-height:1.8;text-align:left}
.reading-spread-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.reading-spread-actions .text-button{font-size:12px;color:var(--gold-light)}
.reading-card-preview{margin:25px auto 24px}
.reading-preview-card{height:auto}
.reading-card-trigger{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:center}
.reading-card-trigger:hover .card-front,.reading-card-trigger:focus-visible .card-front{border-color:var(--gold-light);box-shadow:0 0 0 3px #c4a47732,3px 8px 25px #0008,inset 0 0 0 5px #161719}
.reading-card-trigger:focus-visible{outline:2px solid var(--gold-light);outline-offset:7px}
.reading-card-trigger figcaption,.reading-preview-card figcaption{display:block}
.reading-card-trigger:after{content:'展开解释';display:block;color:var(--gold);font-size:11px;letter-spacing:.06em;margin-top:7px}
.reading-card-trigger[aria-expanded="true"]:after{content:'收起解释'}
.reading-card-static{display:block;width:100%;color:inherit;text-align:center}
.reading-evidence{margin-top:8px;border-top:0;padding-top:0}
.reading-evidence>summary{font-family:var(--body);font-size:13px;color:var(--muted);text-align:left}
.reading-evidence>summary:after{content:''}
.reading-evidence[open]>summary:after{content:''}
.reading-cards{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.reading-card-detail{border:1px solid #c4a4773d;background:#171819;padding:0 15px}
.reading-card-detail>summary{padding:12px 0;color:var(--gold-light);cursor:pointer;font-size:14px;text-align:left;list-style:none}
.reading-card-detail>summary::-webkit-details-marker{display:none}
.reading-card-detail>summary:after{content:'＋';float:right;color:var(--gold)}
.reading-card-detail[open]>summary:after{content:'－'}
.reading-card-detail>p{max-width:none;margin:0 0 14px;color:var(--text);font-size:15px;line-height:1.9;text-align:left}
.reading-story{margin:34px auto 0;border-top:1px solid var(--line);padding-top:20px;text-align:left}
.reading-story h3{font-size:21px;margin:0 0 9px}
.reading-story p,.reading-analysis p{max-width:none;margin:0;color:var(--text);font-size:16px;line-height:1.9;text-align:left}
.reading-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;margin-top:28px}
.reading-analysis>section{border-top:1px solid var(--line);padding-top:15px;margin:0}
.reading-analysis h3{font-size:19px;line-height:1.45;margin:0 0 8px;text-align:left}
.reading-analysis .reading-closing{grid-column:1/-1;border-color:#c4a47788;padding-top:19px}
.reading-analysis .reading-closing p{font-family:var(--serif);font-size:19px;color:var(--text);text-align:center}
.reading-context{max-width:none;margin:30px 0 14px;text-align:left}
.reading-context>summary{font-size:13px;color:var(--gold-light)}
.reading-context>p{max-width:none;margin:10px 0 0;font-size:13px;color:var(--muted);text-align:left}
.reading-alignment{max-width:none;margin:14px 0;padding:16px 18px}
.result-status{max-width:680px;text-align:center;margin:18px auto 0}
.service-details{margin-top:34px;border-top:1px solid var(--line);padding-top:14px}
.service-details>summary{cursor:pointer;color:var(--gold-light);font-size:13px;list-style:none}
.service-details>summary::-webkit-details-marker{display:none}
.service-details>summary:after{content:'＋';float:right;color:var(--gold)}
.service-details[open]>summary:after{content:'－'}
.service-details>div{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.8;text-align:left}
.service-details p{margin:8px 0}.service-details strong{color:var(--text)}
.reading-disclosure{font-size:13px;line-height:1.8;text-align:left;margin-top:20px}
.reading-story-content p{margin:0;white-space:pre-line}
.reading-story-content p+p{margin-top:1em}
@media(max-width:760px){
  .question-actions{flex-direction:row;justify-content:flex-end;gap:10px}.question-service-note{width:100%;text-align:right;padding-top:0;font-size:12px}
  .is-reading .reading{width:min(100% - 28px,680px);padding-top:40px}
  .reading-opening{font-size:16px}.reading-summary{font-size:19px}.reading-core-tension,.reading-story p,.reading-analysis p{font-size:15px}
  .reading-spread-heading{align-items:flex-start;flex-direction:column;gap:8px}.reading-spread-actions{justify-content:flex-start}
  .reading-analysis{grid-template-columns:1fr;gap:16px}.reading-analysis .reading-closing{grid-column:auto}.reading-analysis .reading-closing p{font-size:18px}
  .reading-card-preview{max-width:100vw;margin-left:calc((100% - 100vw)/2);margin-right:calc((100% - 100vw)/2);padding-left:max(14px,calc((100vw - 156px)/2));padding-right:max(14px,calc((100vw - 156px)/2));overflow-x:auto;overflow-y:visible}
  .reading-evidence{margin-top:0}
}

/* Keep the editorial copy lane narrow while giving semantic spreads their own scroll surface. */
.is-reading .reading-spread{width:100%;max-width:none;margin-left:auto;margin-right:auto}
.is-reading .reading-spread-heading,.is-reading .reading-evidence,.is-reading .reading-story{width:min(100%,680px);max-width:680px;margin-left:auto;margin-right:auto}
.is-reading .reading-card-preview{width:max-content!important;max-width:100%!important;box-sizing:border-box;justify-content:start!important;overflow-x:auto!important;overflow-y:hidden!important;padding:32px 40px 24px!important;margin:25px auto 24px!important}
