:root{color-scheme:light;--c-bg:#fbf6ee;--c-surface:#fff;--c-text:#2b1d16;--c-muted:#5f4b3f;--c-primary:#8c1c13;--c-primary-text:#fff;--c-accent:#b7791f;--c-border:#e3d5c3;--c-error:#a4161a;--c-good:#1d6b3a;--c-neutral:#5c4b8a;--c-caution:#8a4b08;--radius:.75rem;--space:1rem;color:var(--c-text);background:var(--c-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}h1:focus{outline:none}.site-header,.wizard,.site-footer,.page{width:min(100% - 2 * var(--space), 34rem);margin-inline:auto}.site-header{padding-block:var(--space) 0;text-align:center}.brand{color:var(--c-primary);margin:0;font-size:1.25rem;font-weight:700}.tagline{color:var(--c-muted);margin:.25rem 0 0;font-size:.95rem}.step{padding-block:var(--space) calc(var(--space) * 2)}.step h1{margin:.25rem 0 .5rem;font-size:1.5rem;line-height:1.25}.progress{color:var(--c-muted);margin:0;font-size:.85rem}.intro{color:var(--c-muted);margin-top:0}.gender-grid{gap:var(--space);grid-template-columns:1fr 1fr;display:grid}.gender-card{border:2px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);color:var(--c-primary);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .5rem;font-size:1.15rem;font-weight:600;display:flex}.gender-card svg{width:4rem;height:4rem}.gender-card[aria-pressed=true]{border-color:var(--c-primary);background:#f8e9e4}.form{gap:var(--space);display:grid}.field{border:0;gap:.35rem;margin:0;padding:0;display:grid}.field legend{margin-bottom:.35rem;padding:0;font-weight:600}label{font-weight:600}.date-row label{font-size:.9rem;font-weight:400;display:block}.date-row{grid-template-columns:1fr 1.4fr 1.2fr;gap:.5rem;display:grid}input,select,textarea{background:var(--c-surface);width:100%;min-height:2.75rem;color:var(--c-text);font:inherit;border:1px solid #a8927d;border-radius:.5rem;padding:.5rem .65rem}[aria-invalid=true]{border-color:var(--c-error);box-shadow:0 0 0 1px var(--c-error)}.field-error{color:var(--c-error);margin:0;font-size:.9rem}.field-error:empty{display:none}.actions{margin-top:var(--space);flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.button{border:2px solid var(--c-primary);min-height:2.75rem;font:inherit;cursor:pointer;border-radius:999px;padding:.6rem 1.2rem;font-weight:600}.button.primary{background:var(--c-primary);color:var(--c-primary-text);flex:auto}.button.secondary{color:var(--c-primary);background:0 0}.button:disabled{opacity:.6;cursor:progress}.loader{text-align:center;color:var(--c-muted);padding:2rem 0}.loader:before{content:"";border:4px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;width:2.5rem;height:2.5rem;margin:0 auto .75rem;animation:.9s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loader:before{animation:none}}.result{gap:var(--space);display:grid}.greeting{margin:0;font-size:1.1rem;font-weight:600}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--space)}.card h2{color:var(--c-primary);margin:0 0 .5rem;font-size:1.05rem}.card h3{margin:.75rem 0 .25rem;font-size:1rem}.card p{margin:.35rem 0}.card-value{font-size:1.3rem;font-weight:700}.badge{vertical-align:middle;color:#fff;background:var(--c-neutral);border-radius:999px;margin-left:.5rem;padding:.1rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.badge[data-tone=good]{background:var(--c-good)}.badge[data-tone=caution]{background:var(--c-caution)}.aspects{margin:.5rem 0 0}.aspects dt{margin-top:.5rem;font-weight:600}.aspects dd{margin:0}.disclaimer{color:var(--c-muted);font-size:.85rem}.small,.hint{color:var(--c-muted);margin:0;font-size:.85rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lang-switcher{justify-content:flex-end;font-size:.9rem;display:flex}.lang-switcher details{position:relative}.lang-switcher summary{border:1px solid var(--c-border);min-height:2.75rem;color:var(--c-text);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:0 .75rem;list-style:none;display:inline-flex}.lang-switcher summary::-webkit-details-marker{display:none}.lang-switcher summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;margin-left:.15rem;transform:translateY(-2px)rotate(45deg)}.lang-switcher details[open] summary:after{transform:translateY(2px)rotate(-135deg)}.lang-icon{width:1.1rem;height:1.1rem}.lang-menu{inset-inline-end:0;z-index:20;text-align:left;background:var(--c-surface);border:1px solid var(--c-border);border-radius:.75rem;min-width:11rem;max-width:calc(100vw - 2rem);max-height:60vh;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);overflow-y:auto;box-shadow:0 8px 24px #00000040}.lang-menu a{min-height:2.75rem;color:var(--c-text);border-radius:.5rem;align-items:center;padding:0 .75rem;text-decoration:none;display:flex}.lang-menu a:hover,.lang-menu a:focus-visible{background:var(--c-chip)}.lang-menu a[aria-current=page]{color:var(--c-accent);font-weight:700}.locale-banner{z-index:9;text-align:left;padding:.6rem var(--space);background:#efe3d1;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.95rem;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 4px 16px #00000026}.locale-banner p{flex:12rem;margin:0}.locale-banner button{cursor:pointer;color:var(--c-text);background:0 0;border:0;min-width:2.75rem;min-height:2.75rem;font-size:1.4rem;line-height:1}.brand{text-decoration:none;display:inline-block}.site-footer{margin-top:calc(var(--space) * 2);padding-block:var(--space) calc(var(--space) * 6);border-top:1px solid var(--c-border);color:var(--c-muted);font-size:.85rem}.site-footer ul{flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.site-footer p{margin:.2rem 0}.link-button{color:var(--c-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.consent-banner{z-index:10;padding:var(--space);background:var(--c-surface);border-top:2px solid var(--c-border);position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #0000001a}.consent-banner p{max-width:34rem;margin:0 auto .5rem}.consent-actions{gap:.75rem;max-width:34rem;margin:0 auto;display:flex}.consent-actions .button{flex:1}.page{padding-block:var(--space) calc(var(--space) * 2)}.page h1{font-size:1.5rem;line-height:1.25}.year-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.product-image{margin:0}.product-image img,.product-image picture,.product-image picture img{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;width:100%;height:auto;display:block}.gallery-track{scroll-snap-type:x mandatory;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.gallery-track .product-image{scroll-snap-align:start;flex:0 0 80%;max-width:18rem}@font-face{font-family:Be Vietnam Pro;font-weight:400;font-display:optional;src:url(/fonts/be-vietnam-pro-vietnamese-400-normal.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-weight:400;font-display:optional;src:url(/fonts/be-vietnam-pro-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-weight:700;font-display:optional;src:url(/fonts/playfair-display-vietnamese-700-normal.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-weight:700;font-display:optional;src:url(/fonts/playfair-display-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-weight:600;font-display:optional;src:url(/fonts/lora-vietnamese-600-normal.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-weight:600;font-display:optional;src:url(/fonts/lora-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dawn]{color-scheme:light;--font-body:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Lora", Georgia, serif;--c-bg:#ffe9d4;--c-surface:#fffaf4;--c-card:#fffaf4db;--c-text:#3a2215;--c-muted:#6a4632;--c-primary:#a83a1c;--c-primary-text:#fff;--c-accent:#8c2c12;--c-border:#a83a1c47;--c-input-border:#b98a6c;--c-error:#a4161a;--c-good:#1d6b3a;--c-neutral:#4a468a;--c-caution:#8a4b08;--c-badge-text:#fff;--c-chip:#a83a1c17;--glow:#ffa05a73;--shadow:0 10px 28px #96502829;--cta:linear-gradient(135deg, #bd4a28, #a83a1c);--wave-1a:#ffd9bc;--wave-1b:#ffc9a4;--wave-2a:#f9c09a;--wave-2b:#f4b0a0;--wave-3a:#f6b4a6;--wave-3b:#f2c49a;--wave-4a:#fad7bb;--wave-4b:#f8cfae;--wave-line:#c98a3c;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23a83a1c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}:root[data-theme=lacquer]{color-scheme:dark;--font-display:"Lora", Georgia, serif;--c-bg:#2a0808;--c-surface:#240909;--c-card:#180606c7;--c-text:#fbecd0;--c-muted:#e8cfa8;--c-primary:#f0c766;--c-primary-text:#2a0707;--c-accent:#f0c766;--c-border:#f0c76666;--c-input-border:#a7814a;--c-error:#ffb4a0;--c-good:#a6e3be;--c-neutral:#cdc8f2;--c-caution:#f3cf8f;--c-badge-text:#1d0a05;--c-chip:#f0c76624;--glow:#ffbe504d;--shadow:0 10px 30px #00000073;--cta:linear-gradient(135deg, #ffe7a3, #d4a240 55%, #b07b25);--wave-1a:#5a0f0d;--wave-1b:#6e1610;--wave-2a:#7a1a12;--wave-2b:#8a2a14;--wave-3a:#8a3a1a;--wave-3b:#6a2410;--wave-4a:#1c0505;--wave-4b:#250707;--wave-line:#f0c766;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23f0c766' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}:root[data-theme=night]{color-scheme:dark;--font-display:"Playfair Display", Georgia, serif;--c-bg:#0b0a24;--c-surface:#1a1340;--c-card:#100c2cb8;--c-text:#f4efff;--c-muted:#cdc6ea;--c-primary:#e8c172;--c-primary-text:#1a1033;--c-accent:#e8c172;--c-border:#e8c17259;--c-input-border:#8b80b8;--c-error:#ffb0b0;--c-good:#a6e3be;--c-neutral:#cdc8f2;--c-caution:#f3cf8f;--c-badge-text:#160f2e;--c-chip:#e8c17224;--glow:#f6d98a4d;--shadow:0 10px 30px #0006;--cta:linear-gradient(135deg, #f6dc95, #c99a3e);--wave-1a:#2a1250;--wave-1b:#3a1660;--wave-2a:#5b1f6e;--wave-2b:#4a1a66;--wave-3a:#145560;--wave-3b:#4c339a;--wave-4a:#0b0a24;--wave-4b:#140f36;--wave-line:#e8c06a;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23e8c172' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}:root{--motion-slow:1.2s;--motion-fast:.25s;--ease-out:cubic-bezier(.2, .7, .2, 1);font-family:var(--font-body)}html{background:var(--c-bg)}body{transition:color var(--motion-slow);background:0 0}h1,.brand,.card-value,.hero-name{font-family:var(--font-display)}.scenes{z-index:-1;pointer-events:none;position:fixed;inset:0}.scene{opacity:0;width:100%;height:100%;transition:opacity var(--motion-slow) ease;position:absolute;inset:0}:root:not([data-theme]) .scene-dawn,[data-theme=dawn] .scene-dawn,[data-theme=lacquer] .scene-lacquer,[data-theme=night] .scene-night{opacity:1}[data-theme=night] .twinkle{animation:4s ease-in-out infinite twinkle}.phase-1{animation-delay:-1s}.phase-2{animation-delay:-2s}.phase-3{animation-delay:-3s}[data-theme=dawn] .rays,:root:not([data-theme]) .rays{transform-box:view-box;transform-origin:195px 120px;animation:120s linear infinite spin}.lantern{transform-box:fill-box;transform-origin:top}[data-theme=dawn] .lantern,:root:not([data-theme]) .lantern{animation:5s ease-in-out infinite sway}.waves{height:46vh;position:absolute;inset:auto 0 0;overflow:hidden}.wave{width:200%;max-width:none;animation:36s linear infinite wave-slide;position:absolute;bottom:0;left:0}.wave-1{opacity:.75;height:100%}.wave-2{opacity:.8;height:82%;animation-duration:29s;animation-direction:reverse}.wave-3{opacity:.45;height:64%;animation-duration:24s}.wave-4{height:46%;animation-duration:20s;animation-direction:reverse}.wave-1 .wave-a{stop-color:var(--wave-1a)}.wave-1 .wave-b{stop-color:var(--wave-1b)}.wave-2 .wave-a{stop-color:var(--wave-2a)}.wave-2 .wave-b{stop-color:var(--wave-2b)}.wave-3 .wave-a{stop-color:var(--wave-3a)}.wave-3 .wave-b{stop-color:var(--wave-3b)}.wave-4 .wave-a{stop-color:var(--wave-4a)}.wave-4 .wave-b{stop-color:var(--wave-4b)}.wave-line{stroke:var(--wave-line);stroke-width:1.5px;stroke-opacity:.6;vector-effect:non-scaling-stroke}.waves{animation:11s ease-in-out infinite alternate wave-bob}.nebula{animation:12s ease-in-out infinite breathe}.geometry{opacity:.1}.motion-off .scenes,.motion-off .scenes *{animation-play-state:paused!important}.card,.gender-card,.form,.consent-banner{background:var(--c-card);border:1px solid var(--c-border);box-shadow:var(--shadow);backdrop-filter:blur(10px);border-radius:1.25rem}.form{padding:var(--space)}input,select,textarea{background-color:var(--c-surface);border-color:var(--c-input-border);border-radius:.75rem}select{appearance:none;background-image:var(--select-arrow);background-position:right .7rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.2rem}input:focus,select:focus,textarea:focus{outline:3px solid var(--c-accent);outline-offset:1px}.field-error:not(:empty):before{content:"";vertical-align:-.15em;background:currentColor;width:1em;height:1em;margin-right:.35em;display:inline-block;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='2.4'/%3E%3Cpath d='M12 7v6' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17' r='1.4'/%3E%3C/svg%3E") 50%/contain no-repeat}.button.primary,.consent-actions .button.primary{background:var(--cta);color:var(--c-primary-text);box-shadow:0 6px 20px var(--glow);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast);border-color:#0000}.button.primary:hover{box-shadow:0 10px 26px var(--glow);transform:translateY(-2px)}.button.secondary{border-color:var(--c-accent);color:var(--c-accent)}a{color:var(--c-accent)}.title-wrap{position:relative}.zodiac-wheel{width:12rem;height:12rem;color:var(--c-accent);opacity:.28;pointer-events:none;position:absolute;top:-3rem;right:-1rem}.wheel-spin{transform-box:view-box;transform-origin:100px 100px;animation:80s linear infinite spin}.gender-card{color:var(--c-text);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast)}.gender-card:hover{transform:translateY(-4px)}.gender-card[aria-pressed=true]{border-color:var(--c-accent);background:var(--c-card);box-shadow:0 0 0 2px var(--c-accent), var(--shadow)}.avatar{border:2px solid var(--c-accent);width:5.5rem;height:5.5rem;color:var(--c-accent);box-shadow:0 0 0 6px var(--c-chip), 0 0 26px var(--glow);border-radius:50%;place-items:center;display:grid}.avatar svg,.gender-card .avatar svg{width:3.4rem;height:3.4rem}.analysing{color:var(--c-muted);justify-items:center;gap:.75rem;padding:1.5rem 0;display:grid}.analysing:before{display:none}.astrolabe{width:7rem;height:7rem;color:var(--c-accent)}.astrolabe .ring-a{transform-origin:50px 50px;animation:3s linear infinite spin}.astrolabe .ring-b{transform-origin:50px 50px;animation:5s linear infinite reverse spin}.analysing ol{text-align:center;margin:0;padding:0;list-style:none}.analysing li{opacity:0;animation:fade-up .4s var(--ease-out) forwards}.analysing li:nth-child(2){animation-delay:.4s}.analysing li:nth-child(3){animation-delay:.8s}.hero{align-items:center;gap:1rem;padding:1rem;display:flex}.hero-name{margin:0;font-size:1.9rem;line-height:1.15}.chips{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;display:flex}.chip{background:var(--c-chip);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.85rem;display:inline-flex}.chip svg,.card-icon{width:1.15rem;height:1.15rem;color:var(--c-accent);flex:none}.card h2{color:var(--c-accent);align-items:center;gap:.45rem;display:flex}.badge{color:var(--c-badge-text)}.card[data-tone=good]{border-top:3px solid var(--c-good)}.card[data-tone=neutral]{border-top:3px solid var(--c-neutral)}.card[data-tone=caution]{border-top:3px solid var(--c-caution)}.ornament{background:var(--c-accent);opacity:.55;width:9rem;height:14px;margin:0 auto;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 144 14'%3E%3Cpath d='M0 7h56M88 7h56' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M72 1l6 6-6 6-6-6z' fill='black'/%3E%3Ccircle cx='60' cy='7' r='2'/%3E%3Ccircle cx='84' cy='7' r='2'/%3E%3C/svg%3E") 50%/contain no-repeat}.life-path-value{display:inline-block}.reveal{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.reveal.is-visible .life-path-value{animation:pop .6s var(--ease-out) .3s both}.locale-banner{background:var(--c-surface);color:var(--c-text);border-bottom:1px solid var(--c-border)}@keyframes wave-slide{to{transform:translate(-50%)}}@keyframes wave-bob{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes twinkle{50%{opacity:.25}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes shine{to{transform:translate(110%)}}.paused *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal,.analysing li{opacity:1!important;transform:none!important}}.birth-line{color:var(--c-muted)}.hero{text-align:center;flex-direction:column}.hero .chips{justify-content:center}.hero-art{width:min(13.75rem,70vw);height:auto;box-shadow:0 0 40px var(--glow);border-radius:50%}.zodiac-art{border-radius:50%;width:10rem;height:auto;margin:.5rem auto;display:block}.part2-button{width:100%;margin-block:1.25rem}.part2-title{font-family:var(--font-display);text-align:center;margin-top:1.5rem;scroll-margin-top:1rem}.part2-enter>.part2-title{animation:fade-up .45s var(--ease-out) both}.numerology-diagram{font-variant-numeric:tabular-nums;gap:.45rem;margin-block:.75rem;display:grid}.n-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.n-label{min-width:4.2rem;color:var(--c-muted);font-size:.9rem}.n-box,.n-sum{border:1px solid var(--c-border);background:var(--c-chip);border-radius:.5rem;place-items:center;min-width:2rem;height:2rem;padding-inline:.3rem;display:inline-grid}.n-sum{border-color:var(--c-accent);color:var(--c-accent);font-weight:700}.n-op{color:var(--c-muted)}.n-total{border-top:1px dashed var(--c-border);padding-top:.45rem}.n-note{color:var(--c-muted);font-size:.85rem}.reveal.is-visible .n-row{animation:fade-up .4s var(--ease-out) both}.reveal.is-visible .n-row:nth-child(2){animation-delay:.15s}.reveal.is-visible .n-row:nth-child(3){animation-delay:.3s}.reveal.is-visible .n-row:nth-child(4){animation-delay:.45s}.reveal.is-visible .n-row:nth-child(5){animation-delay:.6s}.reveal.is-visible .n-row:nth-child(6){animation-delay:.75s}.life-path-value{color:var(--c-accent);text-shadow:0 0 18px var(--glow);font-size:2.6rem;line-height:1}.folk-note{color:var(--c-muted);margin-top:-.25rem;font-size:.85rem;font-style:italic}.number-tiles,.swatches,.note-day-chips,.note-days{flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .75rem;padding:0;list-style:none;display:flex}.number-tiles li{background:var(--cta);width:3.4rem;height:3.4rem;color:var(--c-primary-text);font-family:var(--font-display);box-shadow:0 0 18px var(--glow);border-radius:.9rem;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.swatches li{align-items:center;gap:.4rem;display:inline-flex}.swatches li:before{content:"";border:1px solid var(--c-border);background:var(--swatch);border-radius:50%;width:1.4rem;height:1.4rem}[data-color=white]{--swatch:#f7f5ef}[data-color=silver]{--swatch:linear-gradient(135deg, #f2f2f2, #a9adb3)}[data-color=grey]{--swatch:#8b8f96}[data-color=yellow]{--swatch:#f2c94c}[data-color=brown]{--swatch:#8a5a2b}[data-color=green]{--swatch:#3f9a4f}[data-color=black]{--swatch:#16161a}[data-color=blue]{--swatch:#2f6fd0}[data-color=red]{--swatch:#d33a2c}[data-color=pink]{--swatch:#ee8fb0}[data-color=purple]{--swatch:#8a4fc2}.compass-wrap{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.compass{width:10rem;height:10rem}.compass-ring{fill:none;stroke:var(--c-border)}.compass-wedge{fill:var(--c-chip);stroke:var(--c-border)}.compass-wedge.on{fill:var(--c-accent);fill-opacity:.55}.compass text{fill:var(--c-text);text-anchor:middle;paint-order:stroke;stroke:var(--c-surface);stroke-width:3px;font-size:15px;font-weight:700}.tam-tai{border-left:3px solid var(--c-border);background:var(--c-chip);border-radius:.5rem;margin-block:.75rem;padding:.5rem .9rem}.tam-tai h3{margin-top:0}.note-days{gap:.25rem;display:grid}.showcase-hero{--leaf-hi:#fff2c4;--leaf-mid:#d9a640;--leaf-lo:#8d5c14;--leaf-glow:#fff3c8;place-items:center;display:grid}.showcase-hero[data-variant=wood]{--leaf-hi:#e2f6d2;--leaf-mid:#4f9a4a;--leaf-lo:#1f5a2a;--leaf-glow:#d9f5c4}.showcase-hero[data-variant=water]{--leaf-hi:#e1ecff;--leaf-mid:#4b7bd0;--leaf-lo:#1d3d7a;--leaf-glow:#cfe0ff}.showcase-hero[data-variant=fire]{--leaf-hi:#ffe0d6;--leaf-mid:#d2483a;--leaf-lo:#7d1d16;--leaf-glow:#ffd2c4}.bodhi-art{width:min(16rem,70vw);height:auto}.bodhi-art .stop-hi{stop-color:var(--leaf-hi)}.bodhi-art .stop-mid{stop-color:var(--leaf-mid)}.bodhi-art .stop-lo{stop-color:var(--leaf-lo)}.bodhi-art .stop-glow{stop-color:var(--leaf-glow)}.bodhi-chain{fill:none;stroke:var(--leaf-mid);stroke-width:2.6px;stroke-dasharray:5 2.6;stroke-linecap:round}.bodhi-bail{fill:none;stroke:var(--leaf-mid);stroke-width:4px}.bodhi-leaf{stroke:var(--leaf-lo);stroke-width:2px}.bodhi-veins{fill:none;stroke:var(--leaf-lo);stroke-width:1.6px;stroke-linecap:round;opacity:.45}.bodhi-glow{animation:4s ease-in-out infinite breathe}.showcase-variant{color:var(--c-accent);font-weight:700}.faq details{border-bottom:1px solid var(--c-border);padding-block:.5rem}.faq summary{cursor:pointer;font-weight:700}@keyframes breathe{50%{opacity:.6}}.shop-icon{width:1rem;height:1rem}.shop-note{text-align:center;color:var(--c-muted);margin:.35rem 0 0}.risk{border:2px solid var(--risk-edge);background:linear-gradient(135deg, var(--risk-tint), transparent 60%), var(--c-card)}:root{--risk-edge:#b7791f;--risk-tint:#e8a03c24}:root[data-theme=night]{--risk-edge:#a78bfa;--risk-tint:#8b5cf62e}:root[data-theme=lacquer]{--risk-edge:#f0b04a;--risk-tint:#f0b04a24}.risk-meter{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.5rem;display:flex}.meter{gap:.25rem;display:inline-flex}.meter span{background:var(--c-chip);border:1px solid var(--c-border);border-radius:999px;width:2.2rem;height:.6rem}.meter[data-level=low] span:first-child,.meter[data-level=medium] span:nth-child(-n+2),.meter[data-level=high] span{background:var(--risk-edge)}.risk-factor{border-top:1px dashed var(--c-border);padding-block:.5rem}.risk-factor h3,.risk-calm h3{margin-bottom:.25rem}.risk-factor .chips{justify-content:flex-start;align-items:center}.risk h4{margin:.75rem 0 .25rem}.risk ul{margin:0;padding-left:1.2rem}.risk-health{margin-top:.75rem;font-weight:700}.shop-link .button{justify-content:center;align-items:center;gap:.5rem;width:100%;text-decoration:none;display:inline-flex}.shop-cta.large{min-height:3.5rem;font-size:1.15rem}.final-cta{margin-block:1.5rem}@font-face{font-family:Open Sans;font-weight:400 800;font-display:optional;src:url(/fonts/open-sans-vietnamese-variable.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans;font-weight:400 800;font-display:optional;src:url(/fonts/open-sans-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chonburi;font-display:optional;src:url(/fonts/chonburi-vietnamese-400.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chonburi;font-display:optional;src:url(/fonts/chonburi-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:italic;font-weight:700;font-display:optional;src:url(/fonts/literata-vietnamese-700-italic.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata;font-style:italic;font-weight:700;font-display:optional;src:url(/fonts/literata-latin-700-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-weight:700;font-display:optional;src:url(/fonts/oswald-vietnamese-700.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Oswald;font-weight:700;font-display:optional;src:url(/fonts/oswald-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root[data-theme=classic]{color-scheme:light;--font-body:"Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Chonburi", Georgia, serif;--c-bg:#a8481c;--c-surface:#fffaf0;--c-card:#fffdf7;--c-text:#2b1a0e;--c-muted:#5c4630;--c-primary:#c8102e;--c-primary-text:#fff;--c-accent:#a3260f;--c-border:#e3cfa2;--c-input-border:#2b1a0e;--c-error:#b00020;--c-good:#1d6b3a;--c-neutral:#4a468a;--c-caution:#8a4b08;--c-badge-text:#fff;--c-chip:#f6ead0;--glow:#ffe23a8c;--shadow:0 6px 18px #50280a24;--cta:linear-gradient(180deg, #fff36b, #ffe23a 60%, #f5c800);--band:#24160cd6;--yellow:#ffe23a;--wave-1a:transparent;--wave-1b:transparent;--wave-2a:transparent;--wave-2b:transparent;--wave-3a:transparent;--wave-3b:transparent;--wave-4a:transparent;--wave-4b:transparent;--wave-line:transparent;background:var(--c-bg)}:root[data-theme=classic][data-wizard-step="3"],:root[data-theme=classic]:not(:has(.wizard)){background:#fbf4e4}:root[data-theme=classic][data-wizard-step="3"] .classic-scene,:root[data-theme=classic]:not(:has(.wizard)) .classic-scene{display:none}.classic-scene .scene{opacity:1}[data-theme=classic] .leaf{animation:22s linear infinite leaf-fall}.leaf.lane-1{animation-duration:28s;animation-delay:-9s}.leaf.lane-2{animation-duration:18s;animation-delay:-4s}.leaf.lane-3{animation-duration:25s;animation-delay:-15s}.leaf.tone-0 use{fill:#e0611f}.leaf.tone-1 use{fill:#f2a43a}.leaf.tone-2 use{fill:#b8401a}[data-theme=classic] .brand{color:var(--yellow);font-family:var(--font-display);text-shadow:0 2px #3b2108,0 0 8px #0006}[data-theme=classic] .tagline{color:#fff8ea;text-shadow:0 1px 2px #000000b3}[data-theme=classic][data-wizard-step="3"] .tagline,[data-theme=classic]:not(:has(.wizard)) .tagline{color:var(--c-muted);text-shadow:none}[data-theme=classic][data-wizard-step="3"] .brand,[data-theme=classic]:not(:has(.wizard)) .brand{color:var(--c-accent);text-shadow:none}[data-theme=classic] .lang-switcher summary,[data-theme=classic]:not([data-wizard-step="3"]):has(.wizard) .tagline,[data-theme=classic]:not([data-wizard-step="3"]):has(.wizard) .site-footer{background:var(--band);color:#fff8ea}[data-theme=classic]:not([data-wizard-step="3"]):has(.wizard) .tagline{border-radius:.6rem;width:fit-content;margin-inline:auto;padding:.2rem .8rem}[data-theme=classic]:not([data-wizard-step="3"]):has(.wizard) .site-footer{box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax)}[data-theme=classic]:not([data-wizard-step="3"]):has(.wizard) .site-footer :is(a,button){color:var(--yellow)}.classic-ornament{width:100%;height:1.5rem;display:block}.classic-tarot{filter:drop-shadow(0 0 10px #ffe23a99);width:min(15rem,62vw);margin:.25rem auto .75rem;display:block}[data-theme=classic] .zodiac-wheel{display:none}[data-theme=classic] [data-step="1"] .title-wrap,[data-theme=classic] .wish{background:var(--band);box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax);text-align:center;padding-block:1rem}[data-theme=classic] [data-step="1"] h1{color:var(--yellow);font-family:var(--font-display);text-shadow:0 2px #3b2108,0 0 10px #00000073;margin:0;font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.25}[data-theme=classic] [data-step="1"] .intro{color:#fff8ea;text-align:center;background:#24160cb3;border-radius:.6rem;width:fit-content;margin-inline:auto;padding:.35rem .8rem}[data-theme=classic] .gender-grid{margin-block:1.5rem}[data-theme=classic] .gender-card{box-shadow:none;backdrop-filter:none;background:0 0;border:0;flex-direction:column;align-items:center;gap:.9rem;padding:0;display:flex}[data-theme=classic] .gender-label{border:4px solid var(--yellow);min-width:8.5rem;box-shadow:0 0 16px var(--yellow), inset 0 -3px 0 #0000001f;border-radius:999px;order:-1;padding:.55rem 1.8rem;font-size:1.7rem;font-weight:800;animation:1s ease-in-out infinite alternate pulse}[data-theme=classic] [data-gender=male] .gender-label{color:#d40000;background:#fff}[data-theme=classic] [data-gender=female] .gender-label{color:#fff;background:linear-gradient(#4a5bd4,#8a3fc0)}[data-theme=classic] .gender-card .avatar{aspect-ratio:1;border:0;border-radius:50%;width:min(9.5rem,38vw);height:auto;display:block;box-shadow:0 0 22px #ffffffb3}[data-theme=classic] .gender-card .avatar svg{width:100%;height:100%}[data-theme=classic] .wish{color:var(--yellow);margin:1.5rem 0 0;font-family:Literata,Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:700;line-height:1.35}[data-theme=classic] [data-step="2"]{z-index:30;border:4px solid var(--yellow);color:#fff;text-align:center;background:#3e281ef7;width:min(30rem,100vw - 1.5rem);max-height:calc(100dvh - 2rem);padding:1.5rem 1.1rem;position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #140a048c}[data-theme=classic] [data-step="2"] h1{color:var(--yellow);text-shadow:0 2px 2px #0009;font-size:1.5rem}[data-theme=classic] [data-step="2"] .intro,[data-theme=classic] [data-step="2"] label,[data-theme=classic] [data-step="2"] legend,[data-theme=classic] [data-step="2"] .local-only{color:#fff8ea}[data-theme=classic] [data-step="2"] .field-error{color:#ffd2c8}[data-theme=classic] [data-step="2"] .form{box-shadow:none;backdrop-filter:none;text-align:left;background:0 0;border:0;padding:0}[data-theme=classic] [data-step="2"] input,[data-theme=classic] [data-step="2"] select{color:#1a1205;background-color:#fff;border:2px solid #1a1205;border-radius:.9rem}[data-theme=classic] [data-step="2"] button[type=submit]{background:var(--yellow);color:#1a1205;text-transform:uppercase;border:0;border-radius:999px;width:100%;min-height:3.6rem;font-family:Oswald,Impact,sans-serif;font-size:1.9rem;box-shadow:0 0 18px #ffe23a99}[data-theme=classic] [data-step="2"] .actions .secondary{display:none}.popup-close{color:#fff8ea;cursor:pointer;background:0 0;border:0;width:2.75rem;height:2.75rem;font-size:2rem;line-height:1;position:absolute;top:.3rem;right:.5rem}.classic-crystal{border-bottom:4px solid #e2001a;width:min(20rem,100%);margin:0 auto 1rem;display:block}.cb-swirl,.cb-core,.cb-aura,.cb-glint{transform-box:view-box;transform-origin:120px 112px}[data-theme=classic] .cb-swirl-a{animation:26s linear infinite spin}[data-theme=classic] .cb-swirl-b{animation:38s linear infinite reverse spin}[data-theme=classic] .cb-swirl-c{animation:17s linear infinite spin}[data-theme=classic] .cb-sparks{transform-box:view-box;transform-origin:120px 112px;animation:60s linear infinite reverse spin}[data-theme=classic] .cb-spark{animation:3s ease-in-out infinite twinkle}[data-theme=classic] .cb-core{animation:4s ease-in-out infinite alternate breathe-core}[data-theme=classic] .cb-aura{animation:6s ease-in-out infinite alternate breathe-core}[data-theme=classic] .cb-glint{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite glint}[data-theme=classic] .cb-glint-2{animation-delay:-1.2s}[data-theme=classic] .cb-mist{animation:5s ease-in-out infinite alternate shimmer}[data-theme=classic] [data-step="3"] h1,[data-theme=classic] [data-step="3"] h2,[data-theme=classic] .greeting,[data-theme=classic] .birth-line{text-align:center}[data-theme=classic] [data-step="3"] h1{font-family:var(--font-body);text-transform:uppercase;font-weight:800}[data-theme=classic] .hero-art{border:5px solid var(--yellow);width:min(16rem,80vw);box-shadow:none;background:#000;border-radius:1.6rem;padding:.75rem}[data-theme=classic] .zodiac-art{border:4px solid var(--yellow);background:#000}[data-theme=classic] .part2-button,[data-theme=classic] .shop-cta{background:var(--cta);color:#1a1205;text-transform:uppercase;box-shadow:0 0 20px var(--glow);border:4px solid #fff;font-family:Oswald,Impact,sans-serif;font-size:1.35rem;animation:1s ease-in-out infinite alternate pulse}[data-theme=classic] .shop-cta.large{min-height:4rem;font-size:1.6rem}[data-theme=classic] .risk{--risk-edge:#c8102e;--risk-tint:#ffe23a47}@keyframes leaf-fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(900px)rotate(360deg)}}@keyframes pulse{to{transform:scale(1.04)}}@keyframes breathe-core{0%{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}@keyframes glint{0%,to{opacity:.2;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(45deg)}}@keyframes shimmer{0%{opacity:.25}to{opacity:.75}}[data-theme=classic] .card{border:2px solid var(--c-border);backdrop-filter:none;background:#fffdf7;box-shadow:0 4px #7a4f121f}[data-theme=classic] .card h2{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.01em;font-weight:800}[data-theme=classic] .card-value,[data-theme=classic] .hero-name{font-family:var(--font-display)}[data-theme=classic] .part2-title{text-underline-offset:.3em;text-decoration:underline 3px}[data-theme=classic] .ornament{background:#c8102e}[data-theme=classic] .n-box,[data-theme=classic] .number-tiles li{border:2px solid var(--yellow);color:var(--yellow);background:#1a1205;font-weight:800}[data-theme=classic] .number-tiles li{font-family:var(--font-display);box-shadow:0 0 14px var(--glow)}[data-theme=classic] .n-sum{color:#fff;background:#c8102e;border:2px solid #1a1205}[data-theme=classic] .life-path-value{color:var(--yellow);text-shadow:none;background:#1a1205;border-radius:.4rem;padding:.15em .35em}[data-theme=classic] .risk{border-width:3px}[data-theme=classic] .risk>h2{color:var(--yellow);background:#1a1205;border-radius:.4rem;margin-inline:-.25rem;padding:.4rem .6rem}[data-theme=classic] .risk-health{color:#c8102e}[data-theme=classic] .showcase{border:4px solid var(--yellow);box-shadow:0 0 18px var(--glow)}[data-theme=classic] .showcase h2{font-family:var(--font-display);text-transform:none}.motion-off[data-theme=classic] *{animation-play-state:paused!important}[data-theme=classic] .risk>h2 .card-icon{color:var(--yellow)}[data-theme=classic] .card.hero{box-shadow:none;background:0 0;border:0}
