/* 링크 페이지 (/?globe=… · /globe) 바탕. 스노글로브 화면 자체는 globe-ui.css (마을 패널과 같음) */
* { box-sizing: border-box; }
html { background: #2a2645; }
body {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  color: #fbf5ee;
  font-family: 'Gowun Dodum', system-ui, sans-serif;
  background:
    radial-gradient(ellipse 80% 50% at 50% 42%, rgba(255, 214, 160, 0.16), transparent 70%),
    linear-gradient(180deg, #2a2645 0%, #3d3260 55%, #5a4479 100%);
}
#globeRoot { flex: 1 1 auto; padding-top: max(18px, env(safe-area-inset-top)); }
#globeRoot .g-top { padding: 0 16px; }

footer { display: flex; justify-content: center; align-items: center; gap: 14px; padding: 10px 16px max(14px, env(safe-area-inset-bottom)); font-size: 13px; color: #ddd4e6; }
footer a { color: inherit; }
.langs { display: flex; gap: 6px; }
.langs .link { padding: 4px; border: 0; background: none; color: #ddd4e6; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.langs [aria-current] { color: #f2c38b; text-decoration: none; }

#toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 70; transform: translate(-50%, 20px);
  max-width: calc(100% - 32px); padding: 10px 16px; border-radius: 12px; background: rgba(36, 30, 56, 0.9); color: #fbf5ee;
  font-size: 14px; opacity: 0; pointer-events: none; transition: opacity 0.25s, transform 0.25s;
}
#toast.show { opacity: 1; transform: translate(-50%, 0); }
/* 코드가 뜨기 전 첫 로딩 표시 (globe-ui.css가 오기 전에도 보이게 기본 모양) */
#globeRoot > .loader { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 60dvh; margin: 0; color: #ddd4e6; font-size: 16px; }
