:root{color-scheme:dark;--gold:#cdb57d;--ink:#edf0e6;--muted:#a5b6aa;--line:#af97663b}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#0b211f;font:15px/1.65 Georgia,serif;background-image:radial-gradient(ellipse at 50% 30%,#31564c85,transparent 60%),linear-gradient(130deg,#071c1b,#18352f 55%,#091d1d);min-height:100vh}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.18;background:repeating-linear-gradient(90deg,transparent 0 90px,#a8c5ad09 91px 92px);z-index:-1}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:var(--gold);background:transparent;border:1px solid var(--line);padding:10px 18px;border-radius:5px}button:hover{border-color:var(--gold);background:#cdb57d0d}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:default}header{height:88px;max-width:1280px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--gold);text-decoration:none;font-size:26px;display:flex;align-items:center;gap:13px}.brand span{font-size:12px;letter-spacing:3px}nav{display:flex;gap:10px}nav button{border:0;font-size:13px}main{max-width:1060px;margin:auto;padding:52px 30px 20px;text-align:center}.eyebrow{font:10px/1.5 system-ui,sans-serif;letter-spacing:3px;color:var(--gold)}h1{font-weight:400;font-size:clamp(38px,5vw,64px);line-height:1.12;margin:20px 0}h1 em{color:var(--gold);font-weight:400}.intro{color:var(--muted);font-size:16px;margin:20px 0 34px}#consult{text-align:left;max-width:850px;margin:auto}#form>label{display:block;color:#dce4d8;font-size:14px;margin:0 0 10px}.inputrow{display:flex;border:1px solid #bda46d65;border-radius:7px;background:#071b1980;padding:7px;gap:8px}input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);padding:12px;font-size:16px;outline:none}input::placeholder{color:#8fa399}.primary{background:var(--gold);color:#152d27;border-color:var(--gold);font-weight:bold;padding:12px 22px}.primary:hover{background:#e0c997;color:#10251f}.primary span{margin-left:15px}.formfoot{display:flex;justify-content:space-between;gap:15px;margin:10px 0 32px;color:var(--muted);font-size:11px}.formfoot select{background:#102b26;color:#cdbd93;border:0;max-width:200px;font-size:12px}.spread{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;max-width:740px;margin:0 auto}.position{font-size:12px;color:var(--gold);margin-bottom:15px}.position span{letter-spacing:3px;font:10px system-ui,sans-serif;margin-left:8px}.card{position:relative;display:block;width:100%;aspect-ratio:2/3;padding:0;border-radius:10px;border:1px solid #bd9e60;box-shadow:0 15px 35px #0006;background:#0c2826;transition:transform .6s,box-shadow .3s;overflow:hidden}.card:not(:disabled):hover{transform:translateY(-6px);box-shadow:0 20px 35px #0008}.back{position:absolute;inset:8px;border:1px solid #b9a06680;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse,#45625750,transparent),repeating-conic-gradient(from 45deg,#b9a0660b 0 25%,transparent 0 50%) 0 0/18px 18px}.back:before{content:'';position:absolute;inset:9px;border:1px solid #b9a06640;border-radius:80px 80px 2px 2px}.back>span{font-size:62px;color:var(--gold);line-height:1.3}.back small{font:9px/2 system-ui,sans-serif;letter-spacing:3px;color:var(--gold);margin:8px}.ornament{font-size:20px;color:var(--gold);margin:7px}.front{display:none;height:100%;position:relative}.front img{width:100%;height:100%;object-fit:cover}.front .title{position:absolute;bottom:0;left:0;right:0;padding:28px 3px 12px;background:linear-gradient(transparent,#061914 70%);color:#eee2b8;font-size:15px}.revealed .back{display:none}.revealed .front{display:block;animation:reveal .7s}.caption{color:var(--muted);font-size:12px;margin-top:13px}#status{font-style:italic;color:#a8bcae;font-size:13px;margin:22px 0}.bottomnote{display:flex;gap:17px;align-items:center;justify-content:center;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.bottomnote>span{color:var(--gold);font-size:25px}.bottomnote p{color:var(--muted);font-size:13px}.bottomnote strong{color:#d2ddcf;font-weight:400}footer{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#91a69b;font:10px/1.6 system-ui,sans-serif}footer button{font-size:11px;padding:5px 12px;white-space:nowrap}#reading{text-align:left;max-width:850px;margin:50px auto 0}h2{font-size:34px;font-weight:400;margin:12px 0}#asked{font-style:italic;color:var(--gold);overflow-wrap:anywhere}#interpretations{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:28px}h3{color:#e5d3a5;font-weight:400;font-size:21px;margin:0 0 10px}.readingcard p,.synthesis p{font-size:15px;color:#c2d0c5}.readingcard small{color:var(--muted);letter-spacing:2px}.synthesis{border:1px solid var(--line);background:#071b1950;padding:26px;margin-top:28px;border-radius:7px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}dialog{background:#112d28;color:var(--ink);border:1px solid var(--gold);border-radius:10px;max-width:850px;width:90%;max-height:85vh;padding:35px}dialog::backdrop{background:#03110de0;backdrop-filter:blur(6px)}#close{float:right}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:6px}.gallery p{margin:5px 0 20px;color:var(--gold)}.entry{border-top:1px solid var(--line);padding:20px 0;overflow-wrap:anywhere}.entry p{margin:8px 0}#feedback{color:var(--gold)}@keyframes reveal{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(max-width:650px){header{height:70px;padding:0 18px}.brand span{font-size:9px;letter-spacing:1.5px}.brand{font-size:23px;gap:8px}nav{gap:0}nav button{font-size:11px;padding:8px}main{padding:36px 18px 20px}.eyebrow{font-size:8px;letter-spacing:2px}.intro{font-size:14px}.inputrow{flex-direction:column}.formfoot{flex-direction:column;gap:7px;margin-bottom:28px}.spread{gap:12px}.position span{font-size:8px;letter-spacing:1px;margin-left:3px}.position{font-size:10px}.back{inset:4px}.back:before{inset:4px}.back>span{font-size:38px}.back small{font-size:6px;letter-spacing:1px}.ornament{font-size:13px;margin:0}.caption{font-size:10px;line-height:1.4;min-height:28px}.front .title{font-size:11px;padding-bottom:7px}.card{border-radius:7px}#interpretations{grid-template-columns:1fr;gap:16px}h2{font-size:28px}footer{flex-wrap:wrap;justify-content:center}.gallery{grid-template-columns:repeat(2,1fr)}dialog{padding:22px}.bottomnote{margin-top:18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.expandmark{position:absolute;right:7px;top:5px;color:#fff5d2;background:#09261ea8;border-radius:4px;padding:0 5px;font-size:20px}.textcard{border:0;padding:0;text-align:left;font:inherit;color:inherit}.textcard span{font-size:16px;color:var(--gold)}.suitfilters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.suitfilter[aria-pressed=true]{background:var(--gold);color:#102c29}.gallerycard{padding:0;border:0;text-align:center}.gallerycard img{display:block}.gallerycard span{display:block;color:var(--gold);margin:8px 0 15px}#viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:18px 24px;background:#061914fa;display:none;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;overflow:hidden}#viewer[open]{display:grid}.viewerbar{display:flex;align-items:center;justify-content:space-between;max-width:1100px;width:100%;margin:auto;text-align:left}.viewerbar h2{font-size:25px;margin:0}.viewerbar small{color:var(--muted);font-size:11px}.viewerbar button{font-size:20px}#viewerbody{overflow:auto;min-height:0;text-align:center;overscroll-behavior:contain}#viewerimg{display:block;margin:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain;border-radius:8px}.viewercontrols{display:flex;gap:14px;justify-content:center}#viewermeaning{max-width:800px;margin:0 auto;color:var(--muted);text-align:center;font-size:13px}#viewer.zoomed #viewerimg{height:auto;max-height:none;width:1024px;max-width:none}.offlineline{font:11px/1.6 system-ui,sans-serif;color:var(--muted);margin:22px 0}.offlineline button{font-size:11px;padding:4px 10px;margin-left:8px}@media(max-width:650px){#viewer{padding:12px 12px max(12px,env(safe-area-inset-bottom));gap:10px}.viewerbar h2{font-size:22px}#viewermeaning{font-size:12px;max-height:4.8em;overflow:auto}.viewercontrols button{padding:8px 13px}.suitfilters{gap:6px}.suitfilters button{font-size:12px;padding:7px 10px}.gallerycard span{font-size:13px}}
header{padding-top:env(safe-area-inset-top);height:calc(88px + env(safe-area-inset-top))}#viewer{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}@media(max-width:650px){header{height:calc(70px + env(safe-area-inset-top))}#viewer{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}}

.front img.is-reversed,#viewerimg.is-reversed{transform:rotate(180deg)}#viewermeaning{width:min(900px,100%);max-height:28dvh;overflow:auto;border:1px solid var(--line);background:#102c2980;border-radius:7px;padding:14px 18px;text-align:left;font-size:15px;line-height:1.65}#viewermeaning strong{color:var(--gold);font-weight:400;font-size:16px}#viewermeaning .meaningcopy{display:block;margin:6px 0 12px}#viewermeaning .meaningcopy:last-child{margin-bottom:0}@media(max-width:650px){#viewermeaning{font-size:14px;max-height:28dvh;padding:10px 13px}#viewermeaning strong{font-size:15px}}

#synthesis{white-space:pre-line}.contextbox{border-top:1px solid var(--line);margin:-12px 0 30px;padding-top:12px;color:var(--muted);font-size:13px}.contextbox summary{cursor:pointer;color:var(--gold);width:fit-content;padding:4px 0}.contextbox label{display:block;margin:14px 0 8px;color:var(--ink)}.contextbox textarea{display:block;width:100%;font:16px/1.6 Georgia,serif;resize:vertical;min-height:110px;max-height:350px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#071b1980;color:var(--ink)}.contextbox textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.contextbox p{font-size:11px;margin:8px 0}.savedcontext{font-size:13px;color:var(--muted)}
