/* Divine edition: fashion-led entry, quiet and legible personal reading. */
body:has(.lp3.active) {background:#e9e9ed}
.landing.lp3 {--ink:#151515;--paper:#f4f3f1;--accent:#ed297e;color:var(--ink);background:var(--paper)}
.lp3 :is(h2,h3) {font-weight:700}
.lp3-nav {height:78px;background:#f4f3f1;border-bottom:1px solid #151515;padding-inline:4%;gap:24px}
.lp3-nav .lp3-logo,.lp3-footer .lp3-logo {color:#151515!important;font-family:inherit;letter-spacing:-.05em;font-weight:800}
.lp3-logo>span {color:#ed297e}.lp3-logo svg circle:first-of-type {fill:#ed297e}
.lp3-nav nav {font-size:11px;gap:24px}.lp3-nav nav a:hover {color:#b51355}
.lp3 .lp3-button {background:#171717;color:#fff;border:1px solid #171717;border-radius:0;box-shadow:none;font-weight:700;min-height:62px;position:relative;overflow:hidden;transition:background .2s,color .2s,transform .2s}
.lp3 .lp3-button:hover {background:#ed297e;color:#171717;border-color:#171717;box-shadow:4px 4px 0 #171717;transform:translate(-2px,-2px)}
.lp3 .lp3-small {background:#ed297e;color:#151515;min-height:40px;font-size:11px;padding:10px 17px;gap:30px}
.lp3 :is(a,button,summary,input,select):focus-visible {outline:3px solid #b51355;outline-offset:5px}
.lp3-hero {grid-template-columns:1fr 1fr;background:#ed9fc2;overflow:hidden}
.lp3-hero-copy {padding:40px 7% 44px 8%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;background:#f4a8cb}
.lp3-kicker {font-size:11px;letter-spacing:.06em;color:#151515;font-weight:700;gap:9px}.lp3-status-dot {background:#151515;width:6px;height:6px}
.gal-edition {position:relative;font:900 clamp(53px,6.1vw,92px)/.83 Arial,Helvetica,sans-serif;letter-spacing:-.085em;text-align:left;margin:30px 0 28px;color:#151515;isolation:isolate}
.gal-edition em {font-style:italic;font-weight:900;letter-spacing:-.07em}.gal-edition>span {position:absolute;right:-65px;top:5px;font-size:75px;font-weight:400;line-height:1;color:#f8f6f4;-webkit-text-stroke:1px #151515;transform:rotate(12deg)}
.lp3 .lp3-hero h1.design-copy-title {font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(32px,3.35vw,49px);font-weight:900;line-height:1.42;letter-spacing:-.055em;margin:0 0 21px;color:#151515;white-space:normal}
.lp3-hero h1 span {color:#151515;background:none;padding:0}.lp3-hero h1 span::after {display:none}
.lp3-hero-lead {font-size:12px;line-height:1.95;color:#3d2530;font-weight:500}
.lp3-hero .lp3-button {margin-top:25px;max-width:330px;width:100%;font-size:14px;min-height:57px}
.lp3 .lp3-hero-note {color:#3a2230;font-size:11px;margin-top:12px!important}
.lp3-scene {position:relative;width:100%;height:auto;min-height:625px;border:0;border-left:1px solid #151515;border-radius:0;background:#d4d4d8;box-shadow:none;margin:0;contain:paint;pointer-events:auto;overflow:hidden}
.gal-deity {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform:scale(1.015);will-change:auto}
.lp3-scene::before {display:none}
/* The loop starts and ends on the still, so it fades in over it without a jump. */
/* Fine halftone screen over the photo; text and stickers stay above it. */
.gal-dot-mesh {position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#16161a2e 0 .9px,transparent 1.3px);background-size:4px 4px}
.gal-deity-video {opacity:0;transition:opacity .4s ease;pointer-events:none}.gal-deity-video.is-playing {opacity:1}
.lp3-graphic-meta {inset:18px 22px auto;color:#202024;font:700 11px/1.5 Arial,sans-serif;letter-spacing:.08em;z-index:2}
.gal-sticker {position:absolute;right:24px;bottom:118px;display:block;padding:18px 24px;min-width:160px;font:700 15px/1.65 "Hiragino Kaku Gothic ProN",sans-serif;background:#ecfc94;color:#151515;transform:rotate(9deg);border:1px solid #151515;text-align:left;box-shadow:4px 4px 0 #151515}
.gal-sticker b {font-size:24px;font-weight:900;letter-spacing:-.06em}.gal-sticker>span {position:absolute;right:11px;top:8px;font:24px/1 Arial}
.gal-art-star {position:absolute;left:8%;top:35%;font:100px/1 serif;color:#fff;text-shadow:0 1px 2px #444;transform:rotate(-12deg)}
.gal-art-caption {position:absolute;bottom:0;left:0;right:0;padding:26px 25px 20px;background:linear-gradient(transparent,#111b);text-align:left;color:#fff}
.gal-art-caption>span {font:900 italic clamp(30px,3.1vw,48px)/1 Arial,sans-serif;letter-spacing:-.06em}.gal-art-caption p {margin:8px 0 0;font-size:11px;font-weight:700;display:flex;justify-content:space-between;gap:10px}.gal-art-caption small {font-size:11px;font-weight:400}
.lp3-hero-bottom {background:#151515;color:#fff;height:48px;border:0;padding-inline:4%}
.lp3 .lp3-sample-link,.lp3-hero .lp3-scene-toggle {color:#efefef;font-size:11px}.lp3 .lp3-scene-toggle:hover {color:#f4a8cb}
.gal-ticker {overflow:hidden;background:#ed297e;border-bottom:1px solid #151515;color:#151515;padding:15px 0;pointer-events:none}
.gal-ticker-track {width:max-content;display:flex;transform:translateX(0)}
.gal-ticker-track>span {flex:none;white-space:nowrap;font:900 italic 40px/1.05 Arial,sans-serif;letter-spacing:-.05em;padding-right:20px}
.lp3-motion .gal-ticker-track {animation:gal-marquee 28s linear infinite}
.lp3-motion .gal-deity {animation:gal-breathe 14s ease-in-out infinite alternate}
.lp3-motion .gal-sticker {animation:gal-float 6s ease-in-out infinite}
.lp3-motion .gal-art-star {animation:gal-star 18s linear infinite}
.lp3.is-offscreen :is(.gal-ticker-track,.gal-deity,.gal-sticker,.gal-art-star) {animation-play-state:paused}
@keyframes gal-marquee {to {transform:translateX(-50%)}}
@keyframes gal-breathe {to {transform:scale(1.06) translateY(-.5%)}}
@keyframes gal-float {50% {transform:translateY(-9px) rotate(5deg)}}
@keyframes gal-star {to {transform:rotate(348deg)}}
.lp3-index-strip {background:#f4f3f1;border-color:#151515;padding-inline:4%}.lp3-index-strip>span {color:#151515;font-size:12px;padding:19px 10px;gap:15px}.lp3-index-strip>span+span {border-color:#c4c4c4}.lp3-index-strip b {background:none;border:0;padding:0;width:auto;height:auto;color:#af1552;font:700 12px/1 monospace;opacity:1}
.lp3-oracle {background:#18181b;color:#f4f3f1;padding:95px 8% 40px}
.lp3 .lp3-eyebrow {font:700 11px/1.8 Arial,sans-serif;color:#ad1753;letter-spacing:.12em}.lp3-oracle .lp3-eyebrow {color:#ff8fbe}
.lp3-value-copy h2 {color:#f4f3f1;font-size:clamp(32px,3.4vw,48px);line-height:1.5;font-weight:800}
.lp3 .lp3-value-lead {color:#bcbcc4;font-size:13px}
.lp3-value-list li {border-color:#45454d;padding:23px 0}.lp3-value-list li>span {color:#ff8fbe;font:700 italic 18px/1.5 Arial,sans-serif}.lp3-value-list h3 {color:#f4f3f1;font-size:17px}.lp3-value-list p {color:#bcbcc4;font-size:12px}
.lp3-reading-sample {background:#f4f3f1;border:0;border-radius:0;box-shadow:8px 8px 0 #ed297e;padding:38px 35px 30px;transform:rotate(1.5deg)}
.lp3-reading-mark {color:#bb1b5f;font:50px/1 serif;margin-bottom:26px}.lp3-sample-tag {background:#171717;color:#fff;border:0;border-radius:0;padding:6px 10px;font-size:11px}
.lp3 .lp3-sample-kicker {color:#7b505f}.lp3-reading-sample h3 {color:#272229;font-size:27px;font-weight:600}.lp3 .lp3-sample-reading {color:#5d565d;font-size:13px}
.lp3-sample-action {background:#eee8eb;border-radius:0;border-left:3px solid #bb1b5f;padding:17px}.lp3-sample-action>span {color:#a11a51}.lp3-sample-action p {color:#403640;font-size:12px}.lp3 .lp3-sample-sign {color:#5a5259}
.lp3 .lp3-sample-caption {color:#b7aab2;margin-top:26px}.lp3-sample-detail {border-color:#4e424b;color:#c9bdc6}.lp3-sample-detail h3 {color:#f9f4f7}
.lp3 .lp3-delivery-note {color:#bcbcc4;font-size:12px}.lp3-delivery-note strong {color:#f5e8ef;margin-top:5px}
.lp3-start {background:#18181b;padding:35px 8% 95px}
.lp3-form {background:#e8e8ec;border:0;border-radius:0;box-shadow:none;padding:45px}
.lp3-form h2 {font-weight:800;color:#171717;font-size:34px}.lp3 .lp3-form-note {color:#60575f;font-size:12px}
.lp3-field label {color:#463e44;font-size:13px}.lp3 .lp3-field :is(input,select) {border:1px solid #a5a1a6;border-radius:0;color:#171717;background:#fff}.lp3-required {color:#a51750}
.lp3-ritual li {color:#685862}.lp3-ritual span {border-color:#a799a3;color:#911547}.lp3-ritual li:not(:last-child)::after {background:#a799a3}.lp3-ritual .is-complete span {background:#b91c5b;border-color:#b91c5b}
.lp3-form-action p,.lp3-form-action small {color:#625660}.lp3-shrine-options {border-color:#b7aeb5}.lp3-shrine-options summary {color:#59414e}
.lp3-intro {background:#ed297e;padding:80px 8%;min-height:460px;color:#151515}.lp3-intro-copy {width:57%}.lp3-intro h2 {color:#151515;font-size:clamp(28px,3vw,43px);font-weight:800;line-height:1.6}.lp3-intro .lp3-eyebrow {color:#151515}.lp3-intro p:not(.lp3-eyebrow) {color:#151515;max-width:38em}
.lp3-intro-art {border:1px solid #171717;border-radius:0;inset:45px 8% 40px auto;width:26%;background:#d4d4d8;transform:rotate(4deg);box-shadow:7px 7px 0 #171717}
.lp3-intro-art img {mix-blend-mode:normal;object-position:center 23%;width:100%;height:100%}.lp3-intro-art>span {background:#171717;color:#fff;border-radius:0}.lp3-intro-art small {color:#f5a8cb}
.lp3-roots {background:#f4f3f1;padding-block:90px}.lp3-roots-heading {text-align:left;margin-left:0;max-width:850px}.lp3-roots h2 {color:#171717;font-size:clamp(30px,3.5vw,48px);font-weight:800}.lp3-roots-heading>p:last-child {color:#635e63;font-size:13px}
.lp3-bond {border:1px solid #aaa3a8;border-radius:0;padding:30px}.lp3-bond-birth {background:#ebcade}.lp3-bond-home {background:#dedee5}.lp3-bond-badge {border-color:#8e7c88;background:transparent;color:#52404c;border-radius:0}.lp3-bond h3 {color:#272127;font-weight:800}.lp3-bond p {color:#635260}.lp3-bond-symbol {color:#a11a51}
.lp3-life-map {background:#fff;border:1px solid #b9b3b8;border-radius:0}.lp3-life-heading h3 {color:#29242a}.lp3-life-heading>span {color:#766b74}.lp3-root-thread {background:#ecd0df;border-color:#b7839f;border-radius:0;color:#65223f}.lp3-house {background:#f4f3f1;color:#ac1651;border-color:#a299a1}
.lp3-life-stops li {background:#f0eef0;border-radius:0;border-color:#c7bfc5}.lp3-life-stops h4 {color:#382f37}.lp3-life-stops small,.lp3-life-stops p {color:#55474f}.lp3-life-stops li:not(:last-child)::after {color:#9f1750}.lp3-life-stops .lp3-life-current {background:#efd6e2;border:2px solid #aa2056}.lp3-life-current b {background:#fff;border-color:#bb7b97;color:#823752;border-radius:0}
.lp3-life-caption {color:#75646f}.lp3-current-reading {border:1px solid #b6a5af;border-radius:0;background:#eeeaed}.lp3-current-label {color:#785465}.lp3-current-reading>p:first-of-type {color:#46343f}.lp3-current-reading>p:first-of-type>span {color:#b01952}.lp3-current-reading>p:last-of-type {color:#76616d}.lp3-current-reading a {color:#a21950;border-color:#a21950}
.lp3-flow {background:#f4f3f1}.lp3-flow h2 {font-weight:800;color:#171717}.lp3-flow>.lp3-inner>p {color:#71626b}.lp3-steps {gap:0;border-block:1px solid #b5a9b0}.lp3-steps .lp3-card {background:none!important;border:0!important;border-radius:0;box-shadow:none;padding:30px}.lp3-steps .lp3-card+.lp3-card {border-left:1px solid #b5a9b0!important}.lp3-steps .lp3-card h3 {color:#362932}.lp3-steps .lp3-card p {color:#71616a}.lp3-seal {color:#b31c58!important}
.lp3-faq,.lp3-faq:not([open]) {background:#e6e3e7;color:#302530}.lp3-faq details {border-color:#baabb8}.lp3-faq p {color:#6f5968}.lp3-faq h2 {font-weight:800}
.lp3-closing {background:#ed297e;color:#151515;min-height:360px;padding:85px 24px}.lp3-closing h2 {color:#151515;font-weight:900;font-size:clamp(27px,3.5vw,48px)}.lp3-closing>.lp3-button {background:#171717;color:#fff;border-color:#171717}.lp3-closing>.lp3-button:hover {background:#f4f3f1;color:#171717}
.lp3-footer {background:#171717;color:#d1bec8;border:0}.lp3-footer .lp3-logo {color:#f4f3f1!important}.lp3-footer a:hover {color:#ff8fbe}
/* The same identity continues through input and the actual result. */
body:has(.journey-screen.active),body:has(.result-screen.active) {background:#e6e3e7}
.journey-screen {--journey-ink:#211d23;--journey-wine:#a41950;--journey-gold:#ba8ca4;background:#f4f3f1;color:#211d23}
.journey-screen :is(.birthday-input,.screen-shrine-chamber) {background:#fff;border-color:#b6a5af}
.journey-brand {color:#211d23}.journey-screen .screen-header h2 {color:#211d23}.journey-screen .screen-header p {color:#6b5662}
.journey-screen .screen-header .step,.journey-screen .how-note {background:#eee4eb;color:#7e3b59;border-color:#cbb0bf}
.journey-screen .ritual-stage.active::before {background:#a41950;border-color:#a41950}.journey-screen .ritual-progress::before {background:#cab3c1}
.journey-screen .shrine-mode-tabs .tab-btn.active {background:#f3dce7;border-color:#a41950;color:#8f1646}.journey-screen .address-search-button {background:#eee4eb;border-color:#bfa0b1;color:#882c53}
.journey-screen :is(.place-search-note,.address-search-status,.region-hint,.pref-select-box label) {color:#6c5664}.journey-screen .btn:not(.btn-link) {background:#211d23;border-color:#211d23}.journey-screen .btn-secondary:not(.btn-link) {background:#fff;color:#211d23}
.screen.result-screen {--ivory:#322b33;--gold:#aa2b62;--gold-bright:#901b4c;--muted:#7a6977;--dim:#7a6977;--line:#d6c8d0;--line-strong:#bda0b1;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;max-width:1060px}
.result-screen .result-header>p {color:#9c2457;font:700 11px/1.8 Arial,sans-serif;letter-spacing:.15em}.result-screen .result-header h2 {color:#322b33;font-weight:800;letter-spacing:-.04em}
.result-screen .oracle-seal {background:#17171b;border:0;border-top:5px solid #ed297e;box-shadow:none;grid-template-columns:175px minmax(0,1fr);padding:38px;gap:32px;border-radius:0}
.oracle-messenger img {width:175px;height:228px;border:1px solid #6e646c;border-radius:0;box-shadow:none;object-position:center 20%}.oracle-messenger figcaption {color:#d6bfcf;font-size:11px}
.result-screen .oracle-seal-kicker {color:#f4a8cb;font-size:11px}.result-screen .oracle-seal-theme {color:#fff;font-family:"Shippori Mincho B1",serif;font-weight:500;font-size:30px;line-height:1.7}.result-screen .oracle-seal-message {color:#d0c7ce;font-size:15px;line-height:2.1}.result-screen .oracle-seal-deities {border-color:#51434c}.result-screen .oracle-seal-deities small {color:#baa2b2}.result-screen .oracle-seal-deities strong {color:#f3dce9}.result-screen .oracle-seal-rating {color:#e0c8d6;border-color:#8a5a73}.result-screen .oracle-seal-rating strong {color:#ff93c0}.result-screen .oracle-save-link {color:#ffabd0}
.result-screen .fortune-summary,.result-connections,.result-screen :is(.deity-card,.fortune-section,.lucky-item,.compat-item) {background:#fff;border-color:#d6c8d0;border-radius:0;color:#493c46}.result-screen .summary-title {color:#7f596f}.result-screen .oracle-quick-item {background:#f0e9ee;border-left-color:#b52865}.result-screen .oracle-quick-label {color:#a11e55}.result-screen .oracle-quick-value {color:#3f303c}.result-screen :is(.summary-overview,.summary-text,.fortune-section p) {color:#62525e;line-height:2.1}.result-screen :is(.summary-reading summary,.summary-toggle,.result-connections>summary) {color:#8d325b}.result-screen .fortune-section h3 {color:#432e3d;font-weight:700}.result-screen .fortune-section :is(strong,b) {color:#8b2d58}.result-screen .oracle-method-note {color:#7d6c77}.result-screen .oracle-chapters button {background:#fff;border-color:#bd9eaf;color:#863055;border-radius:0}
.result-screen .btn {background:#211d23;border:1px solid #211d23;color:#fff;border-radius:0;font-family:inherit}.result-screen .btn-secondary {background:#fff;color:#211d23}.omamori-panel {background:#f0e9ee;border-color:#ccb4c1;border-radius:0}.omamori-copy h2 {color:#493240}.omamori-copy>p:not(.experience-eyebrow),.omamori-preview figcaption {color:#796070}.experience-eyebrow,.omamori-pdf-link {color:#9c2c5e}
@media(min-width:1500px) {.lp3-scene {min-height:730px}.lp3-hero-copy {padding-block:60px}}
@media(max-width:1000px) and (min-width:701px) {.gal-edition {font-size:58px}.gal-edition>span {font-size:52px;right:-40px}.lp3 .lp3-hero h1.design-copy-title {font-size:34px}.lp3-scene {min-height:585px}.lp3-nav nav {gap:14px;font-size:11px}.gal-sticker {right:14px;min-width:130px;padding:14px;font-size:12px}.gal-sticker b {font-size:21px}}
@media(max-width:700px) {
 .lp3-nav {height:66px;padding-inline:20px;gap:12px}.lp3-nav .lp3-logo {font-size:18px}.lp3-nav .lp3-small {min-height:36px;font-size:11px;padding:8px 12px;gap:15px}
 .lp3-hero {display:flex;flex-direction:column}.lp3-hero-copy {padding:29px 25px 28px;display:block}.lp3-kicker {font-size:11px}
 .gal-edition {font-size:clamp(59px,18.5vw,112px);line-height:.81;margin:26px 0 24px;width:fit-content}.gal-edition>span {font-size:56px;right:-49px;top:0}
 .lp3 .lp3-hero h1.design-copy-title {font-size:clamp(31px,8.9vw,48px);line-height:1.45;margin:0 0 15px;letter-spacing:-.05em}.lp3-hero-lead {font-size:11px;line-height:1.9}.lp3-hero .lp3-button {margin-top:20px;min-height:53px;max-width:none}.lp3 .lp3-hero-note {font-size:11px!important;margin-top:10px!important}
 .lp3-scene {width:100%;height:490px;min-height:0;margin:0;border:0;border-top:1px solid #171717;border-radius:0;box-shadow:none}.gal-deity {object-position:center 24%}.lp3-graphic-meta {inset:15px 19px auto;font-size:11px}.gal-art-star {font-size:75px;left:6%;top:35%}.gal-sticker {right:22px;bottom:95px;min-width:140px;font-size:13px;padding:14px 20px}.gal-sticker b {font-size:23px}.gal-art-caption {padding:22px 20px 17px}.gal-art-caption>span {font-size:36px}.gal-art-caption p {font-size:11px}.gal-art-caption small {font-size:11px}
 .lp3-hero-bottom {height:48px;padding-inline:22px}.gal-ticker {padding:12px 0}.gal-ticker-track>span {font-size:28px}.lp3-index-strip {padding:0 22px}.lp3-index-strip>span {padding:11px 0;font-size:11px}.lp3-index-strip>span+span {border-color:#d0c4cb}
 .lp3-oracle {padding:55px 25px 25px}.lp3-value-copy h2 {font-size:35px}.lp3 .lp3-value-lead {font-size:12px}.lp3-value-list h3 {font-size:16px}.lp3-value-list p {font-size:12px}.lp3-reading-sample {padding:30px 24px;box-shadow:5px 5px 0 #ed297e;transform:rotate(1deg)}.lp3-reading-sample h3 {font-size:24px}.lp3 .lp3-sample-reading {font-size:13px}.lp3 .lp3-delivery-note {font-size:11px}
 .lp3-start {padding:20px 18px 55px}.lp3-form {padding:29px 20px;box-shadow:none}.lp3-form h2 {font-size:26px}.lp3 .lp3-form-note {font-size:11px}.lp3-ritual li {font-size:11px}
 .lp3-intro {padding:50px 25px 350px}.lp3-intro-copy {width:100%}.lp3-intro h2 {font-size:29px}.lp3-intro-art {height:260px;inset:auto 45px 40px;width:auto;transform:rotate(3deg)}.lp3-intro-art img {width:100%;height:100%;margin:0;object-position:50% 25%}.lp3-intro-art>span {border-radius:0;font-size:11px;padding:12px}.lp3-intro-art small {font-size:11px}
 .lp3-roots {padding:55px 24px}.lp3-roots h2 {font-size:29px}.lp3-roots-heading>p:last-child {font-size:12px}.lp3-bond {padding:25px;border-radius:0}.lp3-bond p {font-size:12px}.lp3-life-map,.lp3-current-reading {border-radius:0}.lp3-root-thread {border-radius:0}.lp3-life-stops li {border-radius:0}.lp3-life-caption {font-size:11px}
 .lp3-steps {gap:0}.lp3-steps .lp3-card {padding:25px 0}.lp3-steps .lp3-card+.lp3-card {border-left:0!important;border-top:1px solid #b5a9b0!important}.lp3-faq p {font-size:12px}.lp3-closing {min-height:0;padding:60px 24px}.lp3-closing h2 {font-size:27px}
 .result-screen .oracle-seal {display:block;padding:25px}.oracle-messenger {display:flex;align-items:center;gap:16px;text-align:left;margin:0 0 24px}.oracle-messenger img {width:80px;height:104px}.oracle-messenger figcaption {margin:0;font-size:11px}.result-screen .oracle-seal-theme {font-size:26px}.result-screen .oracle-seal-message {font-size:14px}.result-screen .oracle-seal-deities strong {font-size:13px}
}
@media(prefers-reduced-motion:reduce) {.lp3 *,.lp3 *::before,.lp3 *::after {animation:none!important;transition:none!important}.lp3 [data-reveal].is-waiting {opacity:1;transform:none}}

/* Motion edition: kinetic typography, orbital cover, connected medallions. */
.lp3-hero-copy {position:relative;isolation:isolate}
.gal-edition>.gal-type-line {display:block;position:static;font:inherit;line-height:1;letter-spacing:inherit;color:inherit;-webkit-text-stroke:0;transform:none;overflow:hidden;margin:-.09em 0;padding:.02em .12em .05em 0}
.gal-type-line :is(b,em) {display:block;font-weight:900}
.gal-edition>.gal-type-star {right:-65px;top:5px}
.lp3-motion .gal-type-line :is(b,em) {animation:gal-type-enter 1.05s cubic-bezier(.19,1,.22,1) both}
.lp3-motion .gal-type-line:nth-child(2) em {animation-delay:.15s}
.lp3-motion .gal-type-star {animation:gal-type-twirl 12s ease-in-out infinite}
.lp3-motion .lp3-hero-copy :is(h1,.lp3-hero-lead) {animation:gal-copy-enter .9s .22s both}
.gal-spin-seal {position:absolute;width:106px;height:106px;right:8%;bottom:137px;color:#24141d;pointer-events:none;opacity:.85}
.gal-spin-seal text {font:700 11px Arial,sans-serif;letter-spacing:.4px;fill:currentColor}
.gal-seal-spin {transform-origin:60px 60px}.lp3-motion .gal-seal-spin {animation:gal-rotate 24s linear infinite}
.lp3-scene {--cover-x:0px;--cover-y:0px;--cover-tilt:0deg}
.gal-deity {translate:var(--cover-x) var(--cover-y);transition:translate .5s ease-out}
.gal-orbit-art {position:absolute;inset:8% -16% auto auto;width:125%;height:auto;opacity:.68;pointer-events:none;rotate:var(--cover-tilt);transition:rotate .6s ease-out}
.gal-orbit-spin,.gal-orbit-counter {transform-origin:300px 300px}.lp3-motion .gal-orbit-spin {animation:gal-rotate 35s linear infinite}.lp3-motion .gal-orbit-counter {animation:gal-rotate 27s linear infinite reverse}
.gal-cover-sweep {position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 35%,#fff0 43%,#ffffff2b 49%,#fff0 55%,transparent 65%);transform:translateX(-110%);pointer-events:none;mix-blend-mode:screen}
.lp3-motion .gal-cover-sweep {animation:gal-sweep 9s ease-in-out infinite}
.lp3-motion .gal-sticker {animation:gal-sticker-dance 7s ease-in-out infinite}
.lp3-motion .gal-art-caption>span {display:block;animation:gal-copy-enter 1.2s .35s both}
.lp3 .lp3-scene-toggle {z-index:20}.lp3-motion .lp3-sample-link span {display:inline-block;animation:gal-nudge 2s ease-in-out infinite}
.lp3-motion .gal-ticker-track {animation-duration:22s}
.lp3 [data-reveal].is-revealed {transition:opacity .8s var(--reveal-delay,0ms),transform 1s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms)}
.lp3-motion [data-reveal].is-waiting {transform:translateY(34px);opacity:0}
.lp3-reading-sample {transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .lp3-motion .lp3-reading-sample:hover {transform:rotate(-1deg) translateY(-5px);box-shadow:13px 13px 0 #ed297e}
 .lp3-motion .lp3-bond {transition:transform .4s,box-shadow .4s}.lp3-motion .lp3-bond:hover {transform:translateY(-5px);box-shadow:6px 6px 0 #171717}
}
.gal-energy {position:relative;overflow:hidden;background:#18181b;color:#f6f1f5;border-top:1px solid #464049;padding:70px 8% 22px;--energy-shift:0px;--energy-turn:0deg}
.gal-energy-heading {position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 1fr;gap:14px 50px;text-align:left}.gal-energy-heading .lp3-eyebrow {grid-column:1/-1;color:#f7a4ca;margin:0}.gal-energy-heading h2 {font-size:clamp(27px,3vw,42px);line-height:1.6;color:#f7f1f5;letter-spacing:-.04em}.gal-energy-heading>p:last-child {font-size:12px;line-height:2.2;color:#c4b5c0;align-self:end}
.gal-energy-stage {height:420px;position:relative;max-width:1120px;margin:0 auto;perspective:900px}
.gal-energy-word {position:absolute;top:36%;left:50%;white-space:nowrap;transform:translate(calc(-50% + var(--energy-shift)),-50%);font:900 italic clamp(68px,10.8vw,165px)/1 Arial,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #6a5f68;pointer-events:none}
.gal-energy-orbits {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;rotate:var(--energy-turn)}
.lp3-motion .gal-energy-trace {animation:gal-trace 6s linear infinite}
.gal-energy-token {position:absolute;width:170px;height:170px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e4dce1;text-align:center;box-shadow:inset -10px -12px 18px #15151535,0 15px 40px #0003;isolation:isolate;overflow:hidden}
.gal-energy-token::after {content:"";position:absolute;inset:-45%;background:linear-gradient(120deg,transparent 38%,#fff8 48%,transparent 56%);translate:-100% 0;pointer-events:none}
.gal-token-birth {left:8%;top:34%;background:linear-gradient(140deg,#fff 2%,#a7a3b0 25%,#fdfbff 45%,#88828f 72%,#e5e0eb 92%);color:#28212b;transform:rotate(-12deg)}
.gal-token-roots {left:calc(50% - 85px);top:18%;background:#efa3c8;color:#311a29;transform:rotate(8deg)}
.gal-token-now {right:8%;top:43%;background:#e7f69b;color:#303721;transform:rotate(-7deg)}
.gal-token-icon {font:52px/1 Arial,sans-serif;margin:0 0 6px}.gal-energy-token strong {font:900 italic 29px/1 Arial,sans-serif;letter-spacing:-.045em}.gal-energy-token small {font-size:11px;margin-top:9px;font-weight:600}
.lp3-motion .gal-energy-token {animation:gal-token-hover 6s ease-in-out infinite}.lp3-motion .gal-token-roots {animation-delay:-2s}.lp3-motion .gal-token-now {animation-delay:-4s}
.lp3-motion .gal-energy-token::after {animation:gal-foil 8s ease-in-out infinite}.lp3-motion .gal-token-roots::after {animation-delay:2s}.lp3-motion .gal-token-now::after {animation-delay:4s}
.gal-energy-spark {position:absolute;color:#f5c5df;font:70px/1 serif;pointer-events:none}.gal-spark-one {left:32%;bottom:10%}.gal-spark-two {right:9%;top:7%;font-size:55px}.lp3-motion .gal-energy-spark {animation:gal-type-twirl 14s ease-in-out infinite}
.gal-energy-foot {display:flex;justify-content:space-between;border-top:1px solid #62555f;padding-top:17px;font:11px/1.8 Arial,sans-serif;letter-spacing:.12em;color:#b6a2af}
.lp3-motion .lp3-intro-art {animation:gal-editorial-drift 9s ease-in-out infinite}
.lp3-closing {position:relative;isolation:isolate;overflow:hidden;padding-top:115px}
.gal-closing-type {position:absolute;left:0;right:0;top:0;overflow:hidden;z-index:-1;opacity:.23;pointer-events:none;display:flex}
.gal-closing-type span {white-space:nowrap;font:900 italic clamp(90px,14vw,190px)/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #151515;letter-spacing:-.075em;translate:-5% 0}
.lp3-motion .gal-closing-type span {animation:gal-closing-drift 14s ease-in-out infinite alternate}
/* An offscreen zone cannot keep its continuous animations running. */
.lp3 [data-motion-zone]:not(.is-motion-visible) *,.lp3 [data-motion-zone]:not(.is-motion-visible)::after {animation-play-state:paused!important}
.lp3 [data-motion-zone]:not(.is-motion-visible) *::after {animation-play-state:paused!important}
.lp3:not(.lp3-motion) :is(.gal-deity,.gal-energy-word,.gal-energy-orbits) {translate:none;rotate:none}
@keyframes gal-type-enter {from {transform:translateY(115%) rotate(4deg)}to {transform:translateY(0) rotate(0)}}
@keyframes gal-copy-enter {from {opacity:0;transform:translateY(18px)}to {opacity:1;transform:translateY(0)}}
@keyframes gal-rotate {to {transform:rotate(360deg)}}
@keyframes gal-type-twirl {0%,35%,100% {transform:rotate(12deg) scale(1)}55%,75% {transform:rotate(192deg) scale(.82)}}
@keyframes gal-sweep {0%,30% {transform:translateX(-110%)}65%,100% {transform:translateX(110%)}}
@keyframes gal-sticker-dance {0%,100% {transform:translateY(0) rotate(9deg)}35% {transform:translateY(-13px) rotate(3deg)}70% {transform:translateY(-4px) rotate(11deg)}}
@keyframes gal-nudge {50% {transform:translateY(4px)}}
@keyframes gal-trace {to {stroke-dashoffset:-1025}}
@keyframes gal-token-hover {0%,100% {translate:0 0}50% {translate:0 -22px}}
@keyframes gal-foil {0%,45% {translate:-100% 0}80%,100% {translate:100% 0}}
@keyframes gal-editorial-drift {0%,100% {transform:rotate(4deg) translateY(0)}50% {transform:rotate(1deg) translateY(-10px)}}
@keyframes gal-closing-drift {to {translate:-24% 0}}
@media(max-width:1000px) and (min-width:701px) {.gal-spin-seal {width:78px;height:78px;bottom:156px;right:5%}.gal-edition>.gal-type-star {font-size:52px;right:-40px}.gal-energy-token {width:140px;height:140px}.gal-token-roots {left:calc(50% - 70px)}.gal-token-icon {font-size:43px}}
@media(max-width:700px) {
 .gal-edition>.gal-type-star {font-size:38px;right:-4px;top:-12px}
 .gal-spin-seal {width:77px;height:77px;right:26px;bottom:122px}
 .gal-orbit-art {inset:12% -18% auto auto;width:133%}
 .gal-energy {padding:44px 24px 18px}.gal-energy-heading {display:block}.gal-energy-heading h2 {font-size:26px;margin:15px 0}.gal-energy-heading>p:last-child {font-size:11px}
 .gal-energy-stage {height:360px;margin-inline:-18px}.gal-energy-word {font-size:70px;top:48%}.gal-energy-token {width:118px;height:118px}.gal-token-birth {left:4%;top:15%}.gal-token-roots {left:auto;right:4%;top:27%}.gal-token-now {right:auto;left:24%;top:62%}.gal-token-icon {font-size:35px;margin-bottom:5px}.gal-energy-token strong {font-size:23px}.gal-energy-token small {font-size:11px;margin-top:7px}
 .gal-spark-one {left:11%;bottom:20%;font-size:42px}.gal-spark-two {right:19%;top:6%;font-size:36px}.gal-energy-foot {font-size:11px;letter-spacing:.04em}
 .lp3-closing {padding-top:105px}.gal-closing-type span {font-size:90px}
}
@media(prefers-reduced-motion:reduce) {
 .lp3 *,.lp3 *::before,.lp3 *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .lp3 [data-reveal].is-waiting {opacity:1;transform:none}.gal-cover-sweep {display:none}
}
.lp3-index-strip a {color:inherit;text-decoration:none}.lp3-index-strip a:hover {text-decoration:underline;text-underline-offset:5px}
.gal-edition>.gal-type-line {white-space:nowrap}
@media(max-width:700px) {.gal-edition {font-size:clamp(53px,17.4vw,105px)}}
/* app.css still forces the old dark gradient (!important) on these; keep them on the light result palette. */
.result-screen :is(.fortune-section-ichi,.deity-card-ichi,.deity-card-chinju) {background:#fff!important;border-color:#d6c8d0!important;color:#493c46}
.result-screen .fortune-section-ichi {border-left:4px solid #ed297e!important}
.result-screen :is(.deity-card-ichi,.deity-card-chinju) .label {color:#9c2c5e!important}
/* Brand lockup: KAMI VIBES with the Japanese descriptor underneath. */
.lp3-logo {font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif!important;font-style:italic;font-weight:900!important;letter-spacing:-.04em!important}
.lp3-logo-sub {display:block;justify-self:start;text-align:left;margin:0 0 0 2px;font:700 normal 11px/1 "Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.32em;color:#ed297e}
.lp3-footer .lp3-logo-sub {color:#f4a8cb}
.lp3-logo:has(.lp3-logo-sub) {display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:9px;row-gap:5px;align-content:center;align-items:center;line-height:1}
.lp3-logo:has(.lp3-logo-sub)>span {grid-row:1/3}
/* Line breaking: headings break at Japanese phrase boundaries and balance their lines; body text avoids a 1–2 character last line. */
:where(h1,h2,h3,h4,summary,figcaption,dt,th,button,label,.lp3-button,.btn) {text-wrap:balance;word-break:auto-phrase}
:where(p,li,dd,blockquote,td) {text-wrap:pretty;word-break:auto-phrase}
.result-screen :where(.summary-overview,.summary-text,.fortune-section p,.oracle-seal-message) {text-wrap:pretty;word-break:auto-phrase}
/* Readability: header CTA as a solid black button; brand descriptor dark enough on the light header. */
.lp3-nav .lp3-button.lp3-small {background:#151515!important;color:#fff!important;border-color:#151515!important;font-size:12px!important;font-weight:800;box-shadow:3px 3px 0 #ed297e}
.lp3-nav .lp3-button.lp3-small:hover {background:#ed297e!important;color:#151515!important}
.lp3-logo-sub {color:#b0124f}
.lp3-footer .lp3-logo-sub {color:#f7a4ca}
@media (max-width:640px) {.lp3-nav .lp3-button.lp3-small {font-size:11px!important}}
/* Energy tokens: icon / title / caption on one vertical rhythm, with breathing room inside the circle. */
.gal-energy-token {box-sizing:border-box;padding:0 12px;gap:0}
.gal-energy-token .gal-token-icon {display:grid;place-items:center;height:44px;font-size:40px;margin:0 0 8px}
.gal-energy-token strong {font-size:27px;line-height:1}
.gal-energy-token small {display:block;margin-top:9px;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.02em;white-space:nowrap}
@media(max-width:1000px) and (min-width:701px) {
  .gal-energy-token .gal-token-icon {height:34px;font-size:32px;margin-bottom:6px}
  .gal-energy-token strong {font-size:23px}
  .gal-energy-token small {margin-top:7px;font-size:10.5px}
}
@media(max-width:700px) {
  .gal-energy-token {padding:0 8px}
  .gal-energy-token .gal-token-icon {height:28px;font-size:26px;margin-bottom:4px}
  .gal-energy-token strong {font-size:20px}
  .gal-energy-token small {margin-top:5px;font-size:10px;line-height:1.4}
}
.gal-token-now .gal-token-icon {transform:scale(.82)}
/* Text inputs: a visible caret and an unmistakable focused state (old themes left a cream caret on white fields). */
:is(input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=color]),textarea) {caret-color:#ed297e!important}
:is(input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=color]),textarea,select):focus {outline:none!important;border-color:#151515!important;box-shadow:0 0 0 2px #151515,0 0 0 6px #ed297e40!important;background-color:#fff}
/* Suggestion list: keyboard highlight. Address fields stay at 16px so iOS Safari does not zoom on focus. */
.lp3-ac-item.is-active {background:#ecfc94!important;color:#151515}
#city-ubusuna,#city-ujigami {font-size:16px!important}
/* Oracle furigana (result screen). */
.result-screen ruby {white-space:nowrap}
.result-screen rt {font-size:.52em;font-weight:600;color:#7a6d78;letter-spacing:0}
.result-screen.no-oracle-ruby rt,.result-screen.no-oracle-ruby rp {display:none}
.result-screen .oracle-ruby-toggle {margin-left:auto;flex:none;white-space:nowrap;background:#151515!important;color:#fff!important;border-color:#151515!important}
.result-screen .oracle-ruby-toggle[aria-pressed="false"] {background:#fff!important;color:#151515!important}
/* PDF design choice next to the PDF buttons. */
.pdf-theme-choice {display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:14px 0 10px;padding:0;border:0}
.pdf-theme-choice legend {float:left;margin-right:6px;font-size:12px;font-weight:800;color:#5b5560}
.pdf-theme-choice label {position:relative;cursor:pointer}
.pdf-theme-choice input {position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pdf-theme-choice span {display:inline-block;padding:7px 12px;border:1.5px solid #151515;background:#fff;color:#151515;font-size:12px;font-weight:800;line-height:1.2}
.pdf-theme-choice input:checked + span {background:#151515;color:#fff;box-shadow:3px 3px 0 #ed297e}
.pdf-theme-choice input:focus-visible + span {outline:2px solid #ed297e;outline-offset:2px}
/* 検索向けに見出しへ入れた「神様占い」の一行。キャッチの上に小さく添える */
.lp3 .lp3-hero h1 .lp3-h1-tag {display:block;margin:8px 0 10px;font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.04em;color:#151515;white-space:normal}
