/* Shared atmosphere for the studio's inner rooms. */
.world-page {
  --text-muted: #A1A1AA;
  --text-secondary: #C4C4CB;
  --world-red: #FFFFFF;
  background-color: #09090B;
  font-family: 'Neue Montreal', sans-serif;
}
.world-page h1:not(.stage-title) {
  font-family: 'Nohemi', sans-serif !important;
  font-weight: 900;
  font-size: clamp(48px, 5.5vw, 84px);
  line-height: 0.98;
  letter-spacing: -0.015em;
}
.world-page h2, .world-page h3, .world-page h4 {
  font-family: 'Nohemi', sans-serif;
}
.world-page main > section { scroll-margin-top: 100px; }
.world-page .hero-intro-bento-card,
.world-page .store-hero-content,
.world-page .hero-director-card {
  justify-content: flex-start;
  gap: clamp(24px, 3vw, 42px);
  border-radius: 22px;
  background: radial-gradient(ellipse at 0 0, rgba(255,255,255,.03), transparent 65%), #0E0E12;
}
.world-page .store-hero-content > div:first-child { display: grid; gap: 24px; }
.world-page .hero-actions-row,
.world-page .store-hero-ctas { margin-top: auto; padding-top: 24px; }
.world-page .hero-director-card .hero-action-row { margin-top: 12px; }
.world-page .hero-bio-lead,
.world-page .hero-subtitle,
.world-page .store-hero-lead { max-width: 58ch; color: #C4C4CB; line-height: 1.65; }
.world-page .action-button-primary,
.world-page .store-hero-btn-primary,
.world-page .btn-play-showreel { border-radius: 8px; }
.world-page .action-button-primary:hover,
.world-page .store-hero-btn-primary:hover { box-shadow: 0 0 0 3px rgba(255,255,255,.18); }
.world-page .store-view-toggle-group {
  display: inline-flex; gap: 4px; padding: 4px;
  background: #09090B; border: 1px solid rgba(255,255,255,.12); border-radius: 10px;
}
.world-page .store-view-toggle-btn {
  font: 500 13px 'Neue Montreal', sans-serif; padding: 8px 12px;
  color: #B9B9C0; border: 0; border-radius: 6px; background: transparent; cursor: pointer;
}
.world-page .store-view-toggle-btn.is-active { background: #FAFAFA; color: #09090B; }
.world-page :is(a, button, summary):focus-visible { outline: 2px solid #FFFFFF; outline-offset: 4px; }
.world-controls { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.world-room { color: #B9B9C0; font-size: 11px; letter-spacing: .08em; white-space: nowrap; }
.world-room::before { content: ''; display: inline-block; width: 5px; height: 5px; background: #FFFFFF; border-radius: 50%; margin-right: 8px; }
.world-sound, .world-menu summary {
  font: 500 12px 'Neue Montreal', sans-serif; background: #141418;
  border: 1px solid rgba(255,255,255,.16); border-radius: 8px;
  color: #FAFAFA; padding: 10px 12px; min-height: 44px; cursor: pointer;
}
.world-sound[aria-pressed="true"] { border-color: #FFFFFF; }
.world-menu { display: none; }
.world-menu summary { list-style: none; }
.world-menu summary::-webkit-details-marker { display: none; }
.world-directory {
  box-sizing: border-box;
  position: absolute; top: calc(100% + 8px); right: 16px; width: min(350px, calc(100vw - 32px));
  background: #0E0E12; border: 1px solid rgba(255,255,255,.18); border-radius: 18px;
  padding: 20px; box-shadow: 0 24px 80px #000B; display: grid; gap: 4px; z-index: 1100;
}
.world-directory-label { font-size: 11px; letter-spacing: .1em; color: #A1A1AA; padding: 8px 10px 16px; }
.world-directory a { padding: 12px 10px; min-height: 44px; color: #D4D4D8; text-decoration: none; font-size: 16px; border-radius: 8px; }
.world-directory a:hover, .world-directory a[aria-current="page"] { background: #1C1C22; color: #FAFAFA; }
.world-directory a[aria-current="page"] { border-left: 2px solid #FFFFFF; }
.world-directory .world-sound { margin-top: 14px; }
.world-page header .k-brand-logo-img { width: 120px; height: 24px; max-width: 120px; object-fit: contain; }
@media (max-width: 600px) {
  .world-page header .k-brand-logo-img { width: 96px; max-width: 96px; height: 22px; }
  .world-page header.site-header .world-room { display: none; }
}
.world-page .stage-video-controls-overlay { top: 12px; bottom: auto; right: 12px; }
.world-page .stage-video-badge { pointer-events: none; }
.world-page .stage-video-frame video { object-fit: contain; }
.world-page .nav-tab-btn, .world-page .stepper-btn { min-height: 44px; }
.world-page .stage-video-error { position: absolute; inset: 60px 16px auto; padding: 16px; background: #0E0E12; color: #FAFAFA; z-index: 6; font-size: 14px; }
.world-page .stage-video-error[hidden] { display: none; }
.world-page .stage-video-error a { color: #FAFAFA; text-decoration: underline; }
.world-stats-status { font: 400 12px 'Neue Montreal', sans-serif; color: #A1A1AA; display: block; margin: 10px 0; }
@media (max-width: 768px) {
  .world-page header:not(.subpage-header):not(.nav) :is(.header-nav,.nav-links-area,.nav-page-links,.header-core-nav) { display: none !important; }
  .world-menu { display: block; }
  .world-controls > .world-sound { display: none; }
  .world-room { font-size: 10px; }
  .world-page header { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 600px) {
  .world-page h1:not(.stage-title) { font-size: clamp(68px, 20vw, 88px); }
  .world-page .hero-intro-bento-card, .world-page .store-hero-content, .world-page .hero-director-card { gap: 24px; }
  .world-page .hero-actions-row, .world-page .store-hero-ctas { padding-top: 4px; }
  .world-page .stage-video-frame { width: calc(100% - 32px); min-width: 0; }
  .world-page .stage-video-badge { font-size: 7px; top: 10px; left: 10px; letter-spacing: .05em; }
  .world-page .stage-video-sound-toggle { padding: 8px; font-size: 11px; min-height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .world-page *, .world-page *::before, .world-page *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Compact crate browsing, preserving the complete cover artwork. */
@media (min-width: 601px) and (max-width: 1024px) {
  .world-page .store-wallpapers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .world-page .remix-card .wallpaper-media-wrap { max-width: 260px; width: 100%; margin-inline: auto; }
}
