.birthday-fields{border:0;min-width:0;margin:0;padding:0;container-type:inline-size}.birthday-fields legend{margin-bottom:1rem;padding:0}.birthday-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.birthday-field{min-width:0}.birthday-field label{color:var(--color-art-ink);margin-bottom:.5rem;font-size:.875rem;font-weight:700;display:block}.birthday-stepper{border:1px solid var(--color-art-line);background:#fff;border-radius:1rem;overflow:hidden}.birthday-fields .birthday-stepper .cs-input{width:100%;min-width:0;min-height:64px;box-shadow:none;text-align:center;font-variant-numeric:tabular-nums;border:0;border-radius:0;padding:.75rem .25rem;font-size:1.5rem;font-weight:600}.birthday-stepper-actions{border-top:1px solid var(--color-art-line);grid-template-columns:1fr 1fr;display:grid}.birthday-stepper-actions button{min-width:44px;min-height:44px;color:var(--color-art-ink);cursor:pointer;background:#fff;border:0;font-size:1.4rem;font-weight:600;box-shadow:0 1px 2px #0000000d}.birthday-stepper-actions button+button{border-left:1px solid var(--color-art-line)}.birthday-stepper-actions button:hover{background:var(--color-art-paper)}.birthday-stepper-actions button:focus-visible,.birthday-fields .birthday-stepper input:focus-visible{outline:2px solid var(--reading-accent);outline-offset:-3px}.birthday-memory{color:var(--color-art-muted);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:.75rem;font-size:.75rem;line-height:1.8;display:flex}.birthday-memory p{margin:0}.birthday-memory button{border:1px solid var(--color-art-line);min-height:44px;color:var(--color-art-ink);cursor:pointer;background:#fff;border-radius:.6rem;padding:.3rem .75rem;font-weight:600;box-shadow:0 1px 2px #0000000d}@container (max-width:295px){.birthday-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-field:first-child{grid-column:1/-1}}.birthday-reading{margin-top:2.5rem}.birthday-reading-intro{text-align:center;margin-bottom:2rem}.birthday-reading-title{color:var(--reading-accent);font-family:var(--font-art-serif), serif;text-wrap:balance;margin:.5rem 0 1rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:500;line-height:1.6}.birthday-reading-title:focus{outline:none}.birthday-reading-title:focus-visible{outline:2px solid var(--reading-accent);outline-offset:.5rem}.birthday-reading .cs-muted{text-wrap:pretty}.birthday-reading-intro .cs-muted{margin-bottom:0}.birthday-reading-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.birthday-reading .birthday-person{margin:0;padding:clamp(1.25rem,3vw,2rem)}.birthday-reading-number{color:var(--reading-accent);font-family:var(--font-art-serif), serif;font-variant-numeric:tabular-nums;font-size:1.5rem;display:block}.birthday-person>.birthday-reading-number{margin-bottom:1.5rem}.birthday-reading-hint{text-align:center;max-width:42rem;margin:1.25rem auto 1.5rem}.birthday-reading .cs-error{max-width:42rem;margin:1rem auto}.compatibility-rings{width:8rem;height:5rem;color:var(--reading-accent);margin:0 auto 1.5rem;position:relative}.compatibility-rings span{border:1px solid;border-radius:50%;width:5rem;height:5rem;position:absolute}.compatibility-rings span:first-child{left:0}.compatibility-rings span:last-child{background:var(--reading-soft);box-shadow:inset 0 0 0 .5rem var(--color-art-paper);right:0}.compatibility-summary{border-top:1px solid var(--color-art-line);border-bottom:1px solid var(--color-art-line);text-align:center;padding:2.5rem 1.5rem}.compatibility-score{color:var(--reading-accent);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.75rem;margin:1.5rem 0 .5rem;display:flex}.compatibility-score strong{font-family:var(--font-art-serif), serif;font-variant-numeric:tabular-nums;font-size:4.5rem;font-weight:500;line-height:1}.compatibility-score span{font-size:.875rem;font-weight:700}.compatibility-category{background:var(--reading-soft);color:var(--reading-accent);border-radius:999px;margin:.75rem 0 0;padding:.4rem 1rem;font-weight:700;display:inline-block}.compatibility-score-basis{max-width:38rem;margin:1rem auto 0}.compatibility-spread{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.birthday-reading .compatibility-card{text-align:center;min-width:0;margin:0;padding:1.5rem}.birthday-reading-label{color:var(--reading-accent);flex-direction:column;gap:.75rem;font-size:.875rem;font-weight:700;display:flex}.birthday-reading-label>span:first-child{font-size:1rem;font-family:var(--font-art-serif), serif}.compatibility-card-symbol{border:1px solid var(--color-art-line);background:var(--reading-soft);border-radius:50%;place-items:center;width:5rem;height:5rem;margin:1.5rem auto;font-size:2.25rem;display:grid}.birthday-reading-card-title{font-family:var(--font-art-serif), serif;color:var(--reading-accent);text-wrap:balance;margin:0;font-size:1.5rem;font-weight:500}.compatibility-card-name{color:var(--color-art-muted);margin:.4rem 0 1rem;font-size:.875rem}.compatibility-card-message{text-align:left;margin:1.25rem 0 0}.birthday-reading-messages{margin-top:2.5rem}.birthday-reading-message{border-bottom:1px solid var(--color-art-line);grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.75rem 0;display:grid}.birthday-reading-message .cs-h2{margin:0 0 .75rem}.birthday-reading-message .cs-muted{margin:0}.birthday-reading-actions{margin-top:2rem}.banshogaku-botanical{border:1px solid var(--reading-accent);width:5rem;height:6rem;color:var(--reading-accent);border-radius:3rem 3rem .25rem .25rem;place-items:center;margin:0 auto 1.5rem;display:grid}.banshogaku-botanical svg{width:3rem;height:3rem}.banshogaku-elements{color:var(--reading-accent);justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.banshogaku-elements span{border:1px solid var(--reading-accent);width:2.5rem;height:2.5rem;font-family:var(--font-art-serif), serif;border-radius:50%;place-items:center;display:grid}.birthday-reading .banshogaku-birthday{max-width:30rem;margin:0 auto;padding:clamp(1.25rem,4vw,2rem)}.banshogaku-birthday .cs-btn{width:100%}.banshogaku-specimen{border:1px solid var(--color-art-line);background:#fff;border-radius:1.5rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.banshogaku-art-stage{background:var(--reading-stage);color:var(--reading-contrast);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:flex}.banshogaku-stage-label{font-size:.875rem;font-weight:700}.banshogaku-flip{width:min(100%,16rem);color:inherit;perspective:1000px;cursor:pointer;background:0 0;border:0;border-radius:1rem;padding:0;display:block;box-shadow:0 10px 15px -3px #0003}.birthday-reading .banshogaku-flip:focus-visible{outline:3px solid var(--reading-contrast);outline-offset:6px}.banshogaku-flip[aria-expanded=true]{cursor:default}.banshogaku-flip-inner{transform-style:preserve-3d;transition:transform .18s ease-out;display:grid}.banshogaku-flip-inner[data-revealed=true]{transform:rotateY(180deg)}.banshogaku-flip-back,.banshogaku-flip-front{backface-visibility:hidden;grid-area:1/1;display:block}.banshogaku-flip-front{transform:rotateY(180deg)}.banshogaku-flip svg{width:100%;height:auto;display:block}.banshogaku-specimen-copy{align-self:center;min-width:0;padding:clamp(1.5rem,4vw,3rem)}.banshogaku-epithet{color:var(--reading-accent);margin:-.5rem 0 1.5rem;font-weight:700}.banshogaku-attributes{border-top:1px solid var(--color-art-line);margin:0}.banshogaku-attributes>div{border-bottom:1px solid var(--color-art-line);grid-template-columns:1fr 1fr;gap:1rem;padding:.75rem 0;font-size:.875rem;line-height:1.6;display:grid}.banshogaku-attributes dt{color:var(--color-art-muted)}.banshogaku-attributes dd{color:var(--reading-accent);margin:0;font-weight:700}.banshogaku-specimen-copy>.cs-muted{margin-bottom:0}.banshogaku-insights{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.birthday-reading .banshogaku-insights .cs-card{min-width:0;margin:0;padding:1.75rem}.banshogaku-insights .cs-h2{margin:.75rem 0 1rem}.banshogaku-insights .cs-muted{margin:0}.banshogaku-insights ul{padding-left:1.25rem}.banshogaku-insights li+li{margin-top:.5rem}.birthday-reading .banshogaku-daily{background:var(--reading-soft);border-inline-start-width:.375rem;margin-top:1.5rem;padding:1.75rem}.banshogaku-daily-heading{color:var(--reading-accent);align-items:center;gap:.5rem;display:flex}.banshogaku-daily-heading .cs-label{margin:0}.banshogaku-daily .cs-h2{margin:1rem 0 .75rem}.banshogaku-daily h3{color:var(--reading-accent);margin:0;font-size:1.125rem}.banshogaku-daily .cs-muted{margin-bottom:0}@media (max-width:760px){.birthday-reading-pair,.compatibility-spread,.banshogaku-specimen,.banshogaku-insights{grid-template-columns:minmax(0,1fr)}.birthday-reading .compatibility-card{padding:1.5rem}.compatibility-card-message{max-width:36rem;margin-inline:auto}.banshogaku-flip{width:min(100%,13rem)}.birthday-person>.birthday-reading-number{margin-bottom:1rem}}@media (prefers-reduced-motion:reduce){.banshogaku-flip-inner{transition:none}}
