/* Real published portraits and the original Nighthaven crest, framed as part of the world. */
.observatory-portrait{position:absolute;top:65px;right:8%;width:min(29vw,390px);color:#fff0df;z-index:3;text-decoration:none;isolation:isolate;transition:transform .4s,filter .4s}
.observatory-portrait:focus-visible{outline:3px solid #ffe4b1;outline-offset:10px;border-radius:160px 160px 20px 20px}
.observatory-portrait:hover{transform:translateY(-4px);filter:brightness(1.06)}
.observatory-portrait figure{margin:0;position:relative;padding:9px 9px 0;border:1px solid #d6b1efaa;border-radius:190px 190px 20px 20px;background:linear-gradient(130deg,#a590c32e,#272443de);box-shadow:0 0 0 6px #bda4ed0b,0 0 70px #9b76e136,inset 0 0 25px #dfd1f015;overflow:hidden}
.observatory-portrait img{display:block;width:100%;height:390px;object-fit:cover;object-position:50% 42%;border-radius:180px 180px 6px 6px;border:1px solid #f8d8eb4a}
.observatory-portrait figcaption{padding:14px 9px 16px;text-align:center;background:linear-gradient(0deg,#231e39,#2c2744)}
.observatory-portrait figcaption>span{display:block;font-family:var(--serif);font-size:35px;line-height:1.05;color:#ffe9cf}
.observatory-portrait small{display:block;font-size:11px;line-height:1.6;color:#e0d1ec;margin-top:6px}
.observatory-portrait em{display:flex;gap:7px;justify-content:center;align-items:center;font-style:normal;font-size:11px;color:#f4dca8;margin-top:9px}
.observatory-portrait em .icon{width:15px;height:15px}
.portrait-orbit{position:absolute;inset:-23px -28px 42px;z-index:-1;border:1px solid #ddbbf038;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 55px #a67be61c;pointer-events:none}
.portrait-orbit:after{content:'✦';position:absolute;right:14%;top:7%;font-size:27px;color:#f2d9ff;text-shadow:0 0 18px #dcaaf9;animation:identity-star 4s ease-in-out infinite alternate}
.room-observatory .room-introduction{min-height:530px;max-width:52%}
.room-observatory .observatory-constellation{position:relative;top:auto;right:auto;width:100%;height:auto;min-height:170px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:20px;margin-top:28px;transform:none}
.room-observatory .constellation-lines{inset:-35px 0 auto;height:240px;opacity:.55}
.room-observatory .essay-star{position:relative;inset:auto;min-width:0;max-width:none;width:100%;padding:12px 8px;gap:12px}
.room-observatory .essay-star>span:last-child{flex:1;min-height:91px;padding:12px 15px}
.room-observatory .essay-star strong{font-size:25px}
.room-observatory .observatory-objects{margin:32px 0 0;max-width:none;grid-template-columns:1.1fr 1fr}
.room-observatory .room-stage{min-height:1100px}
.observatory-art>img{object-position:50% 28%}
.hall-crest{position:absolute;right:12%;top:2px;z-index:2;width:230px;margin:0;pointer-events:none;text-align:center;isolation:isolate}
.hall-crest img{width:100%;height:auto;display:block;filter:drop-shadow(0 0 16px #ba8efa55)}
.hall-crest figcaption{font-family:var(--serif);font-size:31px;line-height:.95;color:#f1dfbd;text-shadow:0 2px 12px #111325,0 0 24px #b391d799;letter-spacing:.02em;margin-top:-6px}
.hall-crest figcaption span{display:block;text-transform:uppercase;letter-spacing:.35em;font-family:var(--sans);font-size:10px;margin:11px 0 0 5px}
.crest-aura{position:absolute;inset:-20px;z-index:-1;border-radius:50%;background:radial-gradient(circle,#9e67e63d,transparent 68%);animation:identity-crest-glow 6s ease-in-out infinite alternate;pointer-events:none}
.identity-gallery{padding:40px 25px 20px;max-width:960px}
.identity-gallery-heading{padding:15px 15px 20px}
.identity-gallery-heading p{max-width:670px}
.identity-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.identity-gallery.room-dialog-art figure{border:1px solid #b99cc96b;border-radius:12px;overflow:hidden;background:#19182c}
.identity-gallery.room-dialog-art figure>img{width:100%;max-height:none;aspect-ratio:1;object-fit:contain;display:block}
.identity-gallery.room-dialog-art figcaption{padding:16px 18px}
.identity-gallery figcaption .text-link{font-size:13px;min-height:34px}
.identity-gallery-footer{display:flex;flex-wrap:wrap;gap:20px;padding:25px 15px 8px}
.identity-gallery-footer .text-link{font-size:14px}
/* Keep the native square composition; shared landscape artwork rules must not crop her head. */
.character-intro .enchanted-art.character-art>picture{display:block;aspect-ratio:1}
.character-intro .enchanted-art.character-art>picture img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center}
@keyframes identity-star{from{opacity:.6;scale:.9}to{opacity:1;scale:1.1}}
@keyframes identity-crest-glow{from{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.07)}}
@media(min-width:761px) and (max-width:1100px){.observatory-portrait{right:5%;top:65px;width:34%}.observatory-portrait img{height:340px}.observatory-portrait figcaption>span{font-size:29px}.room-observatory .room-introduction{max-width:49%;min-height:530px}.room-observatory .room-introduction h1{font-size:60px}.room-observatory .room-introduction>p:not(.room-kicker){font-size:16px}.room-observatory .essay-star{gap:6px}.room-observatory .essay-star-light{width:30px;flex-basis:30px;font-size:33px}.room-observatory .essay-star strong{font-size:22px}.room-observatory .essay-star>span:last-child{padding:11px;min-height:104px}.hall-crest{right:10%;width:220px;top:35px}}
@media(min-width:761px) and (max-width:900px){.room-observatory .room-introduction h1{font-size:53px}.observatory-portrait{right:4%;width:34%;top:70px}.observatory-portrait img{height:300px}.observatory-portrait small{font-size:10px}.room-observatory .room-actions{flex-direction:column;align-items:flex-start}.room-observatory .room-introduction{min-height:570px}.hall-crest{right:9%;width:200px;top:40px}}
@media(max-width:760px){
 .room-observatory .room-backdrop,.room-hall .room-backdrop{height:375px;min-height:0}
 .room-observatory:before,.room-hall:before{height:375px}
 .room-observatory .room-atmosphere,.room-hall .room-atmosphere{height:375px}
 .room-observatory .room-stage,.room-hall .room-stage{padding-top:355px}.room-observatory .room-stage{padding-top:395px}
 .observatory-portrait{top:13px;right:auto;left:50%;transform:translateX(-50%);width:245px}
 .observatory-portrait:hover{transform:translateX(-50%)}
 .observatory-portrait figure{padding:6px 6px 0;border-radius:140px 140px 16px 16px}
 .observatory-portrait img{height:238px;border-radius:130px 130px 5px 5px;object-position:50% 34%}
 .observatory-portrait figcaption{padding:11px 7px 12px}
 .observatory-portrait figcaption>span{font-size:28px}
 .observatory-portrait small{font-size:10px;margin-top:5px}
 .observatory-portrait em{font-size:10px;margin-top:5px}
 .portrait-orbit{inset:-10px -20px 35px}
 .room-observatory .room-introduction{min-height:0;max-width:none}
 .room-observatory .room-introduction h1{font-size:57px}
 .room-observatory .observatory-constellation{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:32px;padding:10px 0;min-height:0}
 .room-observatory .constellation-lines{inset:0;height:100%;opacity:.7}
 .room-observatory .essay-star{width:94%;max-width:none;margin:0;padding:5px;gap:10px}
 .room-observatory .essay-star:nth-of-type(2){margin-left:6%}
 .room-observatory .essay-star>span:last-child{min-height:86px;padding:13px 14px}
 .room-observatory .essay-star-light{width:38px;flex-basis:38px;font-size:38px}
 .room-observatory .essay-star strong{font-size:25px}
 .room-observatory .observatory-objects{grid-template-columns:minmax(0,1fr);margin-top:30px;gap:30px}
 .hall-crest{width:170px;right:auto;left:50%;transform:translateX(-50%);top:14px}
 .hall-crest figcaption{font-size:27px;margin-top:-3px}
 .hall-crest figcaption span{font-size:9px;margin-top:8px}
 .room-hall .room-hotspots{height:375px}
 .room-hall .hotspot-hall-board{left:77%;top:76%}
 .room-hall .hotspot-hall-radio{left:24%;top:76%}
 .identity-gallery{padding:48px 16px 20px;width:calc(100% - 24px)}
 .identity-gallery-heading{padding:5px 5px 15px}
 .identity-gallery-grid{grid-template-columns:1fr;gap:22px}
 .identity-gallery-footer{padding-inline:5px}
 body.is-simple .room-observatory .room-stage,body.is-simple .room-hall .room-stage{padding-top:355px}body.is-simple .room-observatory .room-stage{padding-top:395px}
 body.is-simple .room-observatory .room-backdrop,body.is-simple .room-hall .room-backdrop{height:375px}
}
@media(max-width:359px){.observatory-portrait{width:225px}.observatory-portrait img{height:225px}.room-observatory .room-introduction h1{font-size:50px}.room-hall .room-hotspot{width:145px}.room-hall .room-hotspot-label{font-size:11px;padding:7px 9px}}
body.is-simple .portrait-orbit,body.is-simple .crest-aura{display:none}
body.motion-paused .portrait-orbit:after,body.motion-paused .crest-aura,body.page-hidden .portrait-orbit:after,body.page-hidden .crest-aura,.enchanted-room.is-offscreen .portrait-orbit:after,.enchanted-room.is-offscreen .crest-aura{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.portrait-orbit:after,.crest-aura{animation:none}.observatory-portrait{transition:none}}
@media print{.portrait-orbit,.crest-aura{display:none}.observatory-portrait,.hall-crest{position:static;transform:none;width:220px;margin:20px auto}.room-observatory .room-introduction{min-height:0;max-width:none}.room-observatory .observatory-constellation{display:block}.identity-gallery-grid{display:block}}
