@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&family=Noto+Serif+Thai:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#080d19;--gold:#d6b878;--muted:#9b9fad;--border:#ffffff13}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 37%,#19203966,transparent 56%),var(--bg);color:#edece9;font-family:'Noto Sans Thai',sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}.stars{position:absolute;inset:0 0 auto;height:1100px;pointer-events:none;z-index:-1;background-image:radial-gradient(1px 1px at 10% 10%,#e4d5b9 60%,transparent),radial-gradient(1px 1px at 75% 30%,#8198cc 60%,transparent),radial-gradient(1.5px 1.5px at 30% 75%,#c4bb9a 60%,transparent),radial-gradient(1px 1px at 90% 60%,#fff 60%,transparent);background-size:239px 263px,311px 337px,457px 401px,179px 191px;opacity:.6}header{height:99px;max-width:1400px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#e9d6ab;letter-spacing:5px;font-family:Georgia,serif;font-size:27px}.brand-mark{font-size:40px;line-height:1}.brand-sub{font-family:Arial,sans-serif;font-size:10px;letter-spacing:3px;border-left:1px solid #d6b87840;padding-left:17px;margin-left:4px;color:var(--muted)}.header-note{font-size:13px;color:var(--muted)}.header-note span{margin-left:18px;color:var(--gold)}main{width:min(1160px,90%);margin:auto}.intro{text-align:center;padding:46px 0 35px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;margin:0 0 14px;font-family:Arial,sans-serif}.intro h1{font-family:'Noto Serif Thai',serif;font-size:clamp(28px,3.2vw,43px);font-weight:400;line-height:1.55;margin:0 0 12px;letter-spacing:-.6px}.intro>p:not(.eyebrow){color:var(--muted);margin:0;font-size:15px}.date{display:inline-flex;gap:10px;align-items:center;color:#b6b7c2;border:1px solid var(--border);border-radius:30px;font-size:12px;padding:6px 16px;margin-top:23px}.date span{color:var(--gold)}.section-label{display:flex;justify-content:space-between;align-items:center;color:#847454;font-size:12px;margin:0 0 17px}.section-label b{color:#c8cbd4;font-weight:400;font-size:14px;margin-left:12px}.small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:2px;color:#676e82}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category{display:flex;align-items:center;gap:13px;text-align:left;color:#bbbfcf;border:1px solid #ffffff14;background:#101625;border-radius:9px;min-height:91px;padding:16px 17px;position:relative;transition:background .2s,border-color .2s}.category:hover{background:#1b2233;border-color:#85704d}.category.active{background:linear-gradient(115deg,#302b294f,#1b202c);border-color:#b393596e}.cat-icon{font-family:Georgia,serif;font-size:29px;color:#8991a9}.active .cat-icon,.active strong{color:#e4c68c}.category strong{display:block;font-size:16px;font-weight:500}.category small{display:block;font-size:11px;margin-top:4px;color:#9198aa}.selected-dot{position:absolute;top:10px;right:10px;width:4px;height:4px;border-radius:50%;background:transparent}.active .selected-dot{background:var(--gold)}.table-area{padding:33px 24px 23px;text-align:center;background:radial-gradient(ellipse at 50% 45%,#212b4666,transparent 65%);min-height:490px}.table-heading .eyebrow{font-size:10px;margin-bottom:8px}.table-heading h2{font-family:'Noto Serif Thai',serif;font-size:26px;font-weight:400;margin:0 0 6px}.table-heading>p:last-child{font-size:13px;color:var(--muted);margin:0}.fan{height:256px;position:relative;width:370px;max-width:100%;margin:18px auto 10px}.fan img{height:220px;width:143px;object-fit:cover;position:absolute;left:calc(50% - 71px);top:15px;border-radius:9px;box-shadow:0 14px 36px #0009;border:1px solid #b89a625e;transform-origin:center 120%}.fan img:nth-child(1){transform:rotate(-23deg) translateX(-64px)}.fan img:nth-child(2){transform:rotate(-12deg) translateX(-32px)}.fan img:nth-child(4){transform:rotate(12deg) translateX(32px);z-index:2}.fan img:nth-child(5){transform:rotate(23deg) translateX(64px);z-index:1}.fan img:nth-child(3){z-index:3;transform:translateY(-6px)}.primary{display:inline-flex;justify-content:center;gap:24px;align-items:center;padding:13px 29px;border:1px solid #edc98880;border-radius:6px;background:linear-gradient(110deg,#e1c58f,#c9a365);color:#181921;font-size:15px;font-weight:600;box-shadow:0 4px 28px #c4a46717;transition:filter .2s,transform .2s}.primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.action-area>p{font-size:11px;color:#798095;margin:13px 0 0}.secondary{border:1px solid #b99a6460;border-radius:6px;background:#192031;color:var(--gold);padding:11px 24px;margin:10px}.spread{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:21px 20px;margin:28px auto;max-width:850px}.spread.three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px}.card-wrap{min-width:0}.position{display:block;color:#b1b5c3;font-size:12px;margin-bottom:9px}.tarot-card{width:100%;aspect-ratio:2/3;border:1px solid #b99a6480;border-radius:9px;position:relative;padding:0;overflow:hidden;background:#111c32;transition:transform .3s,box-shadow .3s}.tarot-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0008}.tarot-card img{width:100%;height:100%;object-fit:cover;display:block}.card-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:radial-gradient(ellipse at 50% 30%,#384362,#141c30 80%);border:8px double #9d875859;color:#e7d2a6}.card-face:before{content:'✧';font-size:48px;color:#c2a977}.card-face .number{font:italic 34px Georgia,serif;margin:8px 0 13px}.card-face strong{font-family:Georgia,serif;font-size:16px;line-height:1.3;font-weight:400}.card-face small{font-size:12px;margin-top:7px}.card-face .direction{font-size:10px;margin-top:9px;color:#c1b18f}.tarot-card.revealed{animation:reveal .5s ease}.results{padding:20px 0 0;border-top:1px solid var(--border)}#interpretations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.interpretation{background:#101726cf;border:1px solid #ffffff12;border-radius:9px;padding:25px;animation:reveal .4s ease}.result-top{display:flex;gap:16px;align-items:center;margin-bottom:14px}.result-index{width:40px;height:40px;border:1px solid #b99a6440;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--gold);font:17px Georgia,serif}.result-top h3{font-size:16px;font-weight:500;margin:0;color:#dec696}.result-top small{font-size:12px;color:#949eb5}.interpretation p{font-size:16px;color:#bdc2ce;margin:0;line-height:1.9}.interpretation .advice{border-top:1px solid var(--border);padding-top:12px;margin-top:15px;font-size:14px;color:#d0bb91}.closing{text-align:center;padding:40px 0;color:#a5aabe;font-size:14px}.closing>span{color:var(--gold);font-size:28px}.closing p{margin:8px 0}.closing strong{font-weight:400;color:#d0c4ad}footer{border-top:1px solid var(--border);max-width:1400px;margin:15px auto 0;padding:24px 5%;display:flex;align-items:center;gap:28px;justify-content:space-between;color:#747d94;font-size:10px}.footer-brand{font-family:Georgia,serif;letter-spacing:3px;color:#bfa777;font-size:16px;white-space:nowrap}footer p{margin:0}footer>span:last-child{font-family:Arial,sans-serif;letter-spacing:2px;white-space:nowrap}@keyframes reveal{from{opacity:.2;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(min-width:1500px){.intro{padding-top:60px}.table-area{padding-top:40px}}@media(max-width:1000px){.categories{grid-template-columns:repeat(2,1fr)}.category small{font-size:12px}.spread{gap:15px}.card-face{padding:7px}.card-face:before{font-size:30px}.card-face .number{font-size:26px}.card-face strong{font-size:13px}.header-note{display:none}}@media(max-width:600px){header{height:77px;padding:0 6%}.brand{font-size:23px}.brand-sub{font-size:9px}main{width:90%}.intro{padding:32px 0 27px}.intro h1{font-size:28px}.intro>p:not(.eyebrow){font-size:14px;max-width:310px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px}.small{display:none}.categories{gap:9px}.category{padding:12px 10px;gap:8px;min-height:87px}.cat-icon{font-size:24px}.category strong{font-size:14px}.category small{font-size:11px;line-height:1.6}.table-area{padding:29px 0 20px}.table-heading h2{font-size:24px}.fan{height:246px;width:290px}.fan img{width:126px;height:194px;left:calc(50% - 63px)}.fan img:nth-child(1){transform:rotate(-23deg) translateX(-45px)}.fan img:nth-child(2){transform:rotate(-12deg) translateX(-23px)}.fan img:nth-child(4){transform:rotate(12deg) translateX(23px)}.fan img:nth-child(5){transform:rotate(23deg) translateX(45px)}.primary{font-size:14px;padding:12px 18px;gap:17px}.spread,.spread.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px;max-width:360px}.spread.three .card-wrap:last-child{grid-column:1/-1;width:calc(50% - 8px);justify-self:center}.card-face strong{font-size:16px}.card-face:before{font-size:36px}#interpretations{grid-template-columns:1fr}.interpretation{padding:20px}footer{flex-direction:column;text-align:center;gap:12px;font-size:11px}footer>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.reading-summary{margin:32px 0 0;padding:clamp(22px,4vw,44px);background:radial-gradient(ellipse at top right,#34314b66,transparent 70%),#121a2b;border:1px solid #b99a6459;border-radius:12px}.reading-summary h2{font:400 28px 'Noto Serif Thai',serif;color:#e3c995;margin:0 0 16px}.reading-summary>p:not(.eyebrow){font-size:16px;line-height:1.9;color:#c7cbd5}.summary-point{border-top:1px solid #ffffff12;padding:18px 0}.summary-point h3{font-size:16px;color:#ddc595;margin:0 0 6px;font-weight:500}.summary-point p{font-size:16px;color:#bec5d4;line-height:1.9;margin:0}.summary-action{border-left:2px solid var(--gold);padding:8px 16px}.summary-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.summary-buttons .secondary{margin:0;min-height:48px}.reading-summary #export-status{font-size:14px;margin:12px 0 0;min-height:1.6em;color:#bca77e}#share-fallback label{display:block;margin:16px 0 8px;font-size:14px}#share-text{width:100%;background:#080d19;border:1px solid #b99a6460;border-radius:6px;color:#e0e2e9;padding:14px;font:14px/1.7 'Noto Sans Thai',sans-serif;resize:vertical}@media(max-width:600px){.summary-buttons>button{width:100%}.reading-summary h2{font-size:24px}}
.birth-section{margin:0 0 30px}.birth-section form{padding:24px 28px;background:#111827d9;border:1px solid #b99a643b;border-radius:10px}.birth-heading h2{font-family:'Noto Serif Thai',serif;font-weight:400;font-size:22px;color:#e1ca9d;margin:0 0 5px}.birth-heading p{font-size:14px;color:#a8b0c2;margin:0 0 22px}.birth-fields{display:grid;grid-template-columns:1fr 1.5fr 1.2fr 1fr;gap:16px}.birth-fields label{display:block;font-size:14px;color:#c1c7d4;margin-bottom:7px}.birth-fields select,.birth-fields input{width:100%;min-height:48px;background:#0b1120;border:1px solid #6e75964f;border-radius:6px;color:#e1e4eb;padding:10px 12px;font:16px 'Noto Sans Thai',sans-serif}.birth-fields input:focus-visible,.birth-fields select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.birth-fields [aria-invalid=true]{border-color:#eb9ca4}.birth-error{color:#f1aab0;font-size:14px;margin:10px 0 0;min-height:1.5em}.birth-bottom{display:flex;gap:16px;align-items:center;justify-content:space-between}.birth-bottom p{font-size:13px;line-height:1.7;color:#99a4bb;max-width:540px;margin:4px 0}.birth-bottom .secondary{margin:0;white-space:nowrap;font-size:14px}.lucky-colors{background:linear-gradient(110deg,#22263a99,#131c2b);border:1px solid #b99a644d;border-radius:10px;margin-top:16px;padding:25px 28px}.lucky-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}.lucky-heading .eyebrow{margin-bottom:8px}.lucky-heading h2{font-size:20px;font-weight:500;color:#e4ceaa;margin:0}.lucky-heading>p{font-size:13px;color:#aab3c6;margin:0}.lucky-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.color-item{display:flex;align-items:center;gap:14px;padding:14px;background:#080d193f;border:1px solid #ffffff12;border-radius:8px;min-width:0}.color-swatch{width:42px;height:42px;border-radius:50%;border:3px solid #ffffff38;box-shadow:0 0 18px #ffffff08;flex-shrink:0}.color-item strong{display:block;font-size:16px;font-weight:500;color:#e3e3e9}.color-area{font-size:13px;color:#a5afc3;display:block;margin-bottom:2px}.color-note{font-size:13px;color:#9fa9bc;line-height:1.8;margin:18px 0 0}.summary-colors{padding:18px 0;border-top:1px solid #ffffff12}.summary-colors h3{font-size:16px;color:#ddc595;font-weight:500;margin:0 0 15px}@media(max-width:700px){.birth-section form,.lucky-colors{padding:20px}.birth-fields{grid-template-columns:1fr 1fr;gap:14px}.birth-bottom{flex-direction:column;align-items:stretch;gap:12px}.birth-bottom .secondary{width:100%}.lucky-heading{align-items:flex-start;flex-direction:column;gap:8px}.lucky-swatches{grid-template-columns:1fr}.color-item{padding:12px}.color-swatch{width:38px;height:38px}.birth-heading h2{font-size:20px}}

.brand{letter-spacing:1px}.footer-brand{letter-spacing:1px}@media(max-width:600px){.brand{gap:9px;font-size:24px}.brand-sub{display:none}}

.tarot-card.revealed{background:#e5d9bd}.tarot-card .tarot-art{object-fit:contain;width:100%;height:100%}.is-reversed{transform:rotate(180deg)}.card-caption{padding-top:10px;line-height:1.5;min-height:80px}.card-caption strong{display:block;font-family:Georgia,serif;color:#e4ceaa;font-size:15px;font-weight:400;overflow-wrap:anywhere}.card-caption>span{display:block;font-size:14px;color:#b8bfd0;margin-top:3px}.card-caption small{display:block;font-size:12px;color:#bba477;margin-top:5px}.result-card-image{width:60px;height:101px;object-fit:contain;flex-shrink:0;border-radius:4px;border:1px solid #a78a5959;background:#e5d9bd}.image-credit{display:block;color:#8e99ae;font-size:12px;text-align:center;margin:0 auto 20px;padding:0 20px}.image-credit a{color:#b7aa8f;text-underline-offset:3px}@media(max-width:600px){.card-caption strong{font-size:16px}.result-card-image{width:55px;height:93px}}
.summary-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.summary-brand{font:26px Georgia,serif;color:#e3c995}.summary-card-top>span:last-child{font-size:13px;color:#a6b1c7}.summary-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 14px;margin:25px 0 32px}.summary-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:660px;margin-left:auto;margin-right:auto}.summary-gallery figure{margin:0;min-width:0}.summary-mini-frame{height:clamp(130px,19vw,240px);display:flex;justify-content:center}.summary-mini-frame img{max-width:100%;height:100%;object-fit:contain;border-radius:4px}.summary-gallery figcaption{text-align:center;color:#ccbc9d;font-size:14px;line-height:1.6;margin-top:8px;overflow-wrap:anywhere}.summary-gallery figcaption small{display:block;font-size:12px;color:#9faac0}.summary-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 24px}.summary-insights .summary-point{border:1px solid #b99a6436;border-radius:8px;padding:22px;background:#0a12204d}.summary-insights .caution{border-color:#b8867940}.summary-point>small{display:block;margin-top:12px;font-size:12px;color:#a99d88}.short-summary h3{color:#e0c695;font-size:17px;font-weight:500;margin:20px 0 9px}.short-summary p{font-size:16px;line-height:1.9;color:#c7cbd5;margin:0}.summary-attribution{display:flex;align-items:center;flex-wrap:wrap;gap:5px 18px;border-top:1px solid #ffffff12;padding-top:23px;margin-top:24px;color:#a9b3c8;font-size:14px}.summary-attribution strong{color:#e0c695;font-weight:500}.summary-attribution a{color:#dcc392;text-underline-offset:3px}.summary-attribution small{width:100%;font-size:12px;color:#919eb7}.summary-buttons button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.summary-card-top{align-items:flex-start;flex-direction:column;gap:7px}.summary-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}.summary-gallery figure:last-child:nth-child(3n+1){grid-column:2}.summary-mini-frame{height:145px}.summary-gallery.three .summary-mini-frame{height:150px}.summary-gallery figcaption{font-size:12px}.summary-insights{grid-template-columns:1fr}.summary-insights .summary-point{padding:18px}}@media(max-width:360px){.summary-mini-frame,.summary-gallery.three .summary-mini-frame{height:120px}}
.table-area{position:relative;isolation:isolate}.motion-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.motion-toolbar button{font:13px 'Noto Sans Thai',sans-serif;color:#c3b189;background:#141d2e;border:1px solid #b99a6438;border-radius:20px;padding:6px 13px}.motion-toolbar button:hover{border-color:#ddbe7b}#spark-sky{position:absolute;inset:38px 0 0;overflow:hidden;pointer-events:none;z-index:-1;border-radius:18px}.ambient-spark{position:absolute;color:#dcc99d;font-size:var(--spark-size);animation:stardrift var(--spark-time) ease-in-out var(--spark-delay) infinite;opacity:0;text-shadow:0 0 12px #d7b77c80}.fan{animation:deck-hover 5s ease-in-out infinite}.fan.shuffling{animation:none}.fan.shuffling img{animation:shuffle-stack .65s ease-in-out both;animation-delay:calc(var(--fan-order,0)*25ms)}.fan img:nth-child(1){--fan-order:0;--shuffle-x:-55px}.fan img:nth-child(2){--fan-order:1;--shuffle-x:45px}.fan img:nth-child(3){--fan-order:2;--shuffle-x:-30px}.fan img:nth-child(4){--fan-order:1;--shuffle-x:60px}.fan img:nth-child(5){--fan-order:0;--shuffle-x:-40px}.card-wrap{position:relative;perspective:1100px;animation:card-deal .55s cubic-bezier(.18,.75,.25,1) var(--deal-delay,0ms) backwards}.tarot-card{overflow:visible;background:transparent;perspective:1000px;transition:transform .25s,box-shadow .25s,border-color .25s}.tarot-card:hover{box-shadow:0 10px 35px #0008,0 0 22px #d6b87824;border-color:#e4c78c}.tarot-card.revealed{animation:none;background:transparent}.card-turn{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.2,.72,.18,1) var(--flip-delay,0ms);border-radius:inherit}.turn-back,.turn-front{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit;overflow:hidden}.turn-front{transform:rotateY(180deg);background:#e5d9bd}.turn-back img{width:100%;height:100%;object-fit:cover}.tarot-card.revealed .card-turn{transform:rotateY(180deg)}.turn-back:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,#fff2 48%,transparent 64%);transform:translateX(-120%);transition:transform .7s;pointer-events:none}.tarot-card:hover .turn-back:after{transform:translateX(120%)}.reveal-spark{position:absolute;left:50%;top:42%;pointer-events:none;z-index:5;color:#f7dc98;font:19px Georgia,serif;text-shadow:0 0 10px #eccf87;animation:spark-burst var(--life) ease-out both}.card-caption{animation:caption-in .5s ease calc(var(--flip-delay,0ms) + .25s) backwards}.motion-paused .ambient-spark,.motion-paused .fan{animation-play-state:paused}.motion-off #spark-sky,.motion-off .reveal-spark{display:none}.motion-off .fan,.motion-off .fan img,.motion-off .card-wrap,.motion-off .card-caption{animation:none!important}.motion-off .card-turn,.motion-off .turn-back:after{transition:none!important}@keyframes stardrift{0%,100%{opacity:.05;transform:translate3d(0,12px,0) scale(.65)}45%{opacity:.65}70%{opacity:.25;transform:translate3d(7px,-20px,0) scale(1.1)}}@keyframes deck-hover{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes shuffle-stack{0%,100%{translate:0 0}40%{translate:var(--shuffle-x) -18px}65%{translate:calc(var(--shuffle-x)*-.35) 0}}@keyframes card-deal{from{opacity:0;transform:translateY(40px) rotateZ(-5deg) scale(.91)}to{opacity:1;transform:translateY(0) rotateZ(0) scale(1)}}@keyframes spark-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}18%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin)) scale(.1)}}@keyframes caption-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){#spark-sky,.reveal-spark{display:none}.card-turn{transition:none!important}.fan,.fan img,.card-wrap,.card-caption{animation:none!important}}@media(max-width:600px){.ambient-spark:nth-child(n+15){display:none}.motion-toolbar{margin-top:-9px}.reveal-spark{font-size:16px}}
