body:has(>.lunabao){font:400 var(--text-md)/1.55 var(--font-body);color:var(--moon);-webkit-font-smoothing:antialiased}.lunabao{background:var(--night-900) var(--stars) repeat;min-height:100svh;color:var(--moon);font:400 var(--text-md)/1.55 var(--font-body);flex-direction:column;display:flex;overflow-x:clip}.lunabao :is(h1,h2,h3,h4,p,dl,dd){margin:0}.lunabao :is(h1,h2,h3,h4){font-family:var(--font-display);font-variation-settings:"SOFT" 100,"WONK" 0;letter-spacing:-.012em;font-weight:600}.lunabao h1{font-size:var(--text-3xl);color:var(--cream);line-height:1.05}.lunabao h2{font-size:var(--text-2xl);line-height:1.1}.lunabao h3{font-size:var(--text-xl);line-height:1.15}.lunabao h4{font-size:var(--text-lg);line-height:1.25}.lunabao a{color:inherit;text-decoration:none}.lunabao p a{text-underline-offset:3px;text-decoration:underline}.lunabao :focus-visible{outline:3px solid var(--lilac);outline-offset:3px}.lunabao :is(button,input,select){font:inherit}.lunabao button{cursor:pointer}.lunabao button:disabled{cursor:wait;opacity:.7}.site-width{width:min(100% - 2 * var(--gutter),980px);margin-inline:auto}.skip-link{z-index:5;top:8px;left:var(--gutter);background:var(--cream);border-radius:var(--radius-field);padding:8px 12px;position:absolute;transform:translateY(-150%);color:var(--ink)!important}.skip-link:focus{transform:none}.header-inner{justify-content:space-between;align-items:center;min-height:72px;display:flex}.wordmark{min-height:44px;font:600 var(--text-xl)/1.15 var(--font-display);letter-spacing:-.012em;align-items:center;gap:8px;display:inline-flex;color:var(--cream)!important}.wordmark svg{width:48px;height:48px}.site-header nav{margin-right:-8px;display:flex}.nav-link{min-height:44px;font-size:var(--text-sm);align-items:center;padding-inline:8px;font-weight:600;display:inline-flex}@media (max-width:429px){.nav-learn{display:none}}.nav-link:hover,.back-link:hover{color:var(--lilac)}.home-page{margin-block:12px var(--space-14)}.hero{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.hero-scene{isolation:isolate;position:relative}.hero-scene:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--violet) 34%,transparent),transparent);position:absolute;inset:-10%}.hero .hero-note{color:var(--bao);font-size:var(--text-sm);margin-bottom:10px;font-weight:600}.hero h1{font-size:var(--text-4xl);line-height:1.02}.hero .hero-description{max-width:29ch;color:var(--haze);margin-top:14px}.mascot-orbit{width:calc(100% + 56px);margin:6px -28px 0;display:block}.home-actions{margin-top:12px}@media (max-height:740px){.mascot-orbit{height:clamp(96px,100svh - 440px,253px)}}@media (max-height:640px){.hero h1{font-size:var(--text-2xl)}.hero .hero-note{margin-bottom:4px}.hero .hero-description{font-size:var(--text-sm);margin-top:8px}.mascot-orbit{height:clamp(96px,100svh - 336px,240px);margin-top:4px}}@media (min-width:600px) and (max-width:859px) and (max-height:500px){.hero{column-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy,.home-actions{grid-column:1}.hero-scene{grid-area:1/2/3;align-self:center}.hero-scene .mascot-orbit{width:100%;height:auto;margin:0}}.home-example{margin-top:var(--space-14)}.home-example>h2{color:var(--cream)}.home-inside{margin:var(--space-6) 0 0;padding:0;list-style:none;display:grid}.home-inside li{padding-block:var(--space-3);border-bottom:1px solid var(--hairline);gap:2px;display:grid}.home-inside strong{color:var(--cream);font:600 var(--text-lg)/1.25 var(--font-display);letter-spacing:-.012em}.home-inside li>span{color:var(--haze);font-size:var(--text-sm)}.home-see{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;min-height:56px;font-weight:600;display:flex;color:var(--lilac)!important}.lunabao .action{border-radius:var(--radius-button);text-align:center;cursor:pointer;border:0;justify-content:center;align-items:center;width:100%;min-height:58px;padding:12px 16px;font-size:1.125rem;font-weight:700;line-height:1.25;text-decoration:none;display:inline-flex}.lunabao .action-primary{background:var(--bao);color:var(--ink);box-shadow:0 4px 0 var(--bao-edge)}.lunabao .action-primary:active{box-shadow:0 1px 0 var(--bao-edge);transform:translateY(3px)}.home-actions .action-note{text-align:center;color:var(--haze);font-size:var(--text-sm);margin-top:14px}.home-actions .action-note a{align-items:center;min-height:44px;display:inline-flex}.tarot-teaser{border-block:1px solid var(--hairline);align-items:center;gap:14px;min-height:56px;margin-top:28px;padding-block:14px;display:flex}.tarot-icon{flex:0 0 34px}.tarot-teaser-copy{gap:2px;display:grid}.tarot-teaser-copy span{color:var(--haze);font-size:var(--text-sm)}.tarot-teaser>svg:last-child{color:var(--lilac);margin-left:auto}.narrow-page{max-width:640px;margin-block:var(--space-2) var(--space-14)}.back-link{min-height:44px;font-size:var(--text-sm);background:0 0;border:0;align-items:center;gap:2px;margin:0 0 8px -6px;padding:0;font-weight:600;display:inline-flex;color:var(--haze)!important}.narrow-page .page-intro,.reading-result .page-intro{color:var(--haze);margin-top:10px}.birth-form{gap:var(--space-4);margin-top:var(--space-18);padding:var(--space-5);border-radius:var(--radius-card);background:var(--cream);color:var(--ink);box-shadow:0 5px 0 var(--bao-edge);border:0;display:grid;position:relative}.form-mascot{display:flex;position:absolute;top:-73px;right:10px}.birth-form :focus-visible,.identity-card :focus-visible,.reading-sheet :focus-visible,.theme-bubble :focus-visible{outline-color:var(--violet)}.birth-form .action-primary,.reading-sheet .action-primary{background:var(--ink);color:var(--cream);box-shadow:0 4px 0 var(--ink-edge)}.birth-form .action-primary:active,.reading-sheet .action-primary:active{box-shadow:0 1px 0 var(--ink-edge)}.birth-form-pending .page-intro{color:var(--ink-2)}.birth-form-pending .back-link{color:var(--violet)!important}.field{gap:6px;min-width:0;display:grid}.field label{font-size:var(--text-sm);font-weight:700}.field label span{color:var(--ink-2);font-size:var(--text-xs);margin-left:6px;font-weight:400}.field :is(input,select){border:1.5px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:var(--radius-field);background:var(--field);width:100%;min-width:0;min-height:52px;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding:12px 14px;font-size:1rem}.field input::placeholder{color:var(--ink-2);opacity:1}.field-help,.form-note{color:var(--haze);font-size:var(--text-xs)}.birth-form :is(.field-help,.form-note){color:var(--ink-2)}.birth-form .field-help a{color:var(--violet)}.birth-form .form-note{text-align:center}.city-options{margin:0;padding:0;list-style:none;display:grid}.city-options button{border:0;border-bottom:1px solid var(--ink-line);width:100%;min-height:44px;color:var(--ink);background:var(--field);text-align:left;font-size:var(--text-sm);padding:10px}.city-options button:hover{background:var(--lilac-50)}.field-error{border-left:3px solid var(--bao-name);color:var(--bao-name);font-size:var(--text-sm);padding-left:10px;font-weight:600}.result-page .mock-badge{color:var(--haze);font-size:var(--text-xs);margin-block:10px}.lunabao .reading-result>h1{font-size:var(--text-xl);line-height:1.15}.reading-result>.page-intro{font-size:var(--text-sm);margin-top:4px}@media (max-width:859px){.reading-result>.page-intro{display:none}}.reading-result>.back-link{margin-bottom:0}.result-message-note .action{margin-top:var(--space-5)}.result-message-note{min-height:44px;margin-top:var(--space-14);padding:var(--space-5);background:var(--night-800);border-radius:20px;position:relative}.message-guide{display:flex;position:absolute;top:-58px;right:10px}.result-loading{min-height:100svh}.reading-result{max-width:640px;margin-block:var(--space-2) var(--space-14)}.result-birth-details{margin-top:var(--space-2);color:var(--haze);font-size:var(--text-sm)}.identity-card{margin-top:var(--space-18);padding:var(--space-5) var(--space-5) var(--space-2);border-radius:var(--radius-card);background:var(--cream);color:var(--ink);box-shadow:0 5px 0 var(--bao-edge);gap:6px;display:grid;position:relative}.identity-pair{align-items:flex-end;display:flex;position:absolute;top:-73px;right:10px}.identity-pair svg+svg{margin-left:-20px}.identity-card>p:first-of-type{color:var(--ink-2);font-size:var(--text-sm);font-weight:600}.identity-card :is(h2,h3){font-size:2rem;line-height:1.08}.identity-card p{font-size:1rem}.lunabao .identity-archetype{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);letter-spacing:-.012em;color:var(--violet);line-height:1.15}.content-label{color:var(--ink-2);font-weight:600;font-size:var(--text-xs)!important}.lunabao summary{min-height:44px;padding-block:10px;padding-right:var(--space-8);cursor:pointer;font-weight:600;list-style:none;display:block;position:relative}.lunabao summary::-webkit-details-marker{display:none}.lunabao summary:after{content:"";background:var(--summary-arrow,var(--lilac));width:20px;height:20px;-webkit-mask:var(--chevron) center / contain no-repeat;-webkit-mask:var(--chevron) center / contain no-repeat;mask:var(--chevron) center / contain no-repeat;transition:transform var(--dur-ui) var(--ease-out);margin-top:-10px;position:absolute;top:50%;right:0}.lunabao details[open]>summary:after{transform:rotate(90deg)}.identity-card,.birth-form{--summary-arrow:var(--violet)}.identity-card details .reading-item{margin-top:12px}.identity-card details[open]{padding-bottom:var(--space-3)}.identity-card>:last-child:not(details){margin-bottom:var(--space-3)}.reading-terms{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0 0;padding:0;list-style:none;display:flex}.reading-terms a{min-width:44px;min-height:44px;color:var(--violet);align-items:center;display:inline-flex}.identity-card>.reading-terms{margin:0}.identity-card>.reading-terms li{align-items:center;min-height:24px;display:flex}.identity-card>.reading-terms a{margin-block:-10px}.keep-together{white-space:nowrap}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reading-notices{color:var(--haze);font-size:var(--text-sm);gap:8px;margin-top:16px;display:grid}.facts-only-note{color:var(--haze);margin-top:18px}.reading-item{gap:6px;display:grid}.borrowed-note{border-top:1px solid var(--ink-line);color:var(--ink-2);font-size:var(--text-xs);padding-top:10px}.complete-facts{margin-top:var(--space-6);border-block:1px solid var(--hairline);padding-block:8px}.complete-facts>summary{color:var(--moon)}.reading-card{border-top:1px solid var(--hairline);font-size:var(--text-sm);gap:12px;margin-top:16px;padding-block:16px;display:grid}.reading-card h2{font-size:var(--text-xl);color:var(--cream)}.reading-voice{color:var(--lilac)}.fact-list>div{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;gap:8px 14px;padding-block:8px;display:flex}.fact-list dd{text-align:right;overflow-wrap:anywhere;margin-left:auto}.reading-card summary{color:var(--lilac)}.chart-facts{min-width:0}.result-meta{color:var(--haze);font-size:var(--text-xs);overflow-wrap:anywhere;gap:5px;margin-top:16px;display:grid}.device-save{margin-top:var(--space-8);padding-block:var(--space-5);border-block:1px solid var(--hairline);gap:10px;display:grid}.device-save h2{font-size:var(--text-xl);color:var(--cream)}.device-save-choice{min-height:44px;font-size:var(--text-sm);cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.device-save-choice input{border:1.5px solid var(--lilac);appearance:none;cursor:pointer;background:50%/16px no-repeat;border-radius:6px;flex:none;width:22px;height:22px;margin:0}.device-save-choice input:checked{border-color:var(--bao);background-color:var(--bao);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m5 13 4.5 4.5L19 7' stroke='%232A1C4A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.device-delete{border:1px solid var(--hairline);border-radius:var(--radius-field);width:fit-content;min-height:44px;color:var(--lilac);background:var(--night-800);padding:8px 12px}.reading-result>.device-save{margin-top:var(--space-14)}.reading-result>.device-save+.tarot-teaser{border-top:0;margin-top:0}.reading-result .reading-disclaimer{color:var(--haze);font-size:var(--text-xs);margin-top:24px}.reading-page{width:100%;margin-top:var(--space-2)}.reading-page-head,.reading-sheet-inner{max-width:640px}.reading-page-head{padding-bottom:var(--space-8)}.reading-sheet{background:var(--cream);color:var(--ink);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding-block:var(--space-8) var(--space-14)}.reading-sheet-inner{position:relative}.reading-sheet :is(h2,h3,h4){color:var(--ink)}.reading-sheet p a{color:var(--violet)}.reading-sheet .action{margin-top:var(--space-6)}.site-footer{padding-block:var(--space-8);color:var(--haze);font-size:var(--text-xs);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:auto;display:grid}.site-footer nav{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.site-footer nav a{min-height:44px;font-size:var(--text-sm);align-items:center;display:flex}.site-footer nav a:hover{color:var(--moon)}.sound-switch{background:var(--night-800);width:44px;height:44px;color:var(--moon);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.sound-switch[aria-checked=false]{color:var(--haze)}.footer-sound{min-height:44px;color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.footer-sound-spot{min-height:44px}.footer-sound svg{flex:none;width:18px;height:18px}.footer-sound:hover{color:var(--moon)}.sound-switch:focus-visible,.footer-sound:focus-visible{outline:3px solid var(--lilac);outline-offset:2px}@media (min-width:860px){.home-page{margin-block:var(--space-14) var(--space-18)}.hero{grid-template-columns:minmax(0,1fr) minmax(480px,1fr)}.hero-copy{padding-top:var(--space-6);grid-column:1}.hero-scene{grid-area:1/2/3;align-self:center}.hero-scene .mascot-orbit{width:100%;height:auto;margin:0}.hero h1{max-width:12ch}.home-actions{max-width:420px;margin-top:var(--space-6);grid-column:1}.home-example-layout{gap:var(--space-10);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.site-footer nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
:root{--dur-press:.12s;--dur-ui:.22s;--dur-enter:.42s;--dur-reveal:.9s;--ease-out:cubic-bezier(.22,1,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}.hero-scene .mascot-orbit{transform:translate3d(var(--parallax-x,0px), var(--parallax-y,0px), 0);transition:transform var(--dur-ui) var(--ease-out)}.orbit-perspective{transform-origin:171px 101px;transform:perspective(520px)rotateX(58deg)rotate(-19deg)}.hero-scene[data-motion-running=true] .orbit-perspective{animation:72s linear infinite orbit-turn}.hero-scene[data-motion-running=true] .orbit-star{animation:5.2s ease-in-out infinite star-twinkle}.hero-scene[data-motion-running=true] .orbit-star:nth-child(2){animation-duration:6.4s;animation-delay:-1.7s}.hero-scene[data-motion-running=true] .orbit-star:nth-child(3){animation-duration:4.6s;animation-delay:-3.1s}.hero-scene[data-motion-running=true] .orbit-star:nth-child(4){animation-duration:7s;animation-delay:-4.4s}.hero-scene[data-motion-running=true] .orbit-star:nth-child(5){animation-duration:5.8s;animation-delay:-2.3s}@keyframes star-twinkle{0%,to{opacity:1}50%{opacity:.72}}.mascot-bao,.mascot-eye{transform-box:fill-box;transform-origin:50%}@keyframes orbit-turn{0%{transform:perspective(520px)rotateX(58deg)rotate(-19deg)}to{transform:perspective(520px)rotateX(58deg)rotate(341deg)}}.lunabao .action-primary{transition:transform var(--dur-press) var(--ease-spring)}.lunabao .action-primary:active{transition:none}::view-transition{pointer-events:none}::view-transition-group(*){animation-duration:var(--dur-ui);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:page-out var(--dur-ui) var(--ease-out) both}::view-transition-new(root){animation:page-in var(--dur-ui) var(--ease-out) both}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.identity-stage[data-revealing=true] .identity-turn{animation:identity-reveal var(--dur-reveal) var(--ease-out) both}.identity-stage[data-revealing=true] .identity-card{animation:identity-front var(--dur-reveal) linear both}.identity-stage[data-revealing=true] .identity-back{animation:identity-back var(--dur-reveal) linear both;display:flex}@keyframes identity-reveal{0%{transform:perspective(1400px)rotateY(180deg)}50%{transform:perspective(1400px)rotateY(90deg)}to{transform:perspective(1400px)rotateY(0)}}@keyframes identity-front{0%,49.99%{opacity:0}50%,to{opacity:1}}@keyframes identity-back{0%,49.99%{opacity:1}50%,to{opacity:0}}.share-artwork[data-ready=true] .share-luna .mascot-eye{animation:.14s ease-in-out share-blink}@keyframes share-blink{0%,to{transform:scaleY(1)}50%{transform:scaleY(.08)}}.lunabao{isolation:isolate}.sky-meteors{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-meteors span{background:linear-gradient(90deg, transparent, var(--moon));opacity:0;border-radius:2px;width:clamp(96px,30vw,150px);height:2px;animation:41s linear -35s infinite meteor;position:absolute;top:12%;left:58%}.sky-meteors span:nth-child(2){animation-duration:59s;animation-delay:-41s;top:34%;left:74%}.sky-meteors span:nth-child(3){animation-duration:83s;animation-delay:-52s;top:4%;left:90%}@keyframes meteor{0%{opacity:0;transform:rotate(155deg)translate(0)}.4%{opacity:.95}2.6%{opacity:0;transform:rotate(155deg)translate(min(70vw,620px))}to{opacity:0;transform:rotate(155deg)translate(min(70vw,620px))}}@media (prefers-reduced-motion:reduce){.identity-stage .identity-tilt{transform:none}.identity-stage .identity-back,.identity-stage .identity-skip{display:none}.lunabao *,.lunabao :before,.lunabao :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero-scene .mascot-orbit{transform:none}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-group(*){animation:none!important}}
