/* The house and terrain share one scene, so they remain anchored together. */
.hero{overflow:clip}
.world-builder{display:flex;flex-direction:column;justify-content:center;min-height:650px;width:100%;gap:0}
.world-scene{position:relative;width:100%;max-width:500px;aspect-ratio:1;flex:none;isolation:isolate;filter:drop-shadow(0 24px 25px #15251745);animation:island-drift 8s ease-in-out infinite}
.world-sprite{position:absolute;overflow:hidden;transition:opacity .2s ease;pointer-events:none}
.world-sprite img{position:absolute;max-width:none;object-fit:fill;user-select:none}
.world-island{width:90%;left:5%;bottom:0;z-index:1}
.world-house{width:46%;left:23.4%;bottom:48.1%;z-index:2;filter:drop-shadow(0 8px 5px #18221040)}
.world-sprite.is-loading{opacity:.5}
.world-builder .hero-orbit{top:7%;width:95%;z-index:-1}
.world-builder .hero-orbit-two{top:13%;width:85%}
.world-builder .note-one{top:10%;left:-2%}
.world-builder .note-two{bottom:auto;top:53%;right:-5%}
.world-controls{position:relative;z-index:4;width:min(100%,390px);margin-top:-16px;padding:0 16px 5px;background:#233826a3;border:1px solid #dce5ba36;border-radius:20px;box-shadow:0 14px 32px #192b2420;backdrop-filter:blur(16px)}
.world-controls[hidden]{display:none}
.world-invitation{margin:14px 0 9px;text-align:center;font-size:11px;letter-spacing:.3px;color:#e2e9ca}
.world-picker{display:grid;grid-template-columns:36px minmax(0,1fr) auto 36px;align-items:center;gap:12px;padding:10px 0}
.world-picker+.world-picker{border-top:1px solid #dce5ba24}
.world-picker button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #dce5ba4d;background:#f2f5dd0a;color:#f8f5e8;font-size:19px;cursor:pointer;transition:background .2s,transform .2s}
.world-picker button:hover{background:#dce5ba29;transform:scale(1.08)}
.world-picker button:focus-visible{outline:2px solid #e0eaba;outline-offset:3px}
.world-selection>span{display:block;color:#cedab1;font-size:8px;font-weight:700;letter-spacing:1.5px;margin-bottom:2px}
.world-selection strong{display:block;font-size:13px;font-weight:600;color:#fcfaed;line-height:1.4}
.world-count{font-size:10px;font-variant-numeric:tabular-nums;color:#ccd7b6;white-space:nowrap}
.world-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.character-identity small [data-character-index]{display:inline;margin:0;font:inherit;color:inherit;letter-spacing:inherit}
@keyframes island-drift{50%{transform:translateY(-8px)}}
@media(min-width:761px) and (max-width:1050px){.world-builder{min-height:570px}.world-controls{margin-top:0}.world-builder .note-two{right:-1%;top:49%}}
@media(max-width:760px){
  .world-builder{width:min(100%,460px);min-height:0;margin-top:20px;padding-bottom:12px}
  .world-scene{width:108%}
  .world-builder .note-one{top:7%;left:0}.world-builder .note-two{top:45%;right:0}
  .world-controls{width:min(100%,350px);margin-top:0;padding-inline:12px;border-radius:17px}
  .world-picker{gap:10px;padding:9px 0;grid-template-columns:36px minmax(0,1fr) auto 36px}
  .world-invitation{font-size:10px;margin-top:12px}.world-selection strong{font-size:12px}
  .character-stage{margin-inline:-18px;height:275px}
  .character-carousel.is-enhanced .character-card{width:180px}
  .character-bottom{gap:8px}.character-identity{min-width:0;flex:1;max-width:260px}
  .last-call-inner{gap:24px}.last-call-inner>div{position:relative;z-index:1}
  .last-call img{margin-top:0;justify-self:center;width:180px;max-width:60%}
  .last-actions{align-items:flex-start;gap:20px}
}
@media(prefers-reduced-motion:reduce){.world-scene{animation:none}.world-sprite,.world-picker button{transition:none}}
