/* Painted figures, layered with elemental worlds. Every blend uses this composition. */
.scene-stage{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:16/9;background:#090d1c;border-radius:18px;box-shadow:inset 0 0 60px #0006}
.scene-environment{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;z-index:-2}
.scene-ground{position:absolute;bottom:0;left:0;right:0;height:20%;background:radial-gradient(ellipse at center,#080b1866,transparent 70%);z-index:-1}
.scene-actor,.painted-symbol{background-repeat:no-repeat;background-size:300% 100%;aspect-ratio:1}
.scene-actor{position:absolute;bottom:1%;width:43%;filter:drop-shadow(0 12px 12px #05081599);animation:scene-breath 14s ease-in-out infinite;transform-origin:center bottom}
.scene-western{left:1%;}.scene-animal{right:1%;animation-delay:-7s}
.scene-trails{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.42}.scene-trails path{fill:none;stroke:#f9dbaa;stroke-width:.65}.scene-trails circle{fill:#fff2d6}
.scene-dust{position:absolute;inset:0;pointer-events:none}.scene-dust i{position:absolute;left:12%;bottom:20%;width:3px;height:3px;border-radius:50%;background:#ffeac8;box-shadow:0 0 12px #ffeac8;animation:scene-drift 11s ease-in-out infinite}.scene-dust i:nth-child(2){left:28%;bottom:40%;animation-delay:-4s}.scene-dust i:nth-child(3){left:45%;bottom:13%;animation-delay:-7s}.scene-dust i:nth-child(4){left:65%;bottom:45%;animation-delay:-2s}.scene-dust i:nth-child(5){left:80%;bottom:20%;animation-delay:-9s}.scene-dust i:nth-child(6){left:92%;bottom:65%;animation-delay:-5s}
@keyframes scene-breath{50%{transform:translateY(-3px) scale(1.012)}}
@keyframes scene-drift{50%{transform:translate(9px,-26px);opacity:.3}}
.blend-portrait{padding:0!important;overflow:hidden}.blend-portrait .scene-stage{border-radius:0;min-height:0}.blend-portrait figcaption{padding:18px 22px;gap:14px}.scene-reading-note{margin:-4px 0 30px;text-align:center}.scene-reading-note p{color:#c9c1d4;font-style:italic}.scene-reading-note .button-row{justify-content:center}.scene-reading-note .text-button{padding:10px}
.scene-gallery{max-width:1100px;margin:0 auto;padding:24px 0 50px}.scene-gallery h1{font-size:clamp(2.5rem,5vw,4.7rem);margin-bottom:18px}.scene-gallery>.intro{max-width:760px;margin-bottom:28px}.scene-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 24px;background:#13162ccc;border:1px solid #d6b98e33;border-radius:18px 18px 0 0}.scene-controls label{display:grid;gap:8px;color:#e1d2b7}.scene-controls select{width:100%}#scene-gallery-art .scene-stage{border-radius:0 0 18px 18px}.scene-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 36px}.scene-pagination span{color:#bcb3cc;font-size:.85rem}.scene-story{max-width:780px;margin:0 auto;text-align:center}.scene-story h2{font-size:2.2rem}.scene-story>p{line-height:1.8}.scene-story .button-row{justify-content:center}.scene-invitation{color:#ffabc9;font-family:Georgia,serif;font-size:1.35rem;font-style:italic}.scene-art-note{font-size:.82rem;margin-top:26px}
#scene-dialog{width:min(1160px,94vw);max-width:1160px;max-height:94vh;padding:0;border-color:#d2b58466;background:#0b1021;color:#f5ebdb}#scene-dialog::backdrop{background:#020511dc;backdrop-filter:blur(12px)}.scene-dialog-body{padding:22px}.scene-close{display:block;margin:0 0 15px auto}.scene-dialog-body h2{font-size:1.4rem;margin:0 0 18px}.scene-dialog-body p{max-width:840px;margin:22px auto 8px;color:#cbc3d7;line-height:1.8}.painted-medallion{width:150px!important;height:150px!important;border:none!important}.painted-symbol{position:absolute;inset:0}.painted-medallion span{display:none}.painted-medallion i{inset:7%!important;opacity:.25}.painted-medallion b{right:5%;bottom:10%;font-size:12px}
body[data-motion="off"] .scene-stage *,body[data-motion="off"] .painted-symbol{animation:none!important}
@media(prefers-reduced-motion:reduce){.scene-stage *,.painted-symbol{animation:none!important}}
@media(max-width:640px){.top-nav{gap:13px!important}.top-nav a{font-size:11px!important}.scene-gallery{padding-top:8px}.scene-controls{gap:10px;padding:16px 12px}.scene-controls label{font-size:12px}.scene-controls select{padding:10px 7px;font-size:13px}.scene-stage{aspect-ratio:4/3}.scene-actor{width:49%;bottom:3%}.scene-western{left:0}.scene-animal{right:0}.blend-portrait figcaption{padding:14px 10px;font-size:11px;flex-wrap:wrap}.portrait-center{order:3;width:100%;text-align:center}.scene-pagination{margin-bottom:26px}.scene-pagination .small-button{padding:10px}.scene-story h2{font-size:1.8rem}.scene-story .button-row{display:grid}.scene-story .button-row button{width:100%}.scene-dialog-body{padding:12px}.scene-dialog-body h2{font-size:1.05rem}.scene-dialog-body p{font-size:14px}.scene-reading-note .button-row{gap:4px}}
@media print{.scene-stage *{animation:none!important}.scene-reading-note .button-row{display:none}.scene-gallery .scene-stage{break-inside:avoid}}

/* Equal square cells in transparent 3:1 atlases. */
.actor-western-aries{background-image:url(assets/scenes/western-1.png?v=framing2);background-position:0% 50%;}
.actor-western-taurus{background-image:url(assets/scenes/western-1.png?v=framing2);background-position:50% 50%;}
.actor-western-gemini{background-image:url(assets/scenes/western-1.png?v=framing2);background-position:100% 50%;}
.actor-western-cancer{background-image:url(assets/scenes/western-2.png?v=framing2);background-position:0% 50%;}
.actor-western-leo{background-image:url(assets/scenes/western-2.png?v=framing2);background-position:50% 50%;}
.actor-western-virgo{background-image:url(assets/scenes/western-2.png?v=framing2);background-position:100% 50%;}
.actor-western-libra{background-image:url(assets/scenes/western-3.png?v=framing2);background-position:0% 50%;}
.actor-western-scorpio{background-image:url(assets/scenes/western-3.png?v=framing2);background-position:50% 50%;}
.actor-western-sagittarius{background-image:url(assets/scenes/western-3.png?v=framing2);background-position:100% 50%;}
.actor-western-capricorn{background-image:url(assets/scenes/western-4.png?v=framing2);background-position:0% 50%;}
.actor-western-aquarius{background-image:url(assets/scenes/western-4.png?v=framing2);background-position:50% 50%;}
.actor-western-pisces{background-image:url(assets/scenes/western-4.png?v=framing2);background-position:100% 50%;}
.actor-animal-rat{background-image:url(assets/scenes/animals-1.png?v=framing2);background-position:0% 50%;}
.actor-animal-ox{background-image:url(assets/scenes/animals-1.png?v=framing2);background-position:50% 50%;}
.actor-animal-tiger{background-image:url(assets/scenes/animals-1.png?v=framing2);background-position:100% 50%;}
.actor-animal-rabbit{background-image:url(assets/scenes/animals-2.png?v=framing2);background-position:0% 50%;}
.actor-animal-dragon{background-image:url(assets/scenes/animals-2.png?v=framing2);background-position:50% 50%;}
.actor-animal-snake{background-image:url(assets/scenes/animals-2.png?v=framing2);background-position:100% 50%;}
.actor-animal-horse{background-image:url(assets/scenes/animals-3.png?v=framing2);background-position:0% 50%;}
.actor-animal-goat{background-image:url(assets/scenes/animals-3.png?v=framing2);background-position:50% 50%;}
.actor-animal-monkey{background-image:url(assets/scenes/animals-3.png?v=framing2);background-position:100% 50%;}
.actor-animal-rooster{background-image:url(assets/scenes/animals-4.png?v=framing2);background-position:0% 50%;}
.actor-animal-dog{background-image:url(assets/scenes/animals-4.png?v=framing2);background-position:50% 50%;}
.actor-animal-pig{background-image:url(assets/scenes/animals-4.png?v=framing2);background-position:100% 50%;}

@media(min-width:641px){#scene-dialog-art{max-width:calc(56vh * 16 / 9);margin:0 auto}.scene-dialog-body p{font-size:14px}}
@media(max-width:360px){.top-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px!important}.top-nav a{white-space:normal}.scene-controls{grid-template-columns:1fr;padding:12px}.scene-pagination{gap:4px;font-size:11px}}
/* Measured Western star patterns; a quiet painted figure remains beneath. */
.constellation-view[data-sky="stars"] .scene-western{opacity:.5;animation:figure-invitation 8s ease-in-out infinite;filter:drop-shadow(0 0 2px #f6d8ac99) drop-shadow(0 0 12px #ffb4cf33)}
@keyframes figure-invitation{0%,100%{opacity:.42}50%{opacity:.62}}
.constellation-map{position:absolute;left:1%;bottom:1%;width:43%;height:auto;aspect-ratio:1;overflow:visible;filter:drop-shadow(0 0 6px #e8cc97)}
.constellation-lines{fill:none;stroke:#edce98;stroke-width:1.3;opacity:.8;stroke-linecap:round;stroke-linejoin:round}
.star-hit{fill:transparent;stroke:none}.star-halo{fill:#f6d49d;opacity:.1}.star-light{fill:#fff1cf;stroke:#fff;stroke-width:.5}
.constellation-star{cursor:pointer}.constellation-star[aria-pressed="true"] .star-halo,.constellation-star:focus .star-halo{opacity:.6}.constellation-star:focus{outline:none}.constellation-star:focus .star-light{stroke:#FF6B9D;stroke-width:3}
.constellation-view[data-sky="painting"] .constellation-map{visibility:hidden}
.constellation-controls{padding:22px 26px;background:linear-gradient(130deg,#111427,#21192d);border:1px solid #ffffff18;border-radius:0 0 18px 18px;color:#e9e1d1}
.constellation-heading h3{font-family:Georgia,serif;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:400;margin:0 0 8px}.constellation-heading p{color:#c7c0d1;max-width:65ch;margin:0 0 18px;line-height:1.6}
.sky-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.sky-switch button{min-height:44px;padding:9px 18px;border:1px solid #ffffff35;border-radius:24px;background:transparent;color:#ddd1c6;cursor:pointer}.sky-switch button[aria-pressed="true"]{border-color:#FF6B9D;background:#FF6B9D18;color:#ffe0eb}
.star-picker{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.9rem}.star-picker select{min-height:44px;max-width:100%;width:220px;background:#101224;color:#eee1cb;border:1px solid #ffffff40;border-radius:10px;padding:8px 12px}.star-picker[hidden]{display:none}.star-whisper{color:#ecd2a1;font-family:Georgia,serif;font-size:1.05rem;min-height:1.5em}.star-sources{color:#ada7bd;font-size:.85rem;line-height:1.6}.star-sources summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0}.star-sources a{color:#ecbfcd}.star-sources p{max-width:80ch}.constellation-view .scene-stage{border-radius:18px 18px 0 0}
@media(max-width:640px){.constellation-map{width:49%;left:0;bottom:3%}.constellation-controls{padding:18px 16px}.constellation-heading h3{font-size:1.5rem}}
/* Leave space for the breathing animation at the narrow breakpoint. */
@media(max-width:640px){.scene-actor{width:48%}.scene-western{left:1%}.scene-animal{right:1%}.constellation-map{width:48%;left:1%}}
.constellation-lines{stroke-width:2;opacity:.95}.star-light{fill:#fff8e9;stroke-width:.8}
