:root{color-scheme: light;--bg: #faf6f0;--bg-2: #f3ebe1;--card: #ffffff;--ink: #3a3330;--muted: #6f645d;--line: #e7dbcd;--rose: #a9564a;--rose-2: #c97f72;--rose-bg: #f7e6e1;--sage: #5f806f;--sage-bg: #e6efe9;--gold: #9a7330;--radius: 18px;--shadow: 0 6px 24px rgba(90,60,40,.08);--serif: "Noto Serif TC","Songti TC","PMingLiU",serif;--sans: -apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}*{box-sizing: border-box}[hidden]{display: none !important}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{margin: 0;background: var(--bg);color: var(--ink);font: 16px/1.8 var(--sans);letter-spacing: .02em}img{max-width: 100%;height: auto}a{color: var(--rose)}h1,h2,h3{font-family: var(--serif);font-weight: 700;line-height: 1.4;letter-spacing: .04em}h2{font-size: clamp(1.35rem,4.6vw,1.75rem);margin: 0 0 .4em}h3{font-size: 1.12rem;margin: 0 0 .3em}p{margin: 0 0 1em}.wrap{width: min(1040px,100%);margin: 0 auto;padding: 0 16px}.narrow{width: min(720px,100%)}.site-head{position: sticky;top: 0;z-index: 20;background: rgba(250,246,240,.92);backdrop-filter: blur(8px);border-bottom: 1px solid var(--line)}.site-head .wrap{display: flex;align-items: center;justify-content: space-between;gap: 12px;height: 58px}.logo{display: flex;align-items: center;gap: 8px;color: var(--ink);text-decoration: none;font-family: var(--serif);font-weight: 700;font-size: 1.15rem;letter-spacing: .12em}.logo svg{flex: none}.nav{display: flex;gap: 4px}.nav a{color: var(--ink);text-decoration: none;font-size: .92rem;padding: 6px 10px;border-radius: 999px;white-space: nowrap}.nav a:hover,.nav a[aria-current="page"]{background: var(--bg-2)}@media (max-width: 560px){.nav a.opt{display: none}}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 6px;min-height: 48px;padding: 0 22px;border-radius: 999px;border: 0;font: inherit;font-weight: 700;text-decoration: none;cursor: pointer;transition: transform .15s,box-shadow .15s}.btn:active{transform: translateY(1px)}.btn-main{background: var(--rose);color: #fff;box-shadow: 0 6px 18px rgba(169,86,74,.25)}.btn-main:hover{background: #974b40}.btn-sub{background: var(--card);color: var(--ink);border: 1px solid var(--line)}.btn-sub:hover{border-color: var(--rose-2)}.btn-block{width: 100%}.hero{padding: 56px 0 40px;text-align: center;background: radial-gradient(600px 260px at 50% 0,var(--rose-bg),transparent 70%),var(--bg)}.hero .moon{margin: 0 auto 14px;display: block}.hero h1{font-size: clamp(1.9rem,7.5vw,2.9rem);margin: 0 0 .3em;letter-spacing: .1em}.hero .lead{font-size: clamp(1rem,3.8vw,1.15rem);color: var(--muted);margin-bottom: 26px}.hero .ctas{display: flex;gap: 10px;justify-content: center;flex-wrap: wrap}.chips{display: flex;gap: 8px;justify-content: center;flex-wrap: wrap;margin: 22px 0 0;padding: 0;list-style: none}.chips li{font-size: .85rem;color: var(--sage);background: var(--sage-bg);padding: 4px 12px;border-radius: 999px}section.block{padding: 48px 0}section.alt{background: var(--bg-2)}.sec-lead{color: var(--muted);margin-bottom: 22px}.card{background: var(--card);border: 1px solid var(--line);border-radius: var(--radius);padding: 22px;box-shadow: var(--shadow)}.grid3{display: grid;gap: 14px;grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr))}.zodiac{display: grid;grid-template-columns: repeat(6,minmax(0,1fr));gap: 8px}@media (max-width: 520px){.zodiac{grid-template-columns: repeat(4,minmax(0,1fr))}}.zodiac button{min-height: 56px;border: 1px solid var(--line);background: var(--card);border-radius: 14px;font: inherit;font-size: 1.05rem;cursor: pointer;color: var(--ink)}.zodiac button small{display: block;font-size: .7rem;color: var(--muted);line-height: 1.2}.zodiac button[aria-pressed="true"]{border-color: var(--rose);background: var(--rose-bg)}.zodiac button.hit::after{content: "•";color: var(--rose);margin-left: 2px}.ts-result{margin-top: 16px}.tag{display: inline-block;font-size: .8rem;font-weight: 700;padding: 2px 10px;border-radius: 999px;background: var(--rose-bg);color: var(--rose);margin: 0 6px 6px 0}.tag.ok{background: var(--sage-bg);color: var(--sage)}.note{font-size: .86rem;color: var(--muted)}.form{display: grid;gap: 16px}.field label,.field .label{display: block;font-weight: 700;font-size: .95rem;margin-bottom: 6px}.row{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px}.row2{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 8px}select,input[type="email"],input[type="text"]{width: 100%;min-height: 48px;padding: 0 12px;font: inherit;color: var(--ink);background: #fff;border: 1px solid var(--line);border-radius: 12px;appearance: none}select{background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position: calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size: 5px 5px;background-repeat: no-repeat;padding-right: 30px}select:focus,input:focus{outline: 2px solid var(--rose-2);outline-offset: 1px}.check{display: flex;gap: 8px;align-items: flex-start;font-size: .92rem;line-height: 1.6}.check input{width: 20px;height: 20px;margin: 2px 0 0;flex: none;accent-color: var(--rose)}.err{color: #b3261e;font-size: .9rem;min-height: 1.2em;margin: 0}.result{margin-top: 24px;display: grid;gap: 14px}.chart{width: 100%;border-collapse: separate;border-spacing: 6px 0;text-align: center;table-layout: fixed}.chart th{font-size: .8rem;color: var(--muted);font-weight: 400;padding-bottom: 4px}.chart td{background: var(--bg-2);font-family: var(--serif);font-size: clamp(1.4rem,6vw,1.9rem);line-height: 1.5;padding: 8px 0}.chart tr:first-of-type + tr td{border-radius: 12px 12px 0 0}.chart tr:last-child td{border-radius: 0 0 12px 12px;font-size: .78rem;font-family: var(--sans);color: var(--muted);padding: 2px 0 8px}.chart td.me{background: var(--rose-bg)}.wx{display: grid;gap: 6px}.wx div{display: grid;grid-template-columns: 2.2em 1fr 1.5em;align-items: center;gap: 8px;font-size: .92rem}.wx i{display: block;height: 10px;border-radius: 99px;background: var(--sage);min-width: 4px}.big-title{font-family: var(--serif);font-size: 1.3rem;font-weight: 700;margin: 0 0 6px}.kicker{font-size: .8rem;color: var(--rose);font-weight: 700;letter-spacing: .1em;margin: 0 0 4px}.locked{position: relative;overflow: hidden}.cta-box{text-align: center;background: linear-gradient(160deg,var(--rose-bg),#fff 70%)}.couple{display: grid;gap: 14px;grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr))}.person h3{display: flex;align-items: center;gap: 8px}.person h3 span{width: 28px;height: 28px;border-radius: 50%;display: inline-grid;place-items: center;font-size: .9rem;color: #fff;background: var(--rose);font-family: var(--sans)}.person.b h3 span{background: var(--sage)}.score{display: grid;place-items: center;text-align: center}.ring{--p: 80;width: 168px;height: 168px;border-radius: 50%;display: grid;place-items: center;background: conic-gradient(var(--rose) calc(var(--p) * 1%),var(--bg-2) 0)}.ring div{width: 136px;height: 136px;border-radius: 50%;background: #fff;display: grid;place-items: center;align-content: center}.ring b{font-family: var(--serif);font-size: 2.6rem;line-height: 1}.ring small{color: var(--muted);font-size: .8rem}.reasons{margin: 0;padding: 0;list-style: none;display: grid;gap: 10px}.reasons li{padding-left: 1.4em;position: relative}.reasons li::before{content: "♡";position: absolute;left: 0;color: var(--rose)}.share{display: flex;gap: 8px;flex-wrap: wrap;justify-content: center}.faq details{background: var(--card);border: 1px solid var(--line);border-radius: 14px;padding: 14px 18px;margin-bottom: 10px}.faq summary{font-weight: 700;cursor: pointer;list-style: none}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "＋";float: right;color: var(--muted)}.faq details[open] summary::after{content: "－"}.faq details p{margin: 10px 0 0;color: var(--muted)}.promise h3{color: var(--rose)}.ok-msg{background: var(--sage-bg);color: var(--sage);border-radius: 12px;padding: 12px 14px;font-weight: 700}.site-foot{border-top: 1px solid var(--line);padding: 32px 0 48px;font-size: .86rem;color: var(--muted)}.site-foot nav{display: flex;flex-wrap: wrap;gap: 6px 16px;margin-bottom: 14px}.site-foot nav a{color: var(--muted)}.site-foot p{margin: 0 0 6px}.legal{padding: 36px 0 56px}.legal h1{font-size: 1.6rem}.legal h2{font-size: 1.15rem;margin-top: 1.8em}.legal table{width: 100%;border-collapse: collapse;font-size: .94rem}.legal th,.legal td{border: 1px solid var(--line);padding: 10px;text-align: left;vertical-align: top}.legal th{background: var(--bg-2);width: 32%}.legal .meta{color: var(--muted);font-size: .9rem}.preview-bar{background: #3a3330;color: #fff;text-align: center;font-size: .82rem;padding: 6px 12px}.sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}fieldset{min-width: 0}.lead,.sec-lead,h1,h2,.big-title{text-wrap: balance}.nw{white-space: nowrap}.logo img{border-radius: 50%}.hero-cat{margin: 0 auto 14px;display: flex;flex-direction: column;align-items: center;gap: 6px}.hero-cat img{width: 200px;height: auto}.bubble{position: relative;background: #fff;border: 1px solid var(--line);border-radius: 16px;padding: 8px 14px;font-size: .9rem;line-height: 1.6;color: var(--muted);box-shadow: var(--shadow)}.bubble::before{content: "";position: absolute;top: -7px;left: 50%;width: 12px;height: 12px;background: #fff;border-left: 1px solid var(--line);border-top: 1px solid var(--line);transform: translateX(-50%) rotate(45deg)}.bubble b{color: var(--rose)}img.cat{display: block;height: auto;margin: 0 auto 8px}.about-cat{display: grid;grid-template-columns: 140px minmax(0,1fr);gap: 16px;align-items: start}@media (max-width: 480px){.about-cat{grid-template-columns: minmax(0,1fr)}}@media (max-width: 560px){.hero{padding-top: 28px}.hero-cat img{width: 160px}.hero-cat{margin-bottom: 8px}}@media (min-width: 880px){.hero{padding: 64px 0 56px;text-align: left;background: radial-gradient(520px 320px at 78% 40%,var(--rose-bg),transparent 70%),var(--bg)}.hero-grid{display: grid;grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);align-items: center;gap: 40px}.hero-cat{order: 2;margin: 0}.hero-cat img{width: 300px}.hero .ctas,.hero .chips{justify-content: flex-start}.hero h1{font-size: 3.2rem}}:root{--wx-wood: #4f8a55;--wx-fire: #c0503f;--wx-earth: #9a722b;--wx-metal: #6f727b;--wx-water: #3f6fa3}.wx-木{color: var(--wx-wood)}.wx-火{color: var(--wx-fire)}.wx-土{color: var(--wx-earth)}.wx-金{color: var(--wx-metal)}.wx-水{color: var(--wx-water)}.wx i.wx-木{background: var(--wx-wood)}.wx i.wx-火{background: var(--wx-fire)}.wx i.wx-土{background: var(--wx-earth)}.wx i.wx-金{background: var(--wx-metal)}.wx i.wx-水{background: var(--wx-water)}.chart td small{display: block;font-size: .7rem;font-family: var(--sans);color: var(--muted);line-height: 1.2}.chips li{color: #3f5f50}.btn:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline: 3px solid var(--rose-2);outline-offset: 2px}.share-row{display: flex;gap: 8px;flex-wrap: wrap;justify-content: center;margin-top: 12px}:root{--rose-text: #8c4236}a,.kicker,.tag,.bubble b{color: var(--rose-text)}.btn-main,.btn-main:hover{color: #fff}.btn-sub{color: var(--ink)}.site-foot nav a,.nav a,.logo{color: inherit}.site-foot nav a{color: var(--muted)}.nav a,.logo{color: var(--ink)}.order fieldset{border: 0;margin: 0 0 14px;padding: 18px}.order fieldset.plans{padding: 0;display: grid;gap: 10px}.order legend{padding: 0}.order legend h2{margin: 0 0 8px;font-size: 1.15rem}.plan{display: grid;grid-template-columns: auto 70px minmax(0,1fr);gap: 12px;align-items: center;cursor: pointer;padding: 14px}.plan input{width: 20px;height: 20px;accent-color: var(--rose)}.plan b{display: block;font-family: var(--serif);font-size: 1.08rem}.plan small{display: block;color: var(--muted);font-size: .85rem;line-height: 1.6}.plan em{font-style: normal;font-weight: 700;color: var(--rose-text)}.plan.on{border-color: var(--rose);box-shadow: 0 0 0 2px var(--rose-bg)}textarea{width: 100%;padding: 10px 12px;font: inherit;border: 1px solid var(--line);border-radius: 12px;background: #fff;color: var(--ink)}.consents{display: grid;gap: 10px}.order .card{margin-bottom: 14px}.digital{border-color: var(--rose-2);background: #fffaf8}.pay-buttons{margin: 14px 0 6px}.pay-buttons[aria-disabled="true"]{opacity: .45}.pay-btn + .pay-btn{margin-top: 8px}.done{text-align: center}.grid2{display: grid;gap: 16px;grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr))}.product{display: grid;grid-template-columns: 110px minmax(0,1fr);gap: 16px;align-items: start}.product img{width: 110px;height: auto;border-radius: 8px;box-shadow: var(--shadow);border: 1px solid var(--line)}.product h3{margin: 0}.price{font-size: 1.4rem;font-weight: 700;color: var(--rose-text);margin: 4px 0 8px}.price small{font-size: .8rem;color: var(--muted);font-weight: 400}.ticks{margin: 0 0 14px;padding: 0;list-style: none;font-size: .92rem}.ticks li{padding-left: 1.3em;position: relative}.ticks li::before{content: "✓";position: absolute;left: 0;color: var(--sage);font-weight: 700}.samples{display: grid;gap: 12px;grid-template-columns: repeat(3,minmax(0,1fr));margin: 12px 0}.samples img{width: 100%;height: auto;border: 1px solid var(--line);border-radius: 8px;box-shadow: var(--shadow)}.ctas-row{display: flex;gap: 10px;flex-wrap: wrap}@media (max-width: 420px){.product{grid-template-columns: 1fr}.product img{width: 150px}}.logo{white-space: nowrap}@media (max-width: 420px){.nav a{padding: 6px 7px;font-size: .86rem}}@media (max-width: 360px){.nav a.opt2{display: none}}.mon-bar{display: block;text-align: center;background: var(--rose);color: #fff !important;text-decoration: none;font-size: .92rem;padding: 9px 16px;font-weight: 700}.mon-bar b{color: #fff}.mon-box{background: #fffaf8;border-color: var(--rose-2);font-size: .95rem}.mon-left{font-size: 1.05rem}.mon-left b{color: var(--rose-text);font-size: 1.3rem}.voice p{margin: 0 0 .6em}.stars-show{color: #d89a2b;letter-spacing: .1em}.star-row{display: grid;gap: 6px;margin: 6px 0}.star-row label{display: flex;align-items: center;gap: 10px;border: 1px solid var(--line);border-radius: 12px;padding: 8px 12px;cursor: pointer;background: #fff}.star-row input{width: 18px;height: 18px;accent-color: var(--rose)}.star-row span{color: #d89a2b;letter-spacing: .15em;font-size: 1.1rem}