/* A quiet doorway to other projects, separate from the scene itself. */
.elsewhere { position:fixed; right:24px; bottom:calc(5px + env(safe-area-inset-bottom)); z-index:40; font-family:Arial,sans-serif; }
.elsewhere-toggle { min-height:44px; padding:0 8px; border:0; background:transparent; color:rgba(235,232,217,.65); font:12px monospace; letter-spacing:.04em; cursor:pointer; }
.elsewhere-toggle:hover,.elsewhere-toggle[aria-expanded="true"] { color:#fff9eb; }
.elsewhere-panel { position:absolute; right:0; bottom:52px; width:min(310px,calc(100vw - 46px)); padding:25px; box-sizing:border-box; border:1px solid rgba(237,234,213,.16); border-radius:18px; background:rgba(17,24,26,.88); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); box-shadow:0 18px 60px #0005; color:#e8e4d8; animation:elsewhere-in .2s ease-out; }
.elsewhere-panel[hidden] { display:none; }
.elsewhere-panel h2 { margin:0 0 19px; font:italic 21px Georgia,serif; font-weight:normal; color:#c9c7ba; }
.elsewhere-panel a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; color:#f1ecdf; text-decoration:none; font-size:16px; border-top:1px solid #ffffff12; }
.elsewhere-panel a span { color:#999f96; }
.elsewhere-panel a:hover { color:#fff; }
.elsewhere :focus-visible { outline:2px solid #c2cfc2; outline-offset:5px; border-radius:4px; }
@keyframes elsewhere-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .elsewhere-panel { animation:none; } }

/* Shared site identity stays outside the fading scene layers. */
.site-domain { position:fixed; z-index:40; left:38px; top:max(24px,env(safe-area-inset-top)); color:#f1eee5; font:15px Arial,Helvetica,sans-serif; letter-spacing:-.4px; pointer-events:none; }
@media(max-width:520px) { .site-domain { left:23px; } }
@media(max-height:480px) { .site-domain { top:12px; } }

/* Leave a dedicated right-hand slot for Elsewhere beside the cradle controls. */
#site .sp-cradle footer {
  right: max(7%, 150px);
  flex-wrap: wrap;
}
#site .sp-cradle .cradle-actions { flex-shrink: 0; }

/* Desktop landscape controls share a row with Elsewhere; reserve its space. */
@media (min-width: 521px) {
  #site .sp-world footer { right: 150px; }
}
