.birthday-love{max-width:740px;margin:auto;--birth-light:#d6bd88;--birth-lilac:#c3b2d8}.birth-page-heading>.eyebrow{font-size:9px;margin:0 0 8px}.birth-preview-note{font-size:10px;color:var(--muted);margin:0}.birth-intro{text-align:center;padding:8px 0 16px}.birth-orb{position:relative;width:190px;height:190px;margin:20px auto;display:grid;place-items:center;isolation:isolate}.birth-orb:before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4deb780,#b498cb35 45%,#25334d 74%);box-shadow:0 0 48px #d6bd8828,inset 0 0 24px #d6bd8830;border:1px solid #d6bd8870}.birth-orb:after{content:"";position:absolute;inset:-15%;background:radial-gradient(ellipse,#c3b2d820,transparent 65%);z-index:-1}.birth-orb-center{position:relative;font-family:Georgia,serif;font-size:60px;color:#f1dca9;text-shadow:0 0 20px #f5d59870}.birth-orbit{position:absolute;inset:5%;border:1px solid #d6bd883d;border-radius:50%}.birth-orbit-one{transform:rotate(-25deg) scaleY(.55)}.birth-orbit-two{inset:0;transform:rotate(45deg) scaleX(.72);border-color:#c3b2d845}.birth-orb i{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:#f9e2b6;box-shadow:0 0 10px #f9e2b6;transform:rotate(calc(var(--i)*45deg)) translateX(86px)}.birth-overline{color:var(--gold);font-size:11px;letter-spacing:.12em;margin:12px 0}.birth-intro h1{font-size:clamp(28px,6vw,39px);font-weight:500;line-height:1.65;letter-spacing:.07em;margin:16px 0 20px;outline:none}.birth-lead{font-size:13px;line-height:2.1;color:var(--muted);margin:0 0 30px}.birth-form{padding:24px;background:linear-gradient(140deg,#25314888,#172338);border:1px solid #d6bd883b;border-radius:20px;text-align:left}.birth-date{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0 0 22px;min-width:0}.birth-date legend{font-size:13px;color:var(--text);margin-bottom:16px}.birth-date>div{min-width:0}.birth-date label{display:block;font-size:10px;color:var(--muted);margin:0 0 7px}.birth-date select{width:100%;min-width:0;min-height:50px;background:#111a2c;border:1px solid #d6bd8850;border-radius:10px;color:var(--text);font-size:14px;padding:10px;cursor:pointer}.birthday-love .primary-button{display:flex;justify-content:center;align-items:center;width:100%;min-height:50px;font-size:13px;border-radius:12px;margin:0}.birth-memory-note{font-size:10px;color:var(--muted);text-align:center;margin:14px 0 0;line-height:1.8}.birth-before-method{text-align:left;margin:18px 0;font-size:12px;color:var(--muted);line-height:1.9}.birth-before-method summary{min-height:44px;cursor:pointer;padding:12px 4px;color:var(--gold)}.birth-error{color:#efc0bc;font-size:12px;line-height:1.8;margin:12px 0}.birth-reveal{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 0}.birth-reveal h1{font-size:20px;font-weight:500;line-height:1.9;outline:none}.birth-reveal>p{font-size:12px;color:var(--muted);line-height:1.9}.birth-constellation{position:relative;width:300px;max-width:100%;height:300px;display:grid;place-items:center;margin:20px 0}.birth-constellation>.birth-orb{margin:0}.birth-gather-digit{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:22px;pointer-events:none;animation:birth-gather 3.4s ease-in-out both;animation-delay:calc(var(--i)*45ms);--angle:calc(var(--i)*45deg)}.is-awakening:before{animation:birth-breathe 2s ease-in-out infinite alternate}.is-awakening .birth-orbit-one{animation:birth-orbit 6s linear infinite}.is-ready .birth-orb:after{animation:birth-blossom 1.3s ease-out both}.birth-open{max-width:340px;margin-top:24px!important}.birth-reveal>.text-button{min-height:44px;font-size:11px;margin-top:18px}.birth-pair-result,.birth-personal-result{animation:birth-arrive .8s both}.birth-type-hero{text-align:center;padding:12px 20px 28px}.birth-type-hero .birth-orb{width:156px;height:156px}.birth-type-hero .birth-orb i{transform:rotate(calc(var(--i)*45deg)) translateX(70px)}.birth-type-hero .birth-orb-center{font-size:52px}.birth-type-hero h1{font-size:clamp(24px,5.6vw,32px);font-weight:500;line-height:1.7;margin:14px 0;outline:none}.birth-type-subtitle{font-size:13px;color:#e5d4b2;line-height:1.9;margin:0 0 22px}.birth-type-intro{font-size:14px;line-height:2.05;color:var(--muted);text-align:left;max-width:580px;margin:0 auto}.birth-reading-sections{display:grid;gap:18px}.birth-reading-sections>section{background:#1c294075;border:1px solid #b6bdcc30;border-radius:18px;padding:24px}.birth-reading-sections .eyebrow{font-size:9px;margin:0 0 12px}.birth-reading-sections h2,.birth-reading-sections h3{font-size:18px;font-weight:500;line-height:1.8;margin:0 0 14px}.birth-reading-sections section>p:not(.eyebrow){font-size:14px;line-height:2;color:#c8cedb;margin:0}.birth-reading-sections section>p+p:not(.eyebrow){margin-top:16px}.birth-reading-sections .birth-quote{background:linear-gradient(135deg,#c3b2d810,#1c2940);border-color:#c3b2d845}.birth-quote blockquote{font-size:16px;line-height:2;color:#f0dfbd;margin:0}.birth-quote small{display:block;font-size:10px;color:var(--muted);margin:18px 0 8px}.birth-reading-sections .birth-small-step{background:#d6bd880b;border-color:#d6bd8845}.birth-calculation{margin:20px 0 0;border-top:1px solid #b6bdcc30;padding:4px 0;font-size:12px;line-height:1.95;color:var(--muted)}.birth-calculation summary{cursor:pointer;min-height:48px;padding:14px 4px;color:var(--gold)}.birth-calculation p{margin:12px 0}.birth-calculation ol{padding-left:24px;margin:18px 0;color:#e1cba1;font-variant-numeric:tabular-nums;font-size:13px;overflow-wrap:anywhere}.birth-calculation li{margin:8px 0}.birth-pair-entry{margin-top:34px;border:1px solid #c3b2d850;border-radius:22px;padding:26px;background:radial-gradient(ellipse at 90% 10%,#c3b2d815,transparent 65%),#1c294070}.birth-pair-entry>.eyebrow{font-size:9px;color:var(--birth-lilac);margin:0 0 12px}.birth-pair-entry>h2{font-size:23px;font-weight:500;line-height:1.7;margin:0 0 14px}.birth-pair-entry>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:2;margin:0 0 24px}.birth-pair-entry form{margin-top:22px}.birth-pair-loading{position:relative;min-height:90px;text-align:center;margin-top:22px;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}.birth-pair-loading>span{width:34px;height:34px;border-radius:50%;background:#d6bd8850;box-shadow:0 0 20px #d6bd8840;animation:birth-touch 1.5s ease-in-out infinite alternate}.birth-pair-loading>span:nth-child(2){background:#c3b2d850;animation-delay:.3s}.birth-pair-loading>p{width:100%;font-size:11px;color:var(--muted);line-height:1.9}.birth-pair-result{margin-top:32px}.birth-pair-orbs{display:flex;justify-content:center;align-items:center;gap:10px;overflow:hidden}.birth-pair-orbs>.birth-orb{width:120px;height:120px;margin:14px 0}.birth-pair-orbs .birth-orb-center{font-size:42px}.birth-pair-orbs .birth-orb i{transform:rotate(calc(var(--i)*45deg)) translateX(50px);width:3px;height:3px}.birth-pair-orbs>span{color:var(--gold);font-family:Georgia,serif}.birth-pair-result>.birth-overline{text-align:center}.birth-pair-result>h2{font-size:clamp(21px,5vw,29px);font-weight:500;line-height:1.8;text-align:center;margin:16px 0;outline:none}.birth-pair-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 26px}.birth-pair-names p{font-size:14px;line-height:1.8;padding:16px;background:#d6bd8809;border:1px solid #d6bd8825;border-radius:12px;margin:0;text-align:center}.birth-pair-names small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.birth-reset{width:100%;min-height:48px;font-size:12px;margin-top:30px}.birthday-love button:focus-visible,.birthday-love select:focus-visible,.birthday-love summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@keyframes birth-gather{0%{opacity:0;transform:rotate(var(--angle)) translateX(140px) rotate(calc(-1*var(--angle))) scale(.7)}18%{opacity:1}55%{opacity:1;transform:rotate(calc(var(--angle) + 60deg)) translateX(110px) rotate(calc(-1*(var(--angle) + 60deg))) scale(1)}to{opacity:0;transform:rotate(calc(var(--angle) + 100deg)) translateX(0) scale(.2)}}@keyframes birth-breathe{0%{box-shadow:0 0 35px #d6bd8825,inset 0 0 24px #d6bd8830}to{box-shadow:0 0 75px #d6bd8870,inset 0 0 40px #e5d4b250}}@keyframes birth-orbit{to{transform:rotate(335deg) scaleY(.55)}}@keyframes birth-blossom{0%{opacity:0;transform:scale(.7)}40%{opacity:1;transform:scale(1.3)}to{opacity:.6;transform:scale(1)}}@keyframes birth-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes birth-touch{0%{transform:translateX(-9px);opacity:.4}to{transform:translateX(5px);opacity:1}}.birthday-love.is-reduced *{animation:none!important;transition:none!important}.birthday-love.is-reduced .birth-gather-digit{display:none}@media(max-width:430px){.birth-orb{width:165px;height:165px}.birth-orb i{transform:rotate(calc(var(--i)*45deg)) translateX(74px)}.birth-form{padding:22px 16px}.birth-date{gap:10px}.birth-date select{padding:10px 6px;font-size:13px}.birth-reading-sections>section{padding:22px 18px}.birth-reading-sections h2,.birth-reading-sections h3{font-size:17px}.birth-pair-entry{padding:24px 18px}.birth-type-hero{padding-inline:4px}.birth-lead{font-size:12px}.birth-pair-entry>h2{font-size:21px}.birth-desktop-break{display:none}}@media(max-width:360px){.birth-date{gap:8px}.birth-intro h1{font-size:27px}.birth-reading-sections section>p:not(.eyebrow){font-size:13px}.birth-reading-sections h2,.birth-reading-sections h3{font-size:16px}.birth-pair-names{gap:10px}.birth-pair-names p{font-size:12px;padding:14px 8px}.birth-reveal h1{font-size:17px}.birth-constellation{width:260px}}.birth-pair-names p{text-wrap:balance;font-size:13px}.birth-pair-names p small{text-wrap:wrap}.birth-celestial{width:252px;height:252px;margin:24px auto;overflow:visible}.birth-celestial:after,.birth-celestial:before{display:none}.birth-celestial-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 7px #d6bd8820)}.birth-nebula{position:absolute;inset:8%;border-radius:50%;background:conic-gradient(from 20deg,#718fc800,#90a5e026,#ad82bf40,#e7ca8c16,#799edc34,#718fc800);filter:blur(20px);animation:birth-nebula-drift 22s linear infinite;z-index:-1}.birth-celestial-halo{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(ellipse,#d9c48e14 10%,#ac9dd023 34%,#4365aa10 55%,transparent 70%);animation:birth-jewel-breathe 4s ease-in-out infinite alternate;z-index:-2}.birth-celestial .birth-orb-center{font-size:67px;font-weight:400;line-height:1;letter-spacing:-.04em;padding-right:.04em;color:#ffedbc;text-shadow:0 2px 2px #5f3e22,0 0 20px #f4d79e60,0 0 40px #e1c0ff35;transform:translateY(-2px);transition:filter .4s}.birth-gem-caustic{position:absolute;inset:21%;border-radius:50%;background:conic-gradient(from -30deg,transparent 0 24%,#e6dcff0c 25%,transparent 26% 54%,#d6eaff17 55%,transparent 57% 85%,#ffe9b411 86%,transparent 87%);mix-blend-mode:screen;animation:birth-caustic 18s linear infinite;pointer-events:none}.birth-number-underline{position:absolute;top:66%;width:24%;height:1px;background:linear-gradient(90deg,transparent,#ead5a9a0,transparent)}.birth-number-underline:after{content:"";position:absolute;left:calc(50% - 2px);top:8px;width:4px;height:4px;background:#e5cda1;transform:rotate(45deg);box-shadow:0 0 10px #e5cda180}.birth-celestial-spark{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#f4dba4;transform:rotate(calc(var(--i)*30deg + 12deg)) translateX(46%);margin-left:calc(1px * (var(--i) - 6));opacity:0;animation:birth-spark-pulse 4.8s ease-in-out infinite;animation-delay:calc(var(--i)*-.43s);--spark-distance:110px;translate:calc(cos(var(--i)*30deg)*var(--spark-distance)) calc(sin(var(--i)*30deg)*var(--spark-distance));box-shadow:0 0 7px #ffeac8}.birth-celestial-spark:nth-of-type(3n):after{content:"";position:absolute;width:10px;height:1px;background:linear-gradient(90deg,transparent,#ffe9bd,transparent);left:-4px;top:1px}.birth-satellite-track{position:absolute;inset:6%;border-radius:50%;transform:rotate(-25deg);animation:birth-satellite 20s linear infinite;pointer-events:none}.birth-satellite-track>span{position:absolute;left:50%;top:-2px;width:4px;height:4px;border-radius:50%;background:#fff5db;box-shadow:0 0 5px #fff5db,0 0 14px #eecb83}.birth-celestial:active .birth-celestial-halo,.birth-celestial:hover .birth-celestial-halo{filter:brightness(1.5)}.birth-celestial:hover .birth-orb-center{filter:brightness(1.13)}.birth-type-hero .birth-celestial{width:238px;height:238px;margin:14px auto 26px}.birth-type-hero .birth-celestial .birth-orb-center{font-size:64px}.birth-constellation>.birth-celestial{width:252px;height:252px}.birth-celestial.is-awakening .birth-map-wheel{transform-origin:150px 150px;animation:birth-wheel-gather 16s linear infinite}.birth-celestial.is-awakening .birth-nebula{filter:blur(14px);animation-duration:7s}.is-ready .birth-celestial-halo{animation:birth-jewel-arrive 1.8s ease-out both}.birth-pair-orbs>.birth-celestial{width:146px;height:146px;margin:18px 0}.birth-pair-orbs .birth-celestial .birth-orb-center{font-size:40px}.birth-pair-orbs .birth-celestial-spark{--spark-distance:62px}.birth-pair-orbs .birth-nebula{filter:blur(12px)}@keyframes birth-nebula-drift{to{transform:rotate(1turn)}}@keyframes birth-jewel-breathe{0%{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.08)}}@keyframes birth-caustic{to{transform:rotate(1turn)}}@keyframes birth-satellite{to{transform:rotate(335deg)}}@keyframes birth-spark-pulse{0%,to{opacity:.12;scale:.5}45%{opacity:.9;scale:1.1}60%{opacity:.25;scale:.7}}@keyframes birth-wheel-gather{to{transform:rotate(1turn)}}@keyframes birth-jewel-arrive{0%{opacity:0;transform:scale(.8)}35%{opacity:1;transform:scale(1.28)}to{opacity:.8;transform:scale(1)}}.birthday-love.is-reduced .birth-celestial-spark{opacity:.55}.birthday-love.is-reduced .birth-nebula{transform:none}@media(max-width:360px){.birth-celestial,.birth-constellation>.birth-celestial{width:226px;height:226px}.birth-type-hero .birth-celestial{width:222px;height:222px}.birth-type-hero .birth-celestial .birth-orb-center{font-size:60px}.birth-pair-orbs>.birth-celestial{width:125px;height:125px}.birth-pair-orbs .birth-celestial .birth-orb-center{font-size:36px}.birth-pair-orbs .birth-celestial-spark{--spark-distance:54px}}.birth-celestial-spark{translate:none;margin:0;transform:none}.birth-celestial .birth-orb-center.birth-number-svg{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;transform:none;overflow:visible;letter-spacing:normal;pointer-events:none}.birth-number-svg text{font-family:Georgia,Times New Roman,serif;font-size:80px;font-weight:400;fill:#ffedbc;stroke:#8c643440;stroke-width:.45px;paint-order:stroke fill;filter:drop-shadow(0 2px 1px #51391f) drop-shadow(0 0 12px #f4d79e70)}.birth-number-svg .birth-number-appearance{transform-box:view-box;transform-origin:150px 150px}.birth-number-svg.has-number .birth-number-appearance{animation:birth-number-materialize 2.1s cubic-bezier(.18,.65,.3,1) .3s both}.birth-number-light{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,#fff6d6b0 0,#e7ce9b50 20%,#b5a5f22e 45%,transparent 72%);opacity:0;pointer-events:none;mix-blend-mode:screen;animation:birth-number-light-gather 2.4s ease-out both}.birth-pair-orbs>.birth-celestial:nth-of-type(2) .birth-number-appearance{animation-delay:.55s}.birth-pair-orbs>.birth-celestial:nth-of-type(2) .birth-number-light{animation-delay:.25s}@keyframes birth-number-materialize{0%{opacity:0;filter:blur(12px);transform:scale(.74)}28%{opacity:.15;filter:blur(8px);transform:scale(.88)}63%{opacity:.85;filter:blur(2px);transform:scale(1.025)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes birth-number-light-gather{0%{opacity:0;transform:scale(1.2)}22%{opacity:.7;transform:scale(.85)}48%{opacity:.95;transform:scale(.6)}72%{opacity:.36;transform:scale(1.18)}to{opacity:0;transform:scale(1.45)}}.birthday-love.is-reduced .birth-number-appearance{opacity:1;filter:none;transform:none}.birthday-love.is-reduced .birth-number-light{display:none}.birth-number-svg text{font-variant:normal;letter-spacing:0;word-spacing:0}