@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/kanit-400.ttf)format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/kanit-700.ttf)format("truetype")}@font-face{font-family:Kanit;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/kanit-800.ttf)format("truetype")}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--page-bg);min-height:100%}body{min-width:320px;min-height:100%;color:var(--ink);background:radial-gradient(circle at 12% 10%, var(--aura-strong), transparent 26rem), radial-gradient(circle at 88% 0%, var(--aura-soft), transparent 24rem), radial-gradient(circle at 50% 92%, var(--aura-third), transparent 28rem), radial-gradient(circle at 8% 82%, var(--aura-fourth), transparent 24rem), linear-gradient(135deg, var(--page-bg), var(--page-bg-alt));font-family:var(--font-rounded);margin:0;font-weight:400;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}:root,[data-theme=cosmic-mix]{--font-rounded:"Kanit", "Noto Sans Thai", "Leelawadee UI", system-ui, sans-serif;--page-bg:#e6f1ff;--page-bg-alt:#ffd2e6;--surface:#ffffffa8;--surface-strong:#fffafe;--ink:#1a1020;--muted:#6d5878;--line:#e62e856b;--accent:#e62e85;--accent-strong:#c71e68;--accent-soft:#ffb8db;--button-ink:#311126;--headline:#df267d;--shadow:0 24px 70px #da368840;--card-glow:#e62e8575;--aura-strong:#81c4ffa6;--aura-soft:#ff89c1b3;--aura-third:#ffabd89e;--aura-fourth:#99d1ff8c}[data-theme=peach-lavender]{--font-rounded:"Kanit", "Noto Sans Thai", "Leelawadee UI", system-ui, sans-serif;--page-bg:#ffe5d1;--page-bg-alt:#eef3ff;--surface:#ffffffb8;--surface-strong:#fff9fb;--ink:#150b12;--muted:#735b7a;--line:#e66ea040;--accent:#f24d86;--accent-strong:#e83d7c;--accent-soft:#ffd6e7;--button-ink:#2e1020;--headline:#f24d86;--shadow:0 24px 70px #a86ba033;--card-glow:#f24d865c;--aura-strong:#f7a1c580;--aura-soft:#ffe4bdad;--aura-third:#b9c8ec94;--aura-fourth:#ffffff8a}[data-theme=pink-yellow]{--font-rounded:"Kanit", "Noto Sans Thai", "Leelawadee UI", system-ui, sans-serif;--page-bg:#fff1f5;--page-bg-alt:#fff8df;--surface:#ffffffbd;--surface-strong:#fffafb;--ink:#130b10;--muted:#7c5368;--line:#f24d863b;--accent:#f24d86;--accent-strong:#e83d7c;--accent-soft:#ffe0ec;--button-ink:#2f1020;--headline:#f24d86;--shadow:0 24px 70px #dd528733;--card-glow:#f24d8659;--aura-strong:#f7a1c594;--aura-soft:#ffe6b1ad;--aura-third:#ffffffbd;--aura-fourth:#fff4be6b}[data-theme=white-blue]{--font-rounded:"Kanit", "Noto Sans Thai", "Leelawadee UI", system-ui, sans-serif;--page-bg:#edf4ff;--page-bg-alt:#fff4fb;--surface:#ffffffc2;--surface-strong:#fff;--ink:#11172c;--muted:#5e6686;--line:#6893d43b;--accent:#7ca7ef;--accent-strong:#496ecb;--accent-soft:#dfeaff;--button-ink:#13203a;--headline:#6c8fe8;--shadow:0 24px 70px #5274b42e;--card-glow:#7ca7ef5c;--aura-strong:#b9c8ecb3;--aura-soft:#f8c6d870;--aura-third:#ffe2c56b;--aura-fourth:#ffffff85}.app-shell{width:min(100%,1100px);min-height:100vh;margin:0 auto;padding:6px 14px 40px}.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;min-height:208px;display:grid}.brand-mark{grid-column:2;justify-content:center;justify-self:center;align-items:center;width:clamp(208px,54vw,340px);height:208px;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;width:clamp(208px,54vw,340px);height:208px;display:block;transform:translateY(-7px)}.social-links{grid-column:1;justify-self:start;gap:4px;display:flex}@media (width<=600px){.site-header{grid-template-rows:153px 32px;grid-template-columns:minmax(0,1fr);min-height:193px}.brand-mark{grid-area:1/1;align-self:start;height:193px}.social-links{grid-area:2/1;justify-self:center;transform:translateY(-18px)}}@media (width>=601px){.app-shell{padding-top:10px}.brand-logo{object-fit:cover;transform:translateY(6px)}.social-links{transform:translateY(80px)}}.social-link{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);background:var(--surface);border-radius:999px;place-items:center;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 4px 12px #42385a1a}.social-link svg{fill:currentColor;width:16px;height:16px}.social-link--line{width:32px;height:32px;box-shadow:none;background:0 0;border:0}.social-link--instagram{color:#d63d7a}.social-link-app-icon{width:32px;height:32px;display:block}.social-link--instagram svg{fill:none}.social-link--instagram .instagram-dot{fill:currentColor}.social-link:hover,.social-link:focus-visible{transform:translateY(-2px);box-shadow:0 8px 16px #42385a29}.social-link--line:hover,.social-link--line:focus-visible{box-shadow:none}.segmented-control{border:1px solid var(--line);background:var(--surface);border-radius:999px;grid-column:3;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;justify-self:end;gap:4px;padding:4px;display:inline-grid}.segment{min-width:0;min-height:34px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;display:inline-flex}.segment[data-active=true]{color:var(--button-ink);background:linear-gradient(135deg, var(--accent-soft), var(--surface-strong));box-shadow:inset 0 0 0 1px var(--line)}.review-panel{border:1px dashed var(--line);background:#ffffff6b;border-radius:14px;gap:8px;margin:6px 0 8px;padding:8px;display:grid}.review-group{color:var(--muted);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;font-size:.78rem;display:grid}.review-group>span{white-space:nowrap}.review-group .segmented-control{width:100%}.card-review-shell{width:min(100%,1440px);min-height:100vh;margin:0 auto;padding:18px 14px 56px}.card-review-header{border:1px solid var(--line);background:var(--surface);max-width:820px;box-shadow:var(--shadow);text-align:center;border-radius:24px;justify-items:center;gap:12px;margin:0 auto 22px;padding:20px 18px;display:grid}.card-review-header h1,.card-review-header p{margin:0}.card-review-header>p:not(.eyebrow){max-width:66ch;color:var(--muted);line-height:1.65}.card-review-grid{gap:18px;display:grid}.card-review-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:24px;align-content:start;gap:18px;padding:18px;display:grid;box-shadow:0 14px 36px #42385a1f}.card-review-card-heading{text-align:center}.card-review-card-heading h2,.card-review-card-heading p{margin:0}.card-review-card-heading h2{color:var(--headline);font-size:clamp(1.45rem,6vw,2rem);line-height:1.15}.card-review-order{color:var(--muted);margin-bottom:5px;font-size:.82rem;font-weight:700;display:inline-block}.card-review-thai-name{color:var(--accent-strong);font-size:1.05rem;font-weight:700;margin-top:5px!important}.card-review-image{border-radius:14px;width:min(68vw,250px);margin:0 auto;box-shadow:0 18px 42px #14192833}.card-review-copy{gap:12px;display:grid}.card-review-field{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:5px;padding:14px;display:grid}.card-review-field h3,.card-review-field p{margin:0}.card-review-field h3{color:var(--accent-strong);font-size:1rem}.card-review-field p{line-height:1.7}.card-review-keyword{text-align:center}.card-review-keyword p{color:var(--accent-strong);font-size:1.05rem;font-weight:700}.saved-reading-review-grid{gap:18px;display:grid}.saved-reading-review-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:24px;gap:16px;padding:18px;display:grid;box-shadow:0 14px 36px #42385a1f}.saved-reading-review-heading{text-align:center}.saved-reading-review-heading h2,.saved-reading-review-heading p{margin:0}.saved-reading-review-heading h2{color:var(--headline);font-size:clamp(1.45rem,6vw,2rem);line-height:1.15}.saved-reading-review-heading p{color:var(--accent-strong);margin-top:5px;font-weight:700}.saved-reading-review-pair{align-items:start;gap:12px;display:grid}.saved-reading-review-figure{min-width:0;color:var(--muted);text-align:center;gap:8px;margin:0;font-size:.86rem;font-weight:700;display:grid}.saved-reading-review-figure img{border:1px solid var(--line);border-radius:12px;width:100%;display:block;box-shadow:0 12px 28px #14192829}.saved-reading-review-figure:not(.saved-reading-review-figure--saved){width:min(100%,180px);margin:0 auto}.saved-reading-review-figure--saved a{display:block}.saved-reading-review-status{border:1px dashed var(--line);background:var(--surface);min-height:180px;color:var(--muted);border-radius:12px;place-items:center;margin:0;padding:14px;line-height:1.6;display:grid}.ritual-panel{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), #ffffff70);box-shadow:var(--shadow);border-radius:24px;padding:14px 12px;position:relative;overflow:hidden}.ritual-panel:before{pointer-events:none;content:"";background-image:radial-gradient(circle, var(--accent) 0 1px, transparent 1.5px), radial-gradient(circle, var(--accent-strong) 0 1px, transparent 1.5px);opacity:.16;background-position:12px 18px,55px 72px;background-size:92px 92px,134px 134px;position:absolute;inset:0}.ritual-panel>*{position:relative}.eyebrow{color:var(--accent-strong);text-align:center;margin:0 0 8px;font-size:clamp(.98rem,4.5vw,1.2rem);font-weight:700}.ritual-panel .eyebrow{font-size:clamp(1.5rem,2.2vw,1.7rem)}h1,h2,h3,p{overflow-wrap:anywhere}.thai-nowrap{white-space:nowrap}h1{max-width:720px;color:var(--headline);text-align:center;margin:0 auto 12px;font-size:clamp(1.35rem,6.4vw,2.75rem);font-weight:800;line-height:1.12}.reading-instruction{letter-spacing:-.015em;white-space:nowrap;width:100%;max-width:none;margin-bottom:22px;font-size:clamp(.86rem,3.7vw,1.05rem);line-height:1.2}.deck-stage{touch-action:manipulation;height:clamp(230px,36svh,340px);min-height:230px;margin:0 auto;position:relative;overflow:hidden}.deck-stage--fan{height:clamp(230px,32svh,300px);min-height:230px}.deck-stage--circle{height:clamp(340px,40svh,400px);min-height:340px;transition:height .22s}.deck{--fan-span:min(34vw, 160px);--circle-radius:min(31vw, 132px);position:absolute;inset:0}.deck-card{aspect-ratio:.6;cursor:pointer;filter:drop-shadow(0 8px 10px #181b2c3d);transform-origin:50% 128%;width:clamp(34px,8.8vw,58px);animation:.62s cubic-bezier(.18,.82,.26,1) both deal-in;animation-delay:var(--deal-delay);will-change:transform, opacity;background:0 0;border:0;border-radius:8px;padding:0;transition:transform .18s,filter .18s;position:absolute}.deck-card img{object-fit:cover;border-radius:8px;width:100%;height:100%;box-shadow:0 0 0 1px #ffffff38}.deck-card:focus-visible{outline:3px solid var(--accent-strong);outline-offset:4px;z-index:8}.deck--fan:before{border-top:1px solid var(--line);content:"";opacity:.48;background:radial-gradient(at 50% 100%,#ffffffa3,#0000 62%);border-radius:50% 50% 0 0/100% 100% 0 0;height:58%;position:absolute;bottom:10px;left:6%;right:6%}.deck--fan .deck-card{transform:translateX(-50%) translateX(calc(var(--fan-progress) * var(--fan-span))) translateY(var(--fan-y)) rotate(var(--fan-angle));bottom:36px;left:50%}.deck--fan .deck-card:hover,.deck--fan .deck-card:focus-visible{z-index:8;filter:drop-shadow(0 12px 18px #181b2c47);transform:translateX(-50%) translateX(calc(var(--fan-progress) * var(--fan-span))) translateY(calc(var(--fan-y) - 28px)) rotate(var(--fan-angle)) scale(1.06)}.deck--fan .deck-card[data-selected=true]{z-index:9;filter:drop-shadow(0 0 22px var(--card-glow));transform:translateX(-50%) translateX(calc(var(--fan-progress) * var(--fan-span))) translateY(calc(var(--fan-y) - 48px)) rotate(var(--fan-angle)) scale(1.12)}.deck--circle .deck-card{transform-origin:50%;width:clamp(28px,7.6vw,50px);transform:translate(-50%, -50%) rotate(var(--circle-angle)) translateY(calc(var(--circle-radius) * -1));top:50%;left:50%}.deck--circle:before{width:calc(var(--circle-radius) * 2 + 96px);aspect-ratio:1;border:1px solid var(--line);content:"";background:radial-gradient(circle,#ffffff8a,#0000 62%);border-radius:999px;max-width:89%;transition:transform .22s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deck--circle .deck-card:hover,.deck--circle .deck-card:focus-visible{z-index:8;filter:drop-shadow(0 12px 18px #181b2c47);transform:translate(-50%, -50%) rotate(var(--circle-angle)) translateY(calc((var(--circle-radius) + 8px) * -1)) scale(1.1)}.deck--circle .deck-card[data-selected=true]{z-index:9;filter:drop-shadow(0 0 22px var(--card-glow));transform:translate(-50%,-50%)rotate(0)scale(1.5)}.reading-controls{justify-items:center;gap:10px;margin:20px auto 0;display:grid}.hint-text,.trust-line,.disclaimer{color:var(--muted);text-align:center;margin:0;font-size:.88rem;line-height:1.45}.control-row,.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.primary-action,.secondary-action,.ghost-action{cursor:pointer;border-radius:999px;min-height:44px;font-weight:700;text-decoration:none}.primary-action{color:var(--button-ink);background:linear-gradient(135deg, var(--accent-soft), var(--accent));box-shadow:0 14px 34px var(--card-glow);border:0;padding:10px 18px}.primary-action:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.secondary-action,.ghost-action{border:1px solid var(--line);color:var(--ink);background:var(--surface);padding:9px 15px}.ghost-action{color:var(--muted);background:0 0}.as-link{justify-content:center;align-items:center;display:inline-flex}.trust-line{margin-top:10px;font-size:.82rem}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#66347257;place-items:end center;padding:0;display:grid;position:fixed;inset:0}.modal-backdrop--nested{z-index:40;place-items:center;padding:18px}.fortune-modal,.small-modal,.preview-modal{width:min(100%,760px);color:var(--ink);background:radial-gradient(circle at 50% 0%, var(--aura-strong), transparent 24rem), var(--surface-strong);box-shadow:var(--shadow);position:relative}.fortune-modal{border-radius:26px 26px 0 0;gap:14px;max-height:100svh;padding:24px 18px 28px;display:grid;overflow-y:auto}.small-modal,.preview-modal{border:1px solid var(--line);text-align:center;border-radius:24px;max-height:min(92svh,820px);padding:22px;overflow-y:auto}.modal-close{border:1px solid var(--line);min-width:42px;min-height:36px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:999px;justify-self:end}.modal-card-reveal{perspective:1000px;width:min(50vw,260px);margin:0 auto}.modal-card-inner{aspect-ratio:.6;transform-style:preserve-3d;transition:transform .82s cubic-bezier(.2,.7,.2,1);position:relative}.modal-card-reveal[data-revealed=true] .modal-card-inner{transform:rotateY(180deg)}.modal-card-face{backface-visibility:hidden;object-fit:cover;border-radius:14px;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 18px 50px #14192842}.modal-card-front{transform:rotateY(180deg)}.reveal-loading{color:var(--muted);text-align:center;margin:0;font-weight:700}.fortune-content{gap:12px;max-width:620px;margin:0 auto;display:grid}.fortune-content h2,.fortune-content h3,.fortune-content p{margin:0}.fortune-content h2{text-align:center;font-size:clamp(1.7rem,8vw,3rem);font-weight:700}.fortune-content h3{color:var(--accent-strong);text-align:center;font-size:clamp(1rem,4.8vw,1.35rem)}.fortune-content p{line-height:1.75}.fortune-keyword{color:var(--accent-strong);text-align:center;font-size:clamp(1rem,4.8vw,1.35rem);font-weight:700}.fortune-section{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:18px;gap:6px;padding:16px 18px 18px;display:grid}.fortune-section p{max-width:46ch;margin-inline:auto}.line-contact{border:1px solid var(--line);min-height:46px;color:var(--ink);background:var(--surface);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:800;text-decoration:none;display:flex}.line-contact span{color:#0f2d15;background:#b9f4c8;border-radius:999px;padding:4px 8px;font-size:.78rem}.tip-modal{justify-items:center;display:grid}.tip-modal .modal-close{justify-self:end;margin-bottom:2px}.tip-modal .qr-image{margin-top:0}.qr-image{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(68vw,300px);margin:10px auto}.account-box{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:16px;gap:7px;width:min(100%,360px);margin:16px auto;padding:16px 20px;display:grid}.account-box span{color:var(--muted);font-size:clamp(1rem,4.4vw,1.125rem);font-weight:700}.account-box strong{font-size:clamp(1.125rem,5vw,1.35rem);line-height:1.45}.account-box small{color:var(--ink);letter-spacing:.04em;font-size:clamp(1.45rem,7.2vw,1.8rem);font-weight:900;line-height:1.25}.copy-account-button{min-width:190px;color:var(--accent-strong);justify-self:center;margin-top:4px;font-size:clamp(.9rem,4.2vw,1rem);font-weight:800}.preview-frame{border:1px solid var(--line);background:#ffffff70;border-radius:18px;place-items:center;min-height:360px;max-height:62svh;margin:14px auto;display:grid;overflow:hidden auto}.preview-frame img{width:min(100%,360px);max-width:100%;height:auto;display:block}@keyframes deal-in{0%{opacity:0;scale:.88;translate:var(--deal-x) var(--deal-y)}to{opacity:1;translate:0;scale:1}}@media (width>=720px){.app-shell{padding:10px 24px 56px}.review-panel{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card-review-shell{padding:28px 24px 72px}.card-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.card-review-item{padding:22px}.saved-reading-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.saved-reading-review-item{padding:22px}.saved-reading-review-pair{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}.saved-reading-review-figure:not(.saved-reading-review-figure--saved){width:auto}.ritual-panel{padding:28px}.reading-instruction{margin-bottom:28px;font-size:clamp(1.1rem,1.75vw,1.4rem)}.deck-stage--fan{height:350px}.deck-stage--circle{height:532px}.deck{--fan-span:min(39vw, 440px);--circle-radius:190px}.deck-card{width:clamp(44px,5.2vw,66px)}.deck--circle .deck-card{width:clamp(36px,4.5vw,54px)}.reading-controls .hint-text{display:none}.modal-backdrop{place-items:center;padding:28px}.fortune-modal{border:1px solid var(--line);border-radius:28px;max-height:min(92svh,900px)}}@media (width<=390px){.segment{padding-inline:9px;font-size:.82rem}.control-row{width:100%}.primary-action,.secondary-action,.ghost-action{flex:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
