@font-face{font-family:DM Sans;src:url(/assets/fonts/dm-sans-latin.woff2)format("woff2");font-style:normal;font-weight:500 700;font-display:swap}@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-latin.woff2)format("woff2");font-style:normal;font-weight:500 600;font-display:swap}:root{--ink:#5e315e;--ink-soft:#8a6788;--paper:#fff8ef;--violet-deep:#743b76;--line:#5e315e47}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);margin:0;font-family:Fraunces,Georgia,serif}button{font:inherit}.tarot-page{isolation:isolate;background:radial-gradient(circle at 12% 10%,#d3bcee6b,#0000 30%),radial-gradient(circle at 88% 22%,#fcd5be7a,#0000 31%),radial-gradient(circle at 56% 66%,#dcbee152,#0000 33%),linear-gradient(145deg,#fffaf3 0%,#fdf4f1 48%,#faeee4 100%);flex-direction:column;align-items:center;min-height:100svh;padding:clamp(28px,6vw,64px) clamp(18px,4vw,48px) 44px;display:flex;position:relative;overflow:hidden}.aurora{z-index:-2;pointer-events:none;opacity:.75;filter:blur(42px);background:radial-gradient(circle at 30% 38%,#e7cdf68a,#0000 24%),radial-gradient(circle at 70% 62%,#ffdabe7a,#0000 25%);animation:14s ease-in-out infinite alternate aurora-breathe;position:fixed;inset:-25%}.is-drawing .aurora{animation:1.4s ease-in-out both aura-awakens}.star-field{z-index:-1;pointer-events:none;position:absolute;inset:0}.floating-star{object-fit:contain;opacity:.78;filter:drop-shadow(0 5px 10px #532a541f);height:auto;animation:star-drift var(--drift-duration) ease-in-out var(--drift-delay) infinite alternate;will-change:transform;position:absolute}.is-drawing .floating-star{animation:1.25s cubic-bezier(.2,.75,.25,1) both star-burst}.brand-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(16px,4vw,40px);width:min(100%,760px);display:grid}.brand-logo{width:clamp(160px,28vw,230px);height:auto;display:block}.brand-line{background:linear-gradient(90deg, transparent, var(--line));height:1px}.brand-line:last-child{background:linear-gradient(90deg, var(--line), transparent)}.aura-experience{place-items:center;width:min(100%,900px);min-height:clamp(490px,62svh,700px);padding:clamp(36px,7vh,76px) 0 clamp(40px,7vh,82px);display:grid}.is-idle .aura-experience,.is-drawing .aura-experience{flex:1;min-height:0;padding-block:clamp(56px,9vh,96px)}.aura-prompt{justify-items:center;gap:26px;width:100%;animation:.8s ease-out both prompt-arrival;display:grid}.aura-button,.dm-button{-webkit-appearance:none;appearance:none;color:#fffaf6;cursor:pointer;letter-spacing:-.02em;background:linear-gradient(135deg, #aa66a9, var(--violet-deep));border:0;font-family:DM Sans,sans-serif;font-weight:700;box-shadow:0 18px 34px #5c2d5b3d,inset 0 1px #ffffff61}.aura-button{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;width:min(84vw,360px);min-height:76px;font-size:clamp(17px,4.7vw,22px);transition:transform .22s,box-shadow .22s,filter .22s;position:relative;overflow:hidden}.aura-button:before{content:"";border-radius:inherit;border:1px solid #ffffff5c;position:absolute;inset:2px}.aura-button i{background:linear-gradient(90deg,#0000 43%,#ffffff6b 50%,#0000 57%);animation:3.6s ease-in-out infinite button-shimmer;position:absolute;inset:-50%;transform:translate(-70%)rotate(18deg)}.aura-button span{z-index:1;position:relative}.aura-button:hover:not(:disabled){transform:translateY(-3px)scale(1.015);box-shadow:0 23px 44px #5c2d5b4d,inset 0 1px #ffffff6b}.aura-button:active:not(:disabled){transform:translateY(1px)scale(.985)}:is(.aura-button:focus-visible,.dm-button:focus-visible){outline-offset:5px;outline:3px solid #89508b57}.aura-button:disabled{cursor:wait;filter:saturate(.82);animation:1.05s ease-in-out infinite aura-pulse}.tap-instruction{text-align:center;max-width:410px;color:var(--ink-soft);margin:0;font-size:clamp(19px,4.8vw,25px);line-height:1.3}.tap-instruction span{display:block}.revealed-card{perspective:900px;width:min(78vw,390px);margin:0;animation:.9s cubic-bezier(.16,.85,.3,1) both card-reveal;position:relative}.revealed-card img{z-index:1;border-radius:7.2%/4.8%;width:100%;height:auto;display:block;position:relative;box-shadow:0 35px 52px #4826483d,0 8px 16px #4826482e}.card-halo{filter:blur(26px);background:radial-gradient(#bd7ec46b,#f5c19a2e 46%,#0000 72%);border-radius:50%;animation:2.8s ease-in-out infinite alternate halo-glow;position:absolute;inset:9% -16%}.reading-cta{text-align:center;flex-direction:column;flex:none;align-items:center;gap:22px;width:min(100%,600px);margin-top:clamp(8px,2vh,24px);animation:.62s cubic-bezier(.2,.78,.24,1) .14s both cta-arrival;display:flex}.portrait-divider{flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:100%;display:grid}.portrait-divider>span{background:linear-gradient(90deg, transparent, var(--line));height:1px}.portrait-divider>span:last-child{background:linear-gradient(90deg, var(--line), transparent)}.portrait-frame{background:#fff9f2cc;border:1px solid #5e315e80;border-radius:22px;flex:0 0 76px;width:76px;height:76px;padding:3px;overflow:hidden;box-shadow:0 10px 24px #57325726,inset 0 0 0 2px #ffffff8c}.portrait-frame img{object-fit:cover;object-position:50% 35%;border-radius:18px;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.reading-cta p{flex:none;max-width:480px;margin:0;font-size:clamp(23px,5vw,31px);font-weight:600;line-height:1.18}.reading-cta p span{display:block}.dm-button{border-radius:24px;flex:none;place-items:center;width:min(80vw,330px);min-height:64px;font-size:clamp(18px,4.5vw,22px);text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid}.dm-button:hover{transform:translateY(-2px);box-shadow:0 21px 40px #5c2d5b4a,inset 0 1px #ffffff6b}footer{color:#5e315e80;letter-spacing:.08em;text-align:center;text-transform:uppercase;flex:none;margin-top:clamp(42px,6vh,72px);font-family:DM Sans,sans-serif;font-size:12px}.is-idle footer,.is-drawing footer{margin-top:auto}@keyframes aurora-breathe{to{transform:translate(4%,-3%)scale(1.06)}}@keyframes aura-awakens{0%{filter:blur(42px)saturate();transform:scale(1)}48%{filter:blur(32px)saturate(1.3);transform:scale(1.1)rotate(3deg)}to{filter:blur(40px)saturate(1.08);transform:scale(1.03)}}@keyframes star-drift{0%{transform:translate(-5px,-7px)rotate(-4deg)}to{transform:translate(8px,9px)rotate(7deg)}}@keyframes star-burst{0%{opacity:.78;transform:translate(0,0)scale(1)}65%{opacity:1}to{transform:translate3d(var(--burst-x), var(--burst-y), 0) scale(.78) rotate(45deg);opacity:.16}}@keyframes prompt-arrival{0%{opacity:0;transform:translateY(15px)}}@keyframes cta-arrival{0%{opacity:0;filter:blur(5px);transform:translateY(28px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes button-shimmer{0%,30%{transform:translate(-70%)rotate(18deg)}65%,to{transform:translate(70%)rotate(18deg)}}@keyframes aura-pulse{50%{transform:scale(1.025);box-shadow:0 25px 52px #5c2d5b57,0 0 48px #ac64ae40}}@keyframes card-reveal{0%{opacity:0;filter:blur(10px)saturate(.7);transform:translateY(34px)scale(.82)rotateX(9deg)}58%{opacity:1;filter:blur()saturate(1.08);transform:translateY(-8px)scale(1.025)rotateX(0)}to{opacity:1;filter:blur()saturate();transform:translateY(0)scale(1)}}@keyframes halo-glow{to{opacity:.72;transform:scale(1.08)}}@media (min-width:900px){.tarot-page{padding-top:42px}.aura-experience{min-height:650px;padding-top:50px;padding-bottom:62px}.is-idle .aura-experience,.is-drawing .aura-experience{min-height:0;padding-block:72px}.revealed-card{width:360px}}@media (max-width:520px){.tarot-page{padding-inline:16px}.brand-header{gap:11px}.brand-logo{width:150px}.aura-experience{min-height:500px;padding-block:32px 48px}.is-idle .aura-experience,.is-drawing .aura-experience{min-height:0;padding-block:46px}.revealed-card{width:min(82vw,350px)}.portrait-divider{gap:12px}.portrait-frame{border-radius:20px;flex-basis:70px;width:70px;height:70px}.portrait-frame img{border-radius:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reading-layout{grid-template-columns:minmax(48px,1fr) minmax(0,390px) minmax(48px,1fr);align-items:stretch;gap:clamp(8px,3vw,35px);width:100%;display:grid}.oracle-heading{text-align:center;color:var(--ink-soft);grid-column:1/-1;margin:0 0 22px;font:500 clamp(16px,2.8vw,22px) DM Sans,sans-serif}.reading-layout .revealed-card{width:100%}.side-note{text-align:center;color:var(--ink-soft);flex-direction:column;justify-content:space-around;align-items:center;font:italic clamp(12px,2.3vw,19px)/1.5 Georgia,serif;display:flex}.sticker{aspect-ratio:1.22;background-image:url(/assets/tarot/stickers.png);background-repeat:no-repeat;background-size:600% 600%;width:clamp(45px,10vw,105px);display:block}.marinate{text-align:center;background:#fff5;border-radius:30px;width:min(100%,560px);margin-bottom:30px;padding:24px 15px}.marinate h2{margin:0 0 12px;font-size:clamp(21px,4vw,29px);font-weight:500}.marinate p{color:var(--ink-soft);margin:0;font:500 15px/1.5 DM Sans,sans-serif}.share-button{color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:12px;margin:22px auto 0;font:500 17px DM Sans,sans-serif;display:flex}.share-button img{width:34px;height:34px}.share-button:disabled{opacity:.5}.is-revealed .aura-experience{min-height:0;padding-bottom:32px}.dm-button{border-radius:999px;width:min(100%,560px)}footer{line-height:1.7}.reading-cta{max-width:560px}.admin{max-width:1000px;margin:auto;padding:40px 24px;font-family:DM Sans,sans-serif}.admin label{margin:14px 0;display:block}.admin input{background:#fff;border:1px solid #b89cb9;border-radius:8px;width:100%;padding:12px;display:block}.admin button{color:var(--ink);cursor:pointer;border:1px solid #b89cb9;border-radius:12px;padding:10px 18px}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.admin-cards figure{margin:0}.admin-cards img{aspect-ratio:2/3;object-fit:contain;width:100%}.admin{max-width:1180px}.admin h1{font-family:Fraunces,Georgia,serif;font-weight:500}.admin-role{color:var(--ink-soft);font-size:13px}.admin-tabs,.periods{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.admin-tabs button,.periods button{background:0 0}.admin button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.analytics{padding:28px 0 36px}.analytics-heading,.chart-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.analytics-heading h2{margin:10px 0;font-family:Fraunces,Georgia,serif;font-size:clamp(24px,4vw,36px);font-weight:500}.eyebrow{letter-spacing:.16em;color:var(--ink-soft);font-size:10px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.metric{background:#fff9;border:1px solid #e9dce7;border-radius:18px;padding:24px}.metric span{color:var(--ink-soft);font-size:13px;display:block}.metric strong{margin-top:14px;font-size:42px;font-weight:500;display:block}.traffic-chart,.stat-breakdown{background:#fff6;border:1px solid #e9dce7;border-radius:18px;margin-top:18px;padding:24px}.chart-heading h3,.stat-breakdown h3{font-size:16px;font-weight:500}.chart-heading span{color:var(--ink-soft);font-size:11px}.bars{border-bottom:1px solid #e9dce7;align-items:flex-end;gap:5px;height:190px;margin:20px 0 35px;display:flex}.bars>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bars i{background:linear-gradient(#b578b7,#743b76);border-radius:5px 5px 0 0;width:80%;max-width:60px;display:block}.bars span{padding-top:8px;font-size:10px;position:absolute;top:100%}.breakdown-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.breakdown-row{justify-content:space-between;gap:10px;padding:12px 0 16px;font-size:13px;display:flex;position:relative}.breakdown-row i{background:#bd94bd;border-radius:3px;height:3px;position:absolute;bottom:6px;left:0}.breakdown-row span{overflow-wrap:anywhere}.stats-note{color:var(--ink-soft);margin:25px 0;font-size:12px;line-height:1.8}.popular-cards{gap:12px;display:flex;overflow:auto}.popular-cards figure{width:90px;min-width:90px;margin:0}.popular-cards img{object-fit:contain;width:90px;height:135px}.popular-cards figcaption{text-align:center;margin-top:8px;font-size:11px}.analytics table{text-align:left;width:100%;font-size:12px;line-height:1.9}.analytics details{font-size:12px}.admin a{color:var(--ink)}@media (max-width:600px){.metric-grid{grid-template-columns:repeat(2,1fr)}.metric{padding:18px}.metric strong{font-size:34px}.breakdown-grid{grid-template-columns:1fr}.chart-heading{display:block}.analytics-heading{align-items:flex-start}.admin{padding:25px 16px}.traffic-chart,.stat-breakdown{padding:18px}}
