/* Trajan Font */
@font-face {
  font-family: 'Trajan';
  src: url('./assets/fonts/fc89be67fb8cbf631fe887e4aed5b9e3.eot');
  src: url('./assets/fonts/fc89be67fb8cbf631fe887e4aed5b9e3.eot?#iefix') format('embedded-opentype'),
       url('./assets/fonts/fc89be67fb8cbf631fe887e4aed5b9e3.woff') format('woff'),
       url('./assets/fonts/fc89be67fb8cbf631fe887e4aed5b9e3.ttf') format('truetype'),
       url('./assets/fonts/fc89be67fb8cbf631fe887e4aed5b9e3.svg#Trajan') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* Reset and Base */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  overflow: hidden;
  font-family: 'Trajan', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #000;
}

/* Hide iPhone image element from view but keep it available for texture */
img#iphone-video-asset {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden;
  width: 1px;
  height: 1px;
}

/* iOS Fullscreen Fallback */
body.ios-fullscreen-fallback {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
}

body.ios-fullscreen-fallback .portrait-container {
  height: 100vh;
  max-height: none;
}

body.ios-fullscreen-fallback .page {
  width: 100vw;
  height: 100vh;
}

body.ios-fullscreen-fallback #shared-ar-scene {
  width: 100vw !important;
  height: 100vh !important;
}

body.ios-fullscreen-fallback .content-area {
  height: 100vh;
}

/* AR Scene - body level, always full-screen behind everything */
#shared-ar-scene {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  background: transparent !important;
}

/* Page container - full screen, sits above AR scene */
.page {
  position: fixed;
  top: 0;
  left: 0;
  /* width: 100vw;
  height: 100vh; */
  width: 100%;
    height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  z-index: 2;
  pointer-events: none;
}

/* Portrait container - wraps everything */
.portrait-container {
  width: 100%;
  max-width: 480px;
  height: 100%;
  max-height: 940px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  pointer-events: none;
}

/* Responsive adjustments for landscape */
@media (min-aspect-ratio: 1/1) {
  .portrait-container {
    height: 100vh;
    /* //max-height: 800px; */
    max-width: 70vh;
  }
}

/* Loading Screen Styles */
#screen-loading {
  background: black;
}

/* Name Screen Styles */
#screen-loading,
#screen-name {
  background: url('./assets/images/transition_bg.jpg') no-repeat center center;
  background-size: cover;
  background-position: center bottom;
}

.header.is-loading {
  height: 100vh; /* Full viewport height during loading */
  transition: height 1.2s ease-in-out;
}

.header.is-loading .header-video {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.header.is-loading .got-logo {
  opacity: 0;
  transition: opacity 1s ease-in-out 0.5s; /* Delayed fade-in */
}

.header:not(.is-loading) {
  height: 100px; /* Normal size when not loading */
  transition: height 0.8s ease-in-out;
}

.header:not(.is-loading) .header-video {
  opacity: 1;
}

.header:not(.is-loading) .got-logo {
  opacity: 1;
}

/* Loading Spinner */
#loading-spinner.spinner {
  z-index: 10000 !important; /* Above everything including header (200) */
  display: block;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.5s ease-out;
}

#loading-spinner .spinner-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  position: relative;
}

.spinner-circle-bottom {
  position: absolute;
  width: 80px;
  height: 80px;
  animation: spin 5s linear infinite;
}
.spinner-circle-top {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 60px;
  height: 60px;
  animation: spin-reverse 3s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes spin-reverse {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-360deg); }
}

/* Loading text animation */
.loading-text {
  color: white;
  font-size: 12px;
  font-family: 'Trajan', sans-serif;
  text-align: center;
  margin-top: 15px;
  animation: fadeInOut 1s ease-in-out infinite;
}

@keyframes fadeInOut {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}

/* Persistent Header */
.header {
  pointer-events: auto;
  flex-shrink: 0;
  padding: 10px 20px;
  text-align: center;
  z-index: 200;
  height: 100px;
  position: relative;
  background-color: #000;
}

.header .got-logo {
  max-width: 300px;
  width: 100%;
  margin: auto;
  transition: opacity 0.8s ease-in-out;
}

.header .header-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
}

.header .header-video::-webkit-media-controls {
  display: none !important;
}

.header .header-video::-webkit-media-controls-enclosure {
  display: none !important;
}

.header .header-video::-webkit-media-controls-panel {
  display: none !important;
}

.header .header-video::-webkit-media-controls-play-button {
  display: none !important;
}

.header .header-video::-webkit-media-controls-start-playback-button {
  display: none !important;
}

.header .header-video::-webkit-media-controls-timeline {
  display: none !important;
}

.header .header-video::-webkit-media-controls-current-time-display {
  display: none !important;
}

.header .header-video::-webkit-media-controls-time-remaining-display {
  display: none !important;
}

.header .header-video::-webkit-media-controls-mute-button {
  display: none !important;
}

.header .header-video::-webkit-media-controls-toggle-closed-captions-button {
  display: none !important;
}

.header .header-video::-webkit-media-controls-fullscreen-button {
  display: none !important;
}

/* Additional Safari-specific hiding */
.header .header-video[controls] {
  display: none !important;
}

.header .header-video {
  -webkit-appearance: none;
  appearance: none;
}

/* Force hide any controls that might appear */
.header video::-webkit-media-controls-panel,
.header video::-webkit-media-controls-play-button,
.header video::-webkit-media-controls-timeline,
.header video::-webkit-media-controls-current-time-display,
.header video::-webkit-media-controls-time-remaining-display,
.header video::-webkit-media-controls-mute-button,
.header video::-webkit-media-controls-toggle-closed-captions-button,
.header video::-webkit-media-controls-fullscreen-button {
  display: none !important;
}

/* More aggressive Safari video control hiding */
video[controls]:not(.preview-video) {
  display: none !important;
}

.header-video,
.footer-video {
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Safari-specific pseudo-elements for video controls */
.header-video::-webkit-media-controls-start-playback-button,
.footer-video::-webkit-media-controls-start-playback-button {
  display: none !important;
}

/* Hide any overlay controls that Safari might add */
.header-video::-webkit-media-controls-overlay-play-button,
.footer-video::-webkit-media-controls-overlay-play-button {
  display: none !important;
}

/* Force hide controls on all videos in headers and footers */
.header video,
.footer video {
  pointer-events: none !important;
}

.header video::-webkit-media-controls,
.footer video::-webkit-media-controls {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Additional Safari-specific hiding */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .header-video,
  .footer-video {
    appearance: none !important;
    -webkit-appearance: none !important;
  }
  
  .header-video::-webkit-media-controls-panel,
  .footer-video::-webkit-media-controls-panel {
    display: none !important;
  }
}

.header .tab-button {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  padding: 0 50px 0 30px;
  display: none;
}

.has-menus .header .tab-button {
  display: flex;
}
.header .tab-btn-image {
  position: absolute;
  width: 100%;
  height: 100%;
}
.header .tab-button span {
  padding-right: 11px;
  padding-bottom: 0px;
  font-family: 'Trajan', sans-serif;
  color: #E6DCC1;
  font-size: 13px;
  font-weight: 400;
  z-index:1;
}
.header .tab-button span strong {
  font-size: 16px;
  font-weight: 400;
}

.header-border {
  width: 100%;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  flex-wrap: nowrap;
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
}

.header-border img {
  width: 50%;
  height: auto;
}

#trailer {
  position: absolute;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  top: 0;
  left: 0;
  z-index: 9999999;
  pointer-events: none;
}

#trailer.fade-in {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 1s ease-in, opacity 0.5s ease-out;
}

#trailer:not(.fade-in) {
  transition: opacity 0.5s ease-out;
}

#trailer-tap-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.6);
  z-index: 10;
}

#trailer-tap-btn {
  background-color: transparent;
  background-image: url('./assets/images/share_btn.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 200px;
  height: 80px;
  border: none;
  cursor: pointer;
  color: #f2c66d;
  font-family: 'Trajan', sans-serif;
  font-size: 16px;
  text-transform: uppercase;
  pointer-events: auto;
  z-index: 10000000;
}

#capture-notification {
  position: fixed;
  width: 160px;
  height: 39px;
  left: 0;
  top: 40%;
  background-image: url('./assets/images/capture_notification_bg.png');
  background-repeat: no-repeat;
  background-position: right center;
  transform: translateX(-100%);
  transition: transform 0.3s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

#capture-notification.visible {
  transform: translateX(0);
}
#capture-notification span {
  font-size: 15px;
  color: #3e2711;
  margin-top: 2px;
  animation: capture-pulse 0.75s infinite;
}

#capture-notification img {
  animation: capture-left-right 2s infinite;
    height: 39px;
    width: 40px;
    margin-right: 6px;
    margin-bottom: 2px;
}

@keyframes capture-left-right {
  0% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  100% { transform: translateX(-5px); }
}

@keyframes capture-pulse {
  0% { opacity: 0.2; }
  50% { opacity: 1; }
  100% { opacity: 0.2; }
}

#skip-trailer-btn {
  position: absolute;
  bottom: 30px;
  left: 20px;
  background-color: transparent;
  background-image: url('./assets/images/share_btn.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 80px;
  height: 80px;
  border: none;
  cursor: pointer;
  color: white;
  font-family: 'Trajan', sans-serif;
  pointer-events: auto;
  z-index: 10000000;
}

/* Screen 1: Intro */
#screen-intro {
  z-index: 100 !important;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.screen-intro-content {
  width: 100%;
  max-width: 80vh;
  padding: 60vh 40px 30vh 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background: url('./assets/images/home_bg.png') no-repeat;
  background-size: cover;
  background-position: top center; 
}
.screen-intro-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#screen-intro.active {
  display: flex !important;
}

/* Screen 3: Name */
#screen-name {
  z-index: 100 !important;
  justify-content: flex-end;
  /* background: url('./assets/images/intro_bg2.jpg') center/cover no-repeat;
      background-position: top -60px center; */
}

#screen-name.active {
  display: flex !important;
  opacity: 1 !important;
}

.names-menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.name-btn {
  background-color: transparent;
  background-image: url('./assets/images/name_btn.png');
  background-position: center;
  background-repeat: no-repeat;
  padding: 0;
  border: 0 none;
  display: flex;
  align-items: center;
  color: white;
  font-family: 'Trajan', sans-serif;
  gap: 15px;
  width: 200px;
  touch-action: manipulation;
}

.name-btn img {
  width: 53px;
  height: 53px;
  margin-left: -10px;
}

/* Screen Content Area - where screens swap */
.content-area {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: transparent;
}

/* Persistent Footer */
.footer {
  pointer-events: auto;
  flex-shrink: 0;
  position: relative;
  padding: 0;
  text-align: center;
  z-index: 200;
  height: 90px;
  background-color: #000;
}

.footer .footer-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  pointer-events: none;
}

.footer-video::-webkit-media-controls {
  display: none !important;
}

.footer-video::-webkit-media-controls-enclosure {
  display: none !important;
}

.footer-video::-webkit-media-controls-panel {
  display: none !important;
}

.footer-video::-webkit-media-controls-play-button {
  display: none !important;
}

/* iOS-specific video control hiding */
.header-video::-webkit-media-controls-start-playback-button,
.footer-video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

.header-video::-webkit-media-controls-overlay-play-button,
.footer-video::-webkit-media-controls-overlay-play-button {
  display: none !important;
  -webkit-appearance: none;
}

/* Force hide all video controls on iOS */
video::-webkit-controls,
video::-webkit-media-controls,
video::-webkit-media-controls-panel {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* iOS specific: hide the center play button */
video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

/* Safari on iOS specific */
video:not([controls]) {
  -webkit-appearance: none;
  appearance: none;
}

video {
  -webkit-appearance: none;
  appearance: none;
  -webkit-user-select: none;
  user-select: none;
}

/* iOS specific: prevent play button overlay */
@supports (-webkit-touch-callout: none) {
  .header-video,
  .footer-video {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* Force hide iOS center play button */
video::-webkit-media-controls-panel {
  display: none !important;
}

video::-webkit-media-controls-play-button {
  display: none !important;
}

/* Safari on iOS - hide all media controls */
video::-webkit-media-controls {
  display: none !important;
}

.footer-navigation {
  display: none !important;
  visibility: hidden !important;
  position: absolute;
  top: -40px;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.footer-navigation > * {
  pointer-events: auto;
}


body.app-ready .has-menus .footer-navigation {
  display: block !important;
  visibility: visible !important;
}

.footer-navigation span {
  color: white;
  font-size: 15px;
  font-weight: 400;
  font-family: 'Trajan', sans-serif;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  z-index:1;
}

/* Animation classes for dragon name selection - placed after display rules for precedence */
body.app-ready .has-menus .footer-navigation.animate-in {
  animation: slideInUp 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  display: block;
}

.header .tab-button.animate-in {
  animation: slideInDown 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Initial hidden state for animations - only when animating */
.footer-navigation.animate-ready:not(.animate-in) {
  opacity: 0;
  transform: translateY(50px);
}

.header .tab-button.animate-ready:not(.animate-in) {
  opacity: 0;
  transform: translateX(-50%) translateY(-30px);
}

/* Keyframe animations */
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 0 none;
  background: transparent;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: box-shadow 0.3s ease;
  clip-path: circle(40px at center);
  font-weight: 400;
  touch-action: manipulation;
}

.share-btn:hover {
  box-shadow: 0 0 20px 3px #48abe0;
}

.share-btn-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  object-fit: contain;
}

.capture-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 0 none;
  background: transparent;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: box-shadow 0.3s ease;
  clip-path: circle(55px at center);
  touch-action: manipulation;
}

.capture-btn:hover {
  box-shadow: 0 0 20px 3px #48abe0;
}

.capture-btn-image {
  position: absolute;
  top: -12px;
    left: -4px;
  width: 130px;
  height: 130px;
  /* object-fit: contain; */
}

/* Pulsing animation for Start button */
.capture-btn.pulsing span {
  animation: capture-pulse 1s infinite;
}

/* Red text for Stop button (no pulsing) */
.capture-btn.recording span {
  color: #ff0000;
  font-weight: bold;
}

.dragon-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  border-radius: 50%;
  border: 0 none;
  background: transparent;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: box-shadow 0.3s ease;
  /* clip-path: circle(40px at center); */
  touch-action: manipulation;
}

.dragon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.dragon-icon span.dragon-name-text {
  font-size: 9px;
}

.footer-border {
  width: 100%;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  flex-wrap: nowrap;
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
}

.footer-border img {
  width: 50%;
  height: auto;
}

/* .footer .border-decoration {
  width: 100%;
  height: auto;
  max-height: 120px;
  opacity: 1;
  display: block;
} */

/* Screen Management System */
.screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none !important;
  z-index: 100;
}

.screen.active {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 100;
}

/* Preloaded screens - loaded but hidden below active screen */
.screen.preloaded {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 1;
  z-index: 99;
  pointer-events: none;
}

/* Screen Content Area (duplicate removed) */

/* Screen overlays - transparent for AR screens */
#screen-hatch,
#screen-feed {
  background: transparent !important;
  pointer-events: none;
  display: none !important;
}

#screen-hatch.active,
#screen-feed.active {
  background: transparent !important;
  display: flex !important;
}
#screen-hatch.active {
  z-index: 99 !important;  /* Lower than screen-name's 100 */
  background: transparent !important;
  display: flex !important;
}

.chevrons-horizontal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 2px;
  left: 0;
  right: 1px;
  bottom:0;
  border-radius: 9px;
  overflow: hidden;
}

.chevrons-left,
.chevrons-right {
  width: 100%;
  height: 18px;
  position: relative;
  border-radius: 9px;
  overflow: hidden;
}

.chevrons-right svg,
.chevrons-left svg {
  height: 18px;
  position: absolute;
  top: 0;
  fill: white;
  stroke: none;
  opacity: 0.7;
  /* stroke: red;
  stroke-width: 10px; */
}

.chevrons-right path {
  height: 18px;
}

.chevrons-right svg {
  right: 0;
  mask-image: linear-gradient(to right, transparent 0%, black 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 100%);
  animation: chevron-slide-right 0.5s linear infinite;
}
.chevrons-left svg {
  left: 0;
  mask-image: linear-gradient(to left, transparent 0%, black 100%);
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 100%);
  animation: chevron-slide-left 0.5s linear infinite;
}

/* .temp-optimal .chevrons-right svg {
  fill: #7ae920;
}
.temp-optimal .chevrons-left svg {
  fill: #7ae920;
} */

.chevrons-up {
  width: 18px;
  top: 40%;
  left:0;
  bottom:0;
  position: absolute;
  overflow: hidden;
}
.chevrons-up svg {
  top: 0;
  left: 0;
  width: 18px;
  position: absolute;
  fill: white;
  stroke: none;
  opacity: 0.7;
  mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 50%);
  animation: chevron-slide-up 0.5s linear infinite;
}

@keyframes chevron-slide-right {
  0% { right: 0; }
  100% { right: -13px; }
}
@keyframes chevron-slide-left {
  0% { left: 0; }
  100% { left: -13px; }
}
@keyframes chevron-slide-up {
  0% { top: 0; }
  100% { top: -13px; }
}


.heat-meter-container {
  position: absolute;
  top: 80px;
  left: 10%;
  width: 80%;
  height: 24px;
  border: 1px solid grey;
  border-radius: 14px;
  padding: 2px;
  z-index: 10;
}

.heat-meter {
  width:100%;
  height: 18px;
  border-radius: 9px;
  /* background-image: url('./assets/images/heat_meter_bg.jpg');
  background-size: cover;
  background-position: center; */
  position: relative;
  overflow: hidden;
  background: #ffd500;
  box-shadow: inset 0 0px 5px 4px #ff5100;
}
.heat-pattern {
  filter: opacity(0.5) sepia(1.2) brightness(1) contrast(3.6) grayscale(1) saturate(600%);
  opacity: 0.3;
  height: 18px;
}
.heat-meter-dial {
  position: absolute;
  top: -10px;
  left: 0%;
  width: 48px;
  height: 42px;
  transform: translateX(-50%);
  background-image: url('./assets/images/egg_sprite.png');
  background-size: 100%;
  background-position: center -84px;
  background-repeat: no-repeat;
}
.heat-meter-container.temp-cold .heat-meter-dial {
  background-position: center 0;
}
.heat-meter-container.temp-warm .heat-meter-dial {
  background-position: center -42px;
}
.heat-meter-container.temp-optimal .heat-meter-dial {
  background-position: center -84px;
}

.heat-meter-container.temp-cold {
  box-shadow: 0 0 15px 5px rgba(74, 144, 217, 0.8), 0 0 30px 10px rgba(100, 180, 255, 0.4);
  border-color: #4a90d9;
  animation: pulse-blue 1.5s ease-in-out infinite;
}
.heat-meter-container.temp-cold .heat-meter {
  background: #4a90d9;
  background: linear-gradient(90deg,#00165d 0%, #75b8ff 30%, #75dfff 70%, #00165d 100%);
  box-shadow: inset 0 0px 5px 4px rgba(1, 72, 148, 0.5);
}

.heat-meter-container.temp-warm {
  box-shadow: 0 0 15px 5px rgba(175, 149, 76, 0.9), 0 0 30px 10px rgba(220, 182, 100, 0.5);
  /* border-color: #4caf50; */
  /* Constant glow, no animation */
}
.heat-meter-container.temp-warm .heat-meter{
  background: #ffcc34;
  box-shadow: inset 0 0px 4px 3px #ffd609;
}

.heat-meter-container.temp-optimal {
  box-shadow: 0 0 10px 5px rgba(255, 94, 0, 0.8), 0 0 30px 10px rgba(255, 153, 80, 0.4);
  border-color: #ff5500;
  animation: pulse-orange 1.5s ease-in-out infinite;
}
.heat-meter-container.temp-optimal .heat-meter{
  background: #ffd500;
  background: linear-gradient(90deg,#ff2200 0%, rgba(255, 213, 0, 1) 30%, rgba(255, 213, 0, 1) 70%, #c31a00 100%);
  box-shadow: inset 0 0px 4px 3px #c31a00;
}

#heat-countdown {
  display: none;
  position: absolute;
  top: 90px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Trajan', serif;
  font-size: 56px;
  font-weight: bold;
  color: white;
  opacity: 0.5;
  text-shadow: 0 0 3px rgba(28, 28, 28, 0.8), 0 0 3px rgba(28, 28, 28, 0.8);
  z-index: 20;
  pointer-events: none;
}

#heat-countdown.congratulations {
  color: white;
  font-size: 14px;
  text-align: center;
  width: 100%;
  top: 60px;
}


#flight-countdown {
  display: none;
  position: absolute;
  top: 140px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Trajan', serif;
  font-size: 56px;
  font-weight: bold;
  color: white;
  opacity: 0.5;
  text-shadow: 0 0 3px rgba(28, 28, 28, 0.8), 0 0 3px rgba(28, 28, 28, 0.8);
  z-index: 20;
  pointer-events: none;
}



/* Flight Meter - Vertical version of heat meter */
.flight-meter-container {
  position: absolute;
  top: 60px;
  right: 20px;
  width: 20px;
  height: 250px; /* 25% taller: 200px * 1.25 = 250px */
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.3);
  overflow: visible;
  z-index: 10;
}

.flight-meter {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  position: relative;
  background: linear-gradient(0deg,rgba(1, 45, 148, 1) 0%, rgb(27, 90, 236) 100%);
  box-shadow: inset 0 0px 5px 4px rgba(0, 28, 120, 0.8);
  overflow: hidden;
}

.flight-pattern {
  filter: opacity(0.3) sepia(1.2) brightness(1.2) contrast(3.6) grayscale(1) saturate(600%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
}

.flight-meter-dial {
  position: absolute;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, 50%);
  width: 42px;
  height: 40px;
  z-index:1;
  transition: bottom 0.3s ease;
  background-image: url('./assets/images/flightdialsprite.png');
  background-size: 100%;
  background-repeat: no-repeat;
  background-position:  center top 0;
}
.flight-meter-container.temp-win .flight-meter-dial {
  background-position:  center top -40px;
}

@keyframes pulse-blue {
  0%, 100% {
    box-shadow: 0 0 5px 5px rgba(74, 144, 217, 0.8), 0 0 30px 10px rgba(100, 180, 255, 0.4);
  }
  50% {
    box-shadow: 0 0 10px 8px rgba(74, 144, 217, 1), 0 0 40px 15px rgba(100, 180, 255, 0.6);
  }
}

@keyframes pulse-orange {
  0%, 100% {
    box-shadow: 0 0 5px 5px rgba(255, 152, 0, 0.8), 0 0 30px 10px rgba(255, 180, 80, 0.4);
  }
  50% {
    box-shadow: 0 0 10px 8px rgba(255, 152, 0, 1), 0 0 40px 15px rgba(255, 180, 80, 0.6);
  }
}

/* Green win state for flight meter (75% and above) */
.flight-meter-container.temp-win {
  /* box-shadow: 0 0 15px 5px rgba(76, 175, 80, 0.9), 0 0 30px 10px rgba(100, 220, 100, 0.5); */
   /* background: linear-gradient(0deg,rgba(1, 45, 148, 1) 0%, rgba(140, 221, 255, 1) 100%, rgba(1, 45, 148, 1) 100%); */
  /* border-color: #4caf50; */
  animation: pulse-blue 1s ease-in-out infinite;
}

.flight-meter-container.temp-win .flight-meter {
  /* background: #4caf50; */
  /* background: linear-gradient(90deg, rgba(46, 125, 50, 1) 0%, rgba(76, 175, 80, 1) 30%, rgba(76, 175, 80, 1) 70%, rgba(46, 125, 50, 1) 100%); */
   background: linear-gradient(0deg,rgba(1, 45, 148, 1) 0%, rgba(140, 221, 255, 1) 100%);
  /* box-shadow: inset 0 0px 5px 4px #2e7d32; */
}

@keyframes pulse-green {
  0%, 100% {
    box-shadow: 0 0 5px 5px rgba(76, 175, 80, 0.9), 0 0 30px 10px rgba(100, 220, 100, 0.5);
  }
  50% {
    box-shadow: 0 0 10px 8px rgba(76, 175, 80, 1), 0 0 40px 15px rgba(100, 220, 100, 0.6);
  }
}

/* Red danger state for flight meter (100% and above) */
.flight-meter-container.temp-danger {
  box-shadow: 0 0 15px 5px rgba(244, 67, 54, 0.9), 0 0 30px 10px rgba(255, 100, 100, 0.5);
  border-color: #f44336;
  animation: pulse-red 1s ease-in-out infinite;
}

.flight-meter-container.temp-danger .flight-meter {
  background: #f44336;
  background: linear-gradient(90deg, rgba(183, 28, 28, 1) 0%, rgba(244, 67, 54, 1) 30%, rgba(244, 67, 54, 1) 70%, rgba(183, 28, 28, 1) 100%);
  box-shadow: inset 0 0px 5px 4px #b71c1c;
}

@keyframes pulse-red {
  0%, 100% {
    box-shadow: 0 0 5px 5px rgba(244, 67, 54, 0.9), 0 0 30px 10px rgba(255, 100, 100, 0.5);
  }
  50% {
    box-shadow: 0 0 10px 8px rgba(244, 67, 54, 1), 0 0 40px 15px rgba(255, 100, 100, 0.6);
  }
}


/* All interactive UI elements need pointer-events */
#instructions,
#hatch-prompt,
#continue-btn,
#reset-btn,
#feed-instructions,
#desktop-message,
.nav-btn,
.screen-content,
.screen-content *,
.footer-navigation,
.footer-navigation *,
.header .tab-button,
.header .tab-button * {
  pointer-events: auto;
}

#feed-instructions {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(201, 162, 39, 0.9);
  color: white;
  padding: 15px 25px;
  border-radius: 12px;
  text-align: center;
  z-index: 100;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  font-size: 14px;
  max-width: 90%;
  pointer-events: none;
  font-family: 'Trajan', serif;
}

.arrow-div {
  margin-bottom: 5px;
  max-width: 20px;
}

#screen-feed canvas,
#screen-feed .a-canvas {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 5 !important;
  display: block !important;
  pointer-events: none !important;
}

#screen-feed video,
#screen-feed .a-ar-video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 1 !important;
  display: block !important;
  background: transparent !important;
}

#feed-meter-container {
  position: absolute;
  top: 100px;
  right: 20px;
  z-index: 100;
}

/* Ensure feed screen UI elements are above the canvas */
#screen-feed #continue-after-feed {
  z-index: 10 !important;
  pointer-events: auto !important;
}


#feed-meter-fill {
  background-color: #000;
  width:100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#feed-meter-fill-bg {
  background: linear-gradient(0deg,rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 50%, rgba(237, 221, 83, 1) 100%);
  width: 14px;
  height: 188px;
  position: absolute;
  top: 40px;
  left: 17px;
  border-radius: 7px;
}

#feed-meter-dial {
  width: 40px;
    position: absolute;
    top: 100%;
    transform: translateY(-25%);
    left: -10px;
}

#feed-meter-text {
  position: absolute;
  text-align: center;
  line-height:36px;
  display: none;
  font-size: 11px;
  color: darkcyan;
  top: 6px;
  left: 6px;
  display: none;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background-color: rgba(237, 221, 83, 1);
}

.swipe-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  position: absolute;
  bottom: 75px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1001;
  pointer-events: auto;
}

.swipe-msg {
  color: white;
  font-size: 14px;
  opacity: 0;
  transition: opacity 0.2s ease-in;
}

.swipe-msg.flash {
  opacity: 1;
  animation: flashFade 1s ease-out forwards;
}

@keyframes flashFade {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}

#meat-btn {
  pointer-events: auto;
  touch-action: manipulation;
  z-index: 1002;
}

/* Swipe arrow animation */
.swipe-container img[src*="swipe_arrow"] {
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.swipe-container.arrow-down img[src*="swipe_arrow"] {
  transform: translateY(50px) scale(1.3);
}

/* Screen 4: Fly Dragon AR Experience */
#screen-fly {
  z-index: 10;
  background: transparent;
}

#screen-fly.active {
  z-index: 100 !important;
}

#fly-instructions {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(102, 126, 234, 0.9);
  color: white;
  padding: 15px 25px;
  border-radius: 12px;
  text-align: center;
  z-index: 100;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(255, 255, 255, 0.3);
  font-size: 14px;
  max-width: 90%;
}

#screen-fly canvas {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 5 !important;
}

#screen-fly video {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 1 !important;
}

/* Screen placeholders for future screens */
#screen-fly.screen.active,
#screen-capture.screen.active,
#screen-share.screen.active,
#screen-signup.screen.active {
  text-align: center;
}

/* Screen Content Container */
.screen-content {
  background: rgba(0, 0, 0, 0.6);
  padding: 40px;
  border-radius: 20px;
  border: 3px solid #c9a227;
  max-width: 90%;
  color: #fff;
}

/* Navigation Buttons */
.btn-stack {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  justify-content: stretch;
}
.nav-btn {
  background: linear-gradient(135deg, #c9a227 0%, #8b6914 100%);
  color: #000;
  padding: 10px 25px;
  font-size: 14px;
  font-weight: normal;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  letter-spacing: 1px;
  margin: 10px;
  box-shadow: 0 4px 15px rgba(201, 162, 39, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
  font-family: 'Trajan', serif;
  text-decoration: none;
  touch-action: manipulation;
}

.nav-btn-dark {
  cursor: pointer;
  /* box-shadow: 0 4px 15px rgba(201, 162, 39, 0.4); */
  padding: 1px;
  transition: transform 0.2s, box-shadow 0.2s;
  font-family: 'Trajan', serif;
  text-decoration: none;
  border-radius:3px;
  border: 0 none;
  background: rgba(0,0,0,0.8);
  background-image: linear-gradient(to bottom, rgba(105, 85, 58, 0.7), rgba(44, 32, 24, 0.5));
  touch-action: manipulation;
}

#westeros-modal .nav-btn-dark,
#congratulations-modal .nav-btn-dark {
  width: 100%;
}
#westeros-modal .nav-btn-dark span,
#congratulations-modal .nav-btn-dark span {
  width: 100%;
}

.nav-btn-dark span {
  display: inline-block;
  color: #E5DBC1;
  /* border-radius: 2px; */
  padding: 15px 25px;
  font-size: 14px;
  border: 1px solid transparent;
  background-color: rgba(0,0,0,0.8);
}

/* Show place-egg-btn by default */
#place-egg-btn {
  display: block;
      width: 240px;
}

.nav-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(201, 162, 39, 0.6);
}

.primary-btn {
  height: 49px;
      z-index: 1;
    min-height: 49px;
  background-color: transparent;
  background-image: url('./assets/images/primary_btn_right.png');
  background-position: right;
  background-repeat: no-repeat;
  background-size: calc(100% - 76px) 100%;
  padding: 0 44px 0 54px;
  border: 0 none;
  font-family: 'Trajan', serif;
  font-size: 14px;
  font-weight: normal;
  color: #FDF9F4;
  text-align: center;
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.2);
      display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
  touch-action: manipulation;
}
.primary-btn::before {
  content: '';
  height: 49px;
  width:79px;
  background-color: transparent;
  background-image: url('./assets/images/primary_btn_left.png');
  background-position: left;
  background-repeat: no-repeat;
  padding: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}



.action-btn {
  border: 0 none;
  color: #FFF9BB;
  background: transparent;
  background-image: url('./assets/images/action_btn_bg.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  height: 60px;
  padding: 10px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Trajan', serif;
  font-size: 16px;
  font-weight: bold;
  touch-action: manipulation;
}

.btn-bottom-center {
  position: absolute; 
  bottom: 75px; 
  left: 50%; 
  transform: translateX(-50%); 
  z-index: 101; 
  pointer-events: auto;
}

/* Intro Page Elements */

/* Fullscreen Modal */
.fullscreen-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.01);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.fullscreen-modal[style*="display: block"],
.fullscreen-modal[style*="display: flex"] {
  display: flex;
  pointer-events: auto;
}

.fullscreen-modal.fade-in {
  opacity: 1;
}

.fullscreen-modal-content {
  /* background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%); */
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  width: 90%;
  max-width: 350px;
  max-height:400px;
  text-align: center;
  /* box-shadow: 0 10px 40px rgba(201, 162, 39, 0.3); */
  position: relative;
  overflow: visible;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#fly-dragon-container-inside,
#fly-dragon-container-outside {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  min-width: 75%; 
}
/* Notification Modal - renders inside screens */
.notification-modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 350px;
  max-height: 400px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  z-index: 150; /* Below header (200) and footer (200) but above content */
  pointer-events: auto;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-align: center;
}

.notification-modal-content {
  border-radius: 10px;
  text-align: center;
  position: relative;
}

.notification-modal p {
  color: #fff;
  font-size: 12px;
  font-family: 'Trajan', serif;
  margin: 0 0 10px 0;
  line-height: 1.5;
}

.notification-modal-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 15px;
}

.notification-modal-buttons .nav-btn {
  min-width: 80px;
}

/* .notification-modal-content::before,
.fullscreen-modal-content::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #c9a227, transparent);
  z-index: 1;
} */

.notification-modal-content::before,
.fullscreen-modal-content::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 25px;
  height: 34px;
  background: url('./assets/images/corner_bl.png') top left no-repeat;
  background-size: contain;
  z-index: 1;
}

.notification-modal-content::after,
.fullscreen-modal-content::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 25px;
  height: 34px;
  background: url('./assets/images/corner_br.png') top right no-repeat;
  background-size: contain;
  z-index: 1;
}

.notification-modal-header,
.fullscreen-modal-header {
  padding: 15px;
  position: relative;
}
.notification-modal-header::before,
.fullscreen-modal-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 34px;
  background: url('./assets/images/corner_tl.png') top left no-repeat;
  background-size: contain;
  z-index: 2;
}

.notification-modal-header::after,
.fullscreen-modal-header::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 25px;
  height: 34px;
  background: url('./assets/images/corner_tr.png') top right no-repeat;
  background-size: contain;
  z-index: 2;
}

.modal-close-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  color: #c9a227;
  font-size: 24px;
  cursor: pointer;
  z-index: 10;
  padding: 5px;
  line-height: 1;
}

.modal-close-btn:hover {
  color: #fff;
}

.notification-modal-header h2,
.fullscreen-modal h2 {
  margin: 0;
  color: #E6DCC1;
  font-size: 19px;
  font-weight: 400;
}


.notification-modal-body,
.fullscreen-modal-body {
  padding: 15px;
  position: relative;
}
.notification-modal-body::before,
.fullscreen-modal-body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #a59664, transparent);
  z-index: 2;
}

.fullscreen-modal p {
  color: #fff;
  font-size: 12px;
  font-family: 'Trajan', serif;
  margin-top: 0;
  margin-bottom: 15px;
  line-height: 1.5;
}

.fullscreen-modal-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.fullscreen-modal-buttons .nav-btn {
  min-width: 80px;
}

/* Capture Modal Buttons - Stacked */
.capture-modal-buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
  justify-content: center;
  margin-bottom: 20px;
}

.capture-modal-buttons .nav-btn-dark {
  width: 100%;
}

.capture-modal-buttons .nav-btn-dark span {
  width: 100%;
  display: block;
}

/* Cancel Button */
.cancel-btn {
  background: transparent;
  border: 1px solid rgba(230, 220, 193, 0.5);
  color: #E6DCC1;
  padding: 8px 20px;
  font-size: 12px;
  font-family: 'Trajan', serif;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.2s ease;
  margin-top: 10px;
}

.cancel-btn:hover {
  background: rgba(230, 220, 193, 0.1);
  border-color: rgba(230, 220, 193, 0.8);
}

/* Image Preview Modal */
.image-preview-content {
  max-width: 400px;
  max-height: 80vh;
}

.image-preview-container {
  width: 100%;
  max-height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.3);
}

.preview-image {
  max-width: 100%;
  max-height: 300px;
  object-fit: contain;
  display: block;
}

.preview-video {
  max-width: 100%;
  max-height: 300px;
  object-fit: contain;
  display: none;
}

.preview-video::-webkit-media-controls {
  display: flex !important;
  opacity: 1 !important;
}

.preview-video::-webkit-media-controls-panel {
  display: flex !important;
}

.image-preview-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 15px;
}

.image-preview-buttons .nav-btn-dark {
  flex: 1;
  min-width: 100px;
}

.image-preview-buttons .nav-btn-dark span {
  width: 100%;
  display: block;
}

/* Platform Selection */
.platform-selection {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.platform-btn {
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(230, 220, 193, 0.3);
  color: #E6DCC1;
  padding: 12px 20px;
  font-size: 14px;
  font-family: 'Trajan', serif;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
}

.platform-btn:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: rgba(230, 220, 193, 0.5);
}

.platform-btn.selected {
  background: rgba(201, 162, 39, 0.2);
  border-color: #c9a227;
  box-shadow: 0 0 20px rgba(201, 162, 39, 0.5), 0 0 40px rgba(201, 162, 39, 0.3);
  color: #c9a227;
}

.platform-btn.selected span {
  color: #c9a227;
}

/* Share Now Button */
.share-now-btn {
  width: 100%;
  background: linear-gradient(135deg, #c9a227 0%, #8b6914 100%);
  color: #000;
  padding: 12px 25px;
  font-size: 14px;
  font-weight: normal;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  letter-spacing: 1px;
  margin-bottom: 15px;
  box-shadow: 0 4px 15px rgba(201, 162, 39, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
  font-family: 'Trajan', serif;
}

.share-now-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(201, 162, 39, 0.6);
}

/* .intro-screen-content {
  padding: 40vw 40px 30vw 40px;
  border-radius: 20px;
  max-width: 90%;
  text-align:center;
} */

.got-logo {
  max-width: 280px;
  width: 100%;
}

.intro-logo {
  max-width: 340px;
  width: 100%;
  margin: auto;
  margin-bottom: 8px;
}

.intro-title {
  background: linear-gradient(to bottom, #F9D1A4 0%, #F9D1A4 50%, #FC3726 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: 'Trajan', 'Cinzel', serif;
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.intro-description {
  color: #fff;
  font-size: 16px;
  margin-bottom: 30px;
  line-height: 1.6;
}

/* UI Elements */
#instructions {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 15px 25px;
  border-radius: 12px;
  text-align: center;
  z-index: 100;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
  max-width: 90%;
}

/* Notifications */
.notification {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(102, 234, 126, 0.95);
  color: white;
  padding: 15px 30px;
  border-radius: 12px;
  font-size: 18px;
  font-weight: 600;
  z-index: 100;
  animation: slideDown 0.5s ease-out;
}

/* Debug Elements */
#debug-info {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(0, 0, 0, 0.8);
  color: #0f0;
  padding: 10px 15px;
  border-radius: 8px;
  font-size: 12px;
  font-family: monospace;
  z-index: 100;
  max-width: 300px;
  display: none;
}

#https-warning {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #ff4444;
  color: white;
  padding: 20px;
  text-align: center;
  z-index: 1000;
  font-weight: bold;
}

#status {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.8);
  color: #0f0;
  padding: 20px;
  border-radius: 10px;
  font-family: monospace;
  z-index: 999;
  text-align: center;
}

#onscreen-console {
  display: none;
  position: absolute;
  top: 100px;
  left: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.85);
  color: #0f0;
  padding: 10px;
  border-radius: 8px;
  font-family: monospace;
  font-size: 11px;
  z-index: 998;
  max-height: 200px;
  overflow-y: auto;
  pointer-events: none;
}

/* A-Frame Scene */
a-scene {
  display: block !important;
}

/* Video (camera feed) sits behind the WebGL canvas */
#shared-ar-scene video {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
}

/* Canvas (3D rendering) sits above video, transparent bg shows camera through */
#shared-ar-scene canvas {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

/* Ensure fly dragon button is above everything and clickable */
#fly-dragon-container {
  z-index: 10000 !important;
  pointer-events: auto !important;
}

#fly-dragon-btn {
  z-index: 10001 !important;
  pointer-events: auto !important;
  position: relative !important;
}

canvas,
video {
  display: block !important;
}

/* Hide 8th Wall loading screen */
.xr-loading,
[data-xr-loading],
#xr-loading,
.xr-overlay,
.xr-spinner,
[data-xr-spinner],
.loading,
.xr-unsupported {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Force 8th Wall video to be visible */
video[data-xr-video],
video[class*="xr"],
canvas[data-xr] {
  z-index: 0 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Animations */
@keyframes pulse {
  0%, 100% {
    opacity: 0.9;
    transform: translateX(-50%) scale(1);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) scale(1.05);
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* Fly Screen Button Container */
.fly-button-container {
  position: absolute;
  bottom: 80px; /* Position just above footer (footer is 90px) */
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  pointer-events: auto;
}

/* #screen-fly .nav-btn {
  background: linear-gradient(135deg, #c9a227 0%, #ff6b6b 100%);
  border: none;
  padding: 15px 30px;
  border-radius: 25px;
  color: white;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 4px 15px rgba(201, 162, 39, 0.3);
  transition: all 0.3s ease;
  min-width: 200px;
}

#screen-fly .nav-btn:hover {
  transform: translateX(-50%) scale(1.05);
  box-shadow: 0 6px 20px rgba(201, 162, 39, 0.5);
}

#screen-fly .nav-btn:active {
  transform: translateX(-50%) scale(0.95);
} */

/* Transition Panel Styles */
.transition-panel {
  /* position: fixed; */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 150;
  display: none;
  pointer-events: none;
  opacity: 0;
  background-color: #000;
  transition: opacity 0.8s ease-in-out;
}

/* When transition is showing/fading in, hide egg placement UI */
.transition-panel.fade-in ~ .screen #egg-placement-ui,
.transition-panel.fade-in ~ .screen #egg-placer-image,
.transition-panel.fade-in ~ .screen #place-egg-btn {
  visibility: hidden !important;
}

.transition-panel.fade-in {
  opacity: 1;
  pointer-events: auto;
}

.transition-panel.fade-out {
  opacity: 0;
  pointer-events: none;
}

/* Closing class - hides all modals inside transition panel */
.transition-panel.closing .notification-modal,
.transition-panel.closing .fullscreen-modal {
  display: none !important;
}

.transition-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}
