.tarot-page{--paper:#f7f4ed;--ink:#243d35;--muted:#686d62;--accent:#967343;--line:#dcd9ca;--green:#183f38;--cardpaper:#fffdf7;background:var(--paper);color:var(--ink);font-family:'Spectral',Georgia,serif;margin:0}
.tarot-page.night{--paper:#161e1b;--ink:#e9e5d7;--muted:#b0b6a7;--accent:#d1ae77;--line:#3d4b40;--green:#c4d7c6;--cardpaper:#202c25}
.tarot-page *{box-sizing:border-box}.tarot-page [hidden]{display:none!important}.tarot-page button,.tarot-page input,.tarot-page select,.tarot-page textarea{font:inherit}.tarot-page button,.tarot-page a{touch-action:manipulation}.tarot-page button{cursor:pointer}.tarot-page button:disabled{cursor:wait;opacity:.55}.tarot-page a{color:inherit}.tarot-page :focus-visible{outline:3px solid #ac8649;outline-offset:4px}.tarot-page .nav{position:relative;z-index:20}.tarot-page .tarot-nav-signin{min-height:44px;border:1px solid var(--line);background:transparent;border-radius:6px;padding:6px 15px;color:var(--ink)}
.tarot-main{max-width:1192px;margin:auto;padding:0 40px}.tarot-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);min-height:78px}.tarot-wordmark{font-family:'Cinzel',serif;font-size:15px;letter-spacing:2px;text-decoration:none;display:flex;gap:12px;align-items:center}.tarot-wordmark>span{font-size:30px;color:var(--accent)}.tarot-topline>div{display:flex;gap:24px}.tarot-topline button,.text-button{border:0;background:none;color:var(--ink);min-height:44px;padding:5px 0;font-size:13px}.tarot-topline button:hover,.text-button:hover{text-decoration:underline;text-underline-offset:5px}#journalCount{font-family:Arial,sans-serif;border:1px solid var(--line);border-radius:50%;display:inline-grid;place-items:center;width:22px;height:22px;font-size:10px;margin-left:6px}
.welcome{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:435px;gap:40px;padding:28px 0 36px}.eyebrow{font:10px/1.6 'Cinzel',serif;letter-spacing:2.2px;color:var(--accent);margin:0 0 20px}.welcome h1{font:500 clamp(46px,5vw,67px)/1.03 'Cormorant Garamond',Georgia,serif;letter-spacing:-1.8px;margin:0 0 22px}.welcome h1 em{font-weight:400;color:var(--accent)}.intro{font-size:15px;line-height:1.85;color:var(--muted);margin:0}.deck-label{display:flex;align-items:center;gap:13px;margin-top:26px;font-size:12px;line-height:1.55}.deck-label>span:first-child{color:var(--accent);font-size:23px}.deck-label small{font-size:11px;color:var(--muted)}
.hero-art{position:relative;height:350px;isolation:isolate}.hero-card{object-fit:cover;height:274px;width:158px;border:7px solid #f3e7c6;border-radius:7px;position:absolute;top:25px;box-shadow:0 9px 23px #23352830}.hero-left{left:calc(50% - 183px);transform:rotate(-14deg);top:43px;z-index:2}.hero-right{left:calc(50% + 23px);transform:rotate(14deg);top:43px;z-index:2}.hero-center{left:calc(50% - 82px);width:164px;height:284px;transform:rotate(-2deg);top:19px;z-index:3}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;width:325px;height:325px;left:calc(50% - 162px);top:0;z-index:-1}.orbit-two{width:365px;height:365px;left:calc(50% - 182px);top:-20px;border-style:dashed;opacity:.55}.hero-star{position:absolute;color:var(--accent);font-size:40px}.star-one{right:4px;top:4px}.star-two{left:5px;bottom:36px;font-size:22px}.hero-caption{position:absolute;bottom:-22px;width:100%;text-align:center;font-style:italic;font-size:12px;color:var(--muted)}
.reading-desk{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;background:var(--cardpaper);box-shadow:0 4px 20px #243d3505}.reading-form,.spread-panel{padding:28px 32px}.reading-form{border-right:1px solid var(--line)}.step-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.step-heading>span{font:10px 'Cinzel',serif;border:1px solid var(--line);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:var(--accent)}.step-heading h2{font:500 26px 'Cormorant Garamond',serif;margin:0}.reading-form>label,.tarot-dialog form label{font-size:12px;display:block;margin:0 0 9px}.reading-form>label small{font-size:10px;color:var(--muted);margin-left:5px}.tarot-page textarea,.tarot-dialog input,.tarot-dialog select{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:16px;min-width:0}.tarot-page textarea{resize:vertical;line-height:1.7;min-height:108px}.tarot-page textarea::placeholder{color:#838575;font-style:italic}.prompt-pills{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 16px}.prompt-pills button{font-size:11px;min-height:44px;padding:5px 11px;border:1px solid var(--line);border-radius:30px;background:none;color:var(--muted)}.prompt-pills button:hover{border-color:var(--accent);color:var(--ink)}.form-bottom{border-top:1px solid var(--line);padding-top:15px;display:grid;gap:2px}.switch-label{display:flex;align-items:center;gap:9px;font-size:12px;min-height:36px;cursor:pointer}.switch-label input{width:17px;height:17px;accent-color:#31594b}.subtle{font-size:11px;color:var(--muted);line-height:1.8}.form-bottom>.subtle{padding-left:26px}.spread-options{border:0;padding:0;margin:0 0 16px;display:grid;gap:7px}.spread-choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:9px 12px;min-height:59px;cursor:pointer;position:relative}.spread-choice:has(input:checked){border-color:#62816a;background:#e9eee580}.night .spread-choice:has(input:checked){background:#314535}.spread-choice:has(input:focus-visible){outline:3px solid #ac8649;outline-offset:3px}.spread-choice input{position:absolute;opacity:0;width:1px;height:1px}.spread-choice strong{display:block;font-size:12px;font-weight:500}.spread-choice small{display:block;font-size:10px;line-height:1.8;color:var(--muted)}.spread-icon{flex:none;width:44px;text-align:center;font:22px Georgia;color:var(--accent);letter-spacing:-3px}.spread-choice>span:last-child{min-width:0}.primary,.secondary{border:1px solid var(--green);border-radius:6px;background:var(--green);color:var(--paper);min-height:46px;padding:11px 22px;font-size:13px;transition:filter .2s}.primary:hover{filter:brightness(1.15)}.secondary{background:none;color:var(--ink);border-color:var(--line)}.secondary:hover{border-color:var(--accent)}.draw-button{width:100%;display:flex;align-items:center;justify-content:space-between}.draw-button span{font-size:20px;line-height:1}.draw-note{text-align:center;margin:9px 0 0;font-size:10px;font-style:italic;color:var(--muted)}.app-status{font-size:13px;text-align:center;color:var(--muted);min-height:20px;line-height:1.8;margin:14px 0}
.reading-result{padding:30px 0 40px;scroll-margin-top:25px}.result-heading{display:flex;gap:24px;align-items:center;justify-content:space-between}.result-heading h2{font:500 42px 'Cormorant Garamond',serif;margin:0}.result-heading .eyebrow{margin-bottom:10px}.result-heading #readingQuestion{font-size:15px;color:var(--muted);overflow-wrap:anywhere;max-width:800px}.reveal-hint{text-align:center;font-size:13px;font-style:italic;color:var(--muted);margin:25px 0}.drawn-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;max-width:930px;margin:auto}.drawn-cards.one{grid-template-columns:minmax(0,320px);justify-content:center}.draw-card{text-align:center;min-width:0}.card-position{font:11px 'Cinzel',serif;letter-spacing:1.2px;margin:0 0 18px;color:var(--accent)}.reveal-button{display:block;width:180px;height:312px;margin:auto;border:0;padding:0;background:transparent;border-radius:9px;perspective:1000px}.card-rotator{display:block;position:relative;width:100%;height:100%;transition:transform .7s;transform-style:preserve-3d;box-shadow:0 8px 22px #1b392323;border-radius:9px}.reveal-button.revealed .card-rotator{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;inset:0;border-radius:9px;backface-visibility:hidden;overflow:hidden}.card-back{background:#1d443a;border:7px double #bda575;display:flex;align-items:center;justify-content:center;color:#d0b77e}.card-back:before{content:'';position:absolute;inset:11px;border:1px solid #a88b535c;border-radius:70% 70% 45% 45%}.card-back:after{content:'';position:absolute;inset:34px 21px;border:1px solid #a88b5370;border-radius:50%}.back-symbol{font:68px 'Cormorant Garamond',serif}.back-label{position:absolute;bottom:21px;font:9px 'Cinzel',serif;letter-spacing:3px}.card-front{transform:rotateY(180deg);background:#f4e7c7;border:6px solid #f4e7c7}.card-front img{width:100%;height:100%;object-fit:contain}.card-front img.reversed{transform:rotate(180deg)}.card-meaning{margin-top:22px}.card-meaning h3{font:500 27px 'Cormorant Garamond',serif;margin:0 0 5px}.orientation{font:9px 'Cinzel',serif;letter-spacing:1.7px;color:var(--accent);margin:6px 0 12px}.card-meaning p:not(.orientation){font-size:13px;line-height:1.8;color:var(--muted)}.card-meaning .reflection{font-style:italic;color:var(--ink)!important}.reading-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:34px 0 20px}.interpretation-panel{max-width:760px;margin:32px auto 0;background:var(--cardpaper);border:1px solid var(--line);border-radius:10px;padding:32px 42px}.interpretation-panel h3{font:500 34px 'Cormorant Garamond',serif;margin:0 0 22px}.interpretation-panel .eyebrow{margin-bottom:8px}#interpretationText p{font-size:15px;line-height:1.95;overflow-wrap:anywhere}.ai-credit{border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:var(--muted)}
.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:36px 0 42px;border-bottom:1px solid var(--line)}.how-it-works span{font:9px 'Cinzel',serif;color:var(--accent);letter-spacing:1.4px}.how-it-works h3{font:500 24px 'Cormorant Garamond',serif;margin:10px 0}.how-it-works p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}.tarot-footer{padding:24px 0 30px;text-align:center;font-size:10px;color:var(--muted)}.tarot-footer>p:first-child{font-size:14px;font-style:italic}.tarot-footer>p:first-child span{color:var(--accent);padding-right:7px}.tarot-footer button{font:inherit;border:0;background:none;color:inherit;text-decoration:underline;min-height:44px;padding:0 3px}.tarot-footer>a{display:inline-flex;align-items:center;min-height:44px}.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}.skip-link{position:absolute;top:-80px;left:10px;z-index:100;background:var(--paper);padding:10px}.skip-link:focus{top:10px}
.tarot-dialog{width:min(560px,calc(100% - 32px));max-height:90dvh;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:28px 32px;box-shadow:0 16px 90px #0005}.tarot-dialog::backdrop{background:#15292099;backdrop-filter:blur(4px)}.wide-dialog{width:min(900px,calc(100% - 32px))}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.dialog-header h2{font:500 35px 'Cormorant Garamond',serif;margin:0}.dialog-header .eyebrow{margin-bottom:8px}.close-dialog{background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink);width:44px;height:44px;flex:none;font-size:28px!important}.tarot-dialog>p{font-size:13px;color:var(--muted);line-height:1.8}.deck-filters{display:flex;gap:12px;margin-top:22px}.deck-filters select{width:210px}.deck-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 17px;margin-top:16px}.library-card{border:0;background:none;color:var(--ink);padding:0;min-width:0;text-align:center;font-size:11px!important;line-height:1.4}.library-card img{display:block;width:100%;height:auto;margin:0 0 8px;border-radius:5px}.library-card:hover img{box-shadow:0 4px 16px #16382935}.detail-image{height:280px;max-width:100%;display:block;margin:0 auto 22px;object-fit:contain;border-radius:6px}#cardDetail h3{font:500 24px 'Cormorant Garamond',serif;margin:18px 0 6px}#cardDetail p{font-size:13px;line-height:1.9}#cardDetail a{font-size:11px;display:inline-flex;align-items:center;min-height:44px}.journal-entry{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:24px}.journal-entry h3{font:500 24px 'Cormorant Garamond',serif;margin:0}.journal-entry p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.journal-entry>div:first-child{min-width:0}.journal-entry .journal-buttons{display:flex;align-items:center;gap:12px;flex:none}.tarot-dialog form input{margin-bottom:18px}.tarot-dialog form .primary{width:100%}.tarot-dialog #signInStatus{font-size:12px;line-height:1.7}
.shuffle-dialog{width:min(580px,calc(100% - 32px));padding:28px 36px;margin:auto;text-align:center}
.shuffle-dialog .dialog-header{text-align:left;margin-bottom:8px}
.shuffle-dialog .dialog-header h2{font-size:34px}
.shuffle-dialog>p{margin:8px 0}
.shuffle-dialog .shuffle-context{font:10px/1.7 'Cinzel',serif;letter-spacing:.7px;color:var(--accent);margin-top:14px}
.shuffle-deck{display:block;width:100%;border:0;background:transparent;color:var(--ink);padding:0 0 8px;border-radius:8px}
.shuffle-deck[aria-disabled=true]{cursor:wait}
.shuffle-stage{display:block;position:relative;height:240px;max-width:330px;margin:0 auto;pointer-events:none}
.shuffle-halo{position:absolute;width:216px;height:216px;left:calc(50% - 108px);top:12px;border:1px dashed var(--line);border-radius:50%}
.shuffle-card.card-back{inset:auto;top:22px;left:calc(50% - 61px);width:122px;height:200px;border-width:5px;box-shadow:0 5px 12px #0002;overflow:hidden}
.shuffle-card:nth-of-type(2){margin:8px 0 0 8px}.shuffle-card:nth-of-type(3){margin:6px 0 0 6px}.shuffle-card:nth-of-type(4){margin:4px 0 0 4px}.shuffle-card:nth-of-type(5){margin:2px 0 0 2px}
.shuffle-card .back-symbol{font-size:56px}.shuffle-card .back-label{font-size:7px;letter-spacing:1.5px;bottom:17px}
.shuffle-label{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;border-bottom:1px solid var(--accent);padding:6px 12px}
.shuffle-deck:hover:not([aria-disabled=true]) .shuffle-label{color:var(--accent)}
.shuffle-dialog .shuffle-status{font-size:12px;min-height:23px;margin:5px 0 16px}
.cut-controls{border-top:1px solid var(--line);padding-top:15px;margin-bottom:19px;text-align:left}
.cut-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}
.cut-heading small{font-size:10px;color:var(--muted);margin-left:6px}.cut-heading output{font:10px 'Cinzel',serif;color:var(--accent)}
.cut-inputs{display:flex;align-items:center;gap:20px;margin-top:5px}
.tarot-dialog .cut-inputs input{min-height:44px;flex:1;padding:0;border:0;accent-color:var(--accent);background:transparent;cursor:pointer}
.cut-inputs button{flex:none;padding:8px 16px;font-size:12px;min-height:44px}
.cut-inputs button[aria-disabled=true]{opacity:.55;cursor:wait}
#cutHint{font-size:10px;color:var(--muted);margin:4px 0 0}
.finish-shuffle{width:100%}
.shuffle-dialog .shuffle-footnote{font-size:10px;font-style:italic;margin:10px 0 0}
/* Narrow screens need the artwork and controls to fit without horizontal scroll. */
@media(max-width:1080px){.tarot-main{padding:0 25px}.welcome{gap:12px}.hero-art{transform:scale(.9)}.reading-form,.spread-panel{padding:24px}.how-it-works{gap:28px}.drawn-cards{gap:22px}}
/* Phone: keep the intention and draw controls close, with full-sized touch inputs. */
@media(max-width:640px){.tarot-main{padding:0 18px}.tarot-topline{min-height:65px;gap:5px}.tarot-wordmark{font-size:11px;letter-spacing:1px;gap:5px}.tarot-wordmark>span{font-size:24px}.tarot-topline>div{gap:10px}.tarot-topline button{font-size:10px}#journalCount{display:none}.welcome{min-height:0;grid-template-columns:1fr;padding:26px 0 23px;gap:0}.welcome-copy{position:relative;padding-right:64px}.welcome .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:12px}.welcome h1{font-size:40px;letter-spacing:-1px;margin-bottom:15px}.intro{font-size:12px;line-height:1.8}.intro br{display:none}.deck-label{margin-top:15px;font-size:10px}.deck-label small{font-size:9px}.hero-art{height:0;transform:none;margin:0;pointer-events:none}.hero-card{display:none}.hero-center{display:block;width:69px;height:119px;border-width:3px;top:-205px;left:auto;right:0;transform:rotate(10deg)}.hero-caption,.orbit,.hero-star{display:none}.reading-desk{grid-template-columns:1fr}.reading-form{border-right:0;border-bottom:1px solid var(--line)}.reading-form,.spread-panel{padding:20px}.step-heading{margin-bottom:16px}.step-heading h2{font-size:24px}.prompt-pills{gap:5px;margin-bottom:10px}.prompt-pills button{font-size:10px;padding:3px 8px}.drawn-cards{grid-template-columns:1fr;gap:32px;max-width:360px}.draw-card{border-bottom:1px solid var(--line);padding-bottom:20px}.reveal-button{width:170px;height:294px}.card-meaning{margin-top:18px}.card-meaning p:not(.orientation){font-size:14px}.reading-actions{flex-direction:column;align-items:stretch}.reading-actions>button{width:100%;min-height:46px}.result-heading{gap:10px;align-items:flex-start}.result-heading h2{font-size:32px}.result-heading .text-button{white-space:nowrap;font-size:11px}.result-heading #readingQuestion{font-size:13px}.interpretation-panel{padding:24px}.how-it-works{grid-template-columns:1fr;gap:25px;padding:24px 0}.how-it-works h3{margin:7px 0}.how-it-works p{font-size:12px}.tarot-dialog{padding:22px 20px}.dialog-header h2{font-size:29px}.deck-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.deck-filters{flex-direction:column}.deck-filters select{width:100%}.journal-entry{display:block}.journal-entry .journal-buttons{justify-content:flex-start}.tarot-footer{padding-bottom:max(25px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.card-rotator,.primary{transition:none}.tarot-page *{scroll-behavior:auto!important}}
/* The shared header and fanned artwork otherwise exceed a narrow desktop pane. */
@media(min-width:641px) and (max-width:1080px){.tarot-page .nav{padding:12px 18px;gap:10px;flex-wrap:wrap}.tarot-page .nav-links{gap:10px}.tarot-page .nav-links a,.tarot-page .nav-drop-top{letter-spacing:1px}.welcome{grid-template-columns:minmax(0,1fr) 250px}.hero-art{width:250px;transform:scale(.67);transform-origin:center}.welcome h1{font-size:46px}.welcome .intro{font-size:13px}}
/* Phone: fit the whole shuffle ritual and keep the animated piles inside the dialog. */
@media(max-width:640px){.shuffle-dialog{padding:22px 20px}.shuffle-dialog .dialog-header h2{font-size:29px}.shuffle-dialog .dialog-header .eyebrow{font-size:9px;letter-spacing:1.5px}.shuffle-dialog>p{font-size:12px}.shuffle-stage{height:203px}.shuffle-halo{width:178px;height:178px;left:calc(50% - 89px)}.shuffle-card.card-back{width:96px;height:162px;left:calc(50% - 48px)}.shuffle-card .back-symbol{font-size:46px}.shuffle-card .back-label{font-size:6px;letter-spacing:.8px;bottom:14px}.shuffle-card.card-back:before{inset:7px}.shuffle-card.card-back:after{inset:26px 14px}.shuffle-dialog .shuffle-status{font-size:11px}.cut-inputs{gap:14px}}
