.fortune-shell{--gold:#edc77e;--purple:#bda2ee;color:#f6efff;background:#100d24;border-radius:28px;padding:52px 36px 24px;margin:24px auto;max-width:1160px;background-image:radial-gradient(ellipse at 30% 25%,#352153aa,transparent 50%),radial-gradient(ellipse at 80% 60%,#122c4e99,transparent 50%);overflow:hidden}.fortune-heading{text-align:center;margin-bottom:32px}.fortune-kicker{font-size:11px;letter-spacing:2.5px;color:var(--gold)}.fortune-heading h1{font:500 clamp(32px,5vw,52px)/1.4 'Noto Serif Thai',serif;margin:14px 0}.fortune-heading em{font-style:normal;color:var(--gold)}.fortune-heading p,.fortune-input>p{color:#c0b5d1;line-height:1.8}.fortune-note,.fortune-fixed{display:inline-block;border:1px solid #edc77e55;color:var(--gold);border-radius:30px;padding:6px 16px;font-size:12px}.fortune-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fortune-tabs button{border:1px solid #ffffff20;border-radius:16px;background:#ffffff05;color:#d1c4e5;text-align:left;padding:18px;cursor:pointer}.fortune-tabs button[aria-pressed=true]{border-color:var(--gold);background:#edc77e0e;color:var(--gold)}.fortune-tabs span{font-size:25px;float:right}.fortune-tabs strong,.fortune-tabs small{display:block}.fortune-tabs small{font-size:11px;margin-top:5px;color:#b8aaca}.fortune-stage{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding:46px 12px}.fortune-art{text-align:center;position:relative}.fortune-art>p{font-size:12px;color:var(--gold)}.fortune-fan{height:365px;position:relative;perspective:900px}.fortune-fan img{position:absolute;width:190px;height:285px;object-fit:cover;border-radius:14px;left:calc(50% - 95px);top:28px;transform:translateX(calc((var(--i) - 1)*85px)) rotate(calc((var(--i) - 1)*13deg));box-shadow:0 18px 45px #0009;border:1px solid #edc77e77;transition:transform .5s}.fortune-fan:hover img{transform:translateX(calc((var(--i) - 1)*95px)) rotate(calc((var(--i) - 1)*16deg)) translateY(-8px)}.fortune-input h2{font-family:'Noto Serif Thai',serif;font-size:28px}.fortune-input label{display:block;color:#e0d5ed;font-size:13px;margin-bottom:17px}.fortune-input input:not([type=radio]),.fortune-input select{display:block;width:100%;margin-top:7px;background:#ffffff09;color:#fff;border:1px solid #ffffff30;border-radius:10px;padding:13px;font:inherit;color-scheme:dark;box-sizing:border-box}.fortune-input option{background:#19132e}.fortune-input fieldset{display:flex;gap:28px;border:0;padding:0;margin:0 0 12px}.fortune-input legend{font-size:13px;margin-bottom:10px}.fortune-input fieldset label{margin:0}.fortune-private{font-size:11px;color:#c2b4d3;line-height:1.7}.fortune-primary{width:100%;border:0;border-radius:12px;background:linear-gradient(110deg,#f4d794,#d0a85e);color:#281b31;font-weight:700;padding:16px;font-size:16px;cursor:pointer}.fortune-shell button:disabled{opacity:.6;cursor:wait}.fortune-shell button:focus-visible,.fortune-shell a:focus-visible,.fortune-shell input:focus-visible,.fortune-shell select:focus-visible{outline:3px solid #eac983;outline-offset:4px}#fortune-status{min-height:24px;color:var(--gold);font-size:13px}.fortune-orb{display:block;position:relative;width:100%;border:0;padding:0;border-radius:50%;background:none;cursor:pointer;overflow:hidden;box-shadow:0 0 45px #865be322}.fortune-orb img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.fortune-orb span{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font:700 88px/1 Georgia,serif;color:#fff;text-shadow:0 0 16px #bba3ff,0 0 40px #a080ee}.is-drawing .fortune-orb{animation:fortunePulse .65s infinite alternate}.is-drawing .fortune-fan img{animation:fortuneFloat .55s infinite alternate;animation-delay:calc(var(--i)*.12s)}.fortune-period-art{border:1px solid #edc77e66;border-radius:50% 50% 12px 12px;padding:70px 12px;background:radial-gradient(circle,#72519755,transparent);max-width:330px;margin:auto;box-shadow:0 0 70px #946fe31a}.fortune-period-art span{font-size:11px;letter-spacing:3px;color:var(--gold)}.fortune-period-art strong{display:block;font:500 64px/1.7 'Noto Serif Thai',serif;color:var(--gold)}.fortune-result-head{text-align:center;padding-top:30px;border-top:1px solid #ffffff20}.fortune-result-head h2{font-family:'Noto Serif Thai',serif}.fortune-result-head p{font-size:12px;color:#c5b6db}.fortune-revealed{display:flex;justify-content:center;gap:22px;margin:32px 0;flex-wrap:wrap}.fortune-card{width:min(260px,100%);text-align:center;animation:fortuneReveal .8s both;animation-delay:var(--delay)}.fortune-card img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:14px;border:1px solid #d9b46788}.fortune-card h3{color:var(--gold);font-size:18px}.fortune-card p,.fortune-card small{font-size:12px;color:#c9bddb;line-height:1.8}.fortune-card strong,.fortune-card small{display:block}.fortune-card strong{font-size:14px;margin:12px 0;color:var(--gold)}.fortune-numbers{text-align:center;border:1px solid #edc77e33;background:#ffffff04;border-radius:22px;padding:28px;margin:20px 0}.fortune-digits{display:flex;justify-content:center;gap:12px}.fortune-digits span{font:600 64px/1.4 Georgia,serif;width:80px;border-radius:16px;color:var(--gold);background:#edc77e0c;border:1px solid #edc77e44}.fortune-numbers>p{color:#c5b7d6;font-size:13px;line-height:1.8}.fortune-number-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.fortune-number-groups h3{font-size:12px;color:#c6b6d8;font-weight:400}.fortune-number-groups b{display:inline-block;font:500 26px/1.5 Georgia,serif;padding:4px 10px;margin:4px;border-radius:8px;background:#ffffff08;letter-spacing:2px}.fortune-details{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--gold);margin:25px 0}.fortune-details span{padding:7px 12px;border:1px solid #ffffff20;border-radius:20px}.fortune-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.fortune-actions button,.fortune-actions a{font:inherit;font-size:13px;border:1px solid #edc77e66;color:var(--gold);border-radius:10px;background:#edc77e08;padding:12px 16px;text-decoration:none;cursor:pointer}.fortune-actions a{background:var(--gold);color:#221830}.fortune-saved{margin-top:36px;border-top:1px solid #ffffff20;padding-top:20px}.fortune-saved h2{font-size:18px}.fortune-saved p{font-size:12px;color:#c2b3d0}.fortune-saved-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #ffffff15;font-size:13px}.fortune-saved-item small{display:block;font-size:11px;color:#baa9ce;line-height:1.8}.fortune-saved-item b{color:var(--gold)}.fortune-saved-item button{border:0;background:none;color:#d8bfed;cursor:pointer}.fortune-disclaimer{text-align:center;font-size:11px!important;line-height:1.9;color:#cabbd8!important;margin-top:28px}.fortune-check-note{font-size:11px!important}#fortune-action-status{color:var(--gold)}@keyframes fortunePulse{to{filter:brightness(1.4);box-shadow:0 0 80px #a172ff88;transform:scale(1.03)}}@keyframes fortuneFloat{to{filter:brightness(1.4);margin-top:-10px}}@keyframes fortuneReveal{from{opacity:0;transform:rotateY(100deg) translateY(20px)}to{opacity:1;transform:none}}@media(max-width:720px){.fortune-shell{padding:32px 16px 20px;border-radius:20px;margin:15px 0}.fortune-tabs{gap:7px}.fortune-tabs button{padding:12px 7px;text-align:center}.fortune-tabs span{float:none;display:block}.fortune-tabs strong{font-size:12px}.fortune-tabs small{display:none}.fortune-stage{grid-template-columns:1fr;padding:24px 0;gap:15px}.fortune-fan{height:300px}.fortune-fan img{width:150px;height:225px;left:calc(50% - 75px);transform:translateX(calc((var(--i) - 1)*64px)) rotate(calc((var(--i) - 1)*13deg))}.fortune-orb{max-width:330px;margin:auto}.fortune-period-art{padding:40px 12px;max-width:240px}.fortune-number-groups{grid-template-columns:1fr;gap:5px}.fortune-numbers{padding:22px 12px}.fortune-digits span{font-size:52px;width:66px}.fortune-heading p{font-size:13px}.fortune-card{max-width:230px}.fortune-saved-item{flex-wrap:wrap}.fortune-heading h1{font-size:31px}.fortune-revealed{gap:28px}}@media(prefers-reduced-motion:reduce){.fortune-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.fortune-shell{background-image:linear-gradient(#100d24a6,#100d24e8),url(/assets/fortune/background.webp);background-size:cover;background-position:center top}
@media(max-width:900px){.fortune-stage{grid-template-columns:1fr}.fortune-art{max-width:420px;width:100%;margin:auto}}
