body { padding: 0; margin: 0 }
#unity-container { position: absolute }
#unity-container { width: 100%; height: 100% }
#unity-canvas { background: #231F20 }
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
#unity-footer { position: fixed; width: 100%; bottom: 0; margin-top: 5px; line-height: 38px; }
#unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
#unity-fullscreen-button { cursor:pointer; float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
#unity-webxr-link { float: left; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }

/* Sala de calma: botón grande y legible para entrar en VR */
#entervr { float: right; height: 38px; padding: 0 16px; margin-left: 8px; border: 0; border-radius: 6px; font: 600 16px system-ui, sans-serif; }
#entervr:enabled { background-color: #22333a; color: #faf5eb; cursor: pointer; }
#entervr:disabled { background-color: #e4ddd2; color: #8a8278; }
#enterar { display: none; }

/* ───────── Portada de la Sala de calma ───────── */
#portada {
  position: fixed; inset: 0; z-index: 10;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px;
  padding: 24px 20px;
  background: radial-gradient(circle at 50% 30%, #fbf3e6 0%, #efe2ce 70%, #e6d7c0 100%);
  color: #22333a;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  overflow-y: auto;
  opacity: 1; transition: opacity .6s ease;
}
#portada.portada-oculta { opacity: 0; pointer-events: none; }

#portada-tarjeta {
  max-width: 660px; width: 100%;
  background: rgba(255, 253, 249, .82);
  border: 1px solid rgba(34, 51, 58, .10);
  border-radius: 18px;
  padding: 32px 34px 26px;
  box-shadow: 0 12px 40px rgba(34, 51, 58, .10);
  text-align: center;
}
/* El logotipo de UPRAISE es en negativo: va sobre una banda oscura */
#portada-logo-marco {
  display: inline-flex; align-items: center; justify-content: center;
  background: #22333a; border-radius: 12px; padding: 12px 22px; margin-bottom: 20px;
}
#portada-logo { height: 40px; width: auto; display: block; }
#portada-logo-texto { font-weight: 700; letter-spacing: .22em; font-size: 22px; color: #faf5eb; }

#portada h1 { margin: 0; font-size: 42px; font-weight: 600; letter-spacing: .01em; }
.portada-lema { margin: 6px 0 18px; font-size: 18px; color: #5b6b70; }
.portada-texto { margin: 0 0 14px; font-size: 17px; line-height: 1.55; text-align: left; }
.portada-texto strong { font-weight: 600; }
.portada-como { margin: 0 0 24px; font-size: 15px; line-height: 1.5; color: #5b6b70; text-align: left; }

#portada-botones { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
#portada-botones button {
  font: 600 18px/1 system-ui, sans-serif;
  padding: 16px 30px; min-height: 52px;
  border: 0; border-radius: 10px; cursor: pointer;
  transition: background-color .2s ease, transform .1s ease;
}
#portada-entrar { background: #22333a; color: #faf5eb; }
#portada-entrar:hover:enabled { background: #2d454f; }
#portada-entrar:disabled { background: #cfc5b6; color: #7c7468; cursor: progress; }
#portada-vr { background: #edb87a; color: #22333a; }
#portada-vr:hover { background: #f2c78f; }
#portada-botones button:active:enabled { transform: translateY(1px); }
#portada-botones button:focus-visible { outline: 3px solid #35586b; outline-offset: 3px; }

#portada-progreso { height: 4px; margin-top: 18px; border-radius: 2px; background: rgba(34, 51, 58, .12); overflow: hidden; }
#portada-progreso-relleno { width: 0; height: 100%; background: #35586b; transition: width .2s ease; }

#portada-pie {
  max-width: 660px; width: 100%;
  background: #22333a; color: #d7dfe1;
  border-radius: 14px; padding: 16px 22px;
  font-size: 13px; line-height: 1.5; text-align: center;
}
#portada-pie p { margin: 0 0 4px; }
#portada-pie strong { color: #f3ece0; font-weight: 600; }
#portada-pie a { color: #edb87a; }
#portada-pie-marcas { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 22px; margin-bottom: 12px; }
.portada-marca { height: 42px; width: auto; }
.portada-marca-clara { height: 34px; background: #fff; border-radius: 4px; padding: 5px 8px; }
.portada-marca-ue { height: 34px; }   /* versión en negativo: ya es blanca sobre fondo oscuro */
.portada-financiacion { color: #9fb0b4; font-size: 11.5px; }

@media (max-width: 520px) {
  #portada-tarjeta { padding: 24px 20px 20px; }
  #portada h1 { font-size: 32px; }
  .portada-texto { font-size: 16px; }
  #portada-botones button { width: 100%; }
}

/* Selector de idioma de la portada (como en Carga completa) */
.portada-selector { display: inline-flex; align-items: center; gap: 4px; margin: 0 6px 12px; padding: 4px;
  background: rgba(11, 58, 82, .07); border-radius: 12px; flex-wrap: wrap; justify-content: center; }
.portada-selector button { font: 500 15px/1 system-ui, sans-serif; color: #0b3a52; background: transparent;
  border: 0; border-radius: 9px; padding: 10px 14px; cursor: pointer; }
.portada-selector button:hover { background: rgba(11, 58, 82, .08); }
.portada-selector button[aria-checked="true"] { background: #fffdf9; box-shadow: 0 1px 4px rgba(11, 58, 82, .18); font-weight: 600; }
.portada-selector button:focus-visible { outline: 3px solid #129468; outline-offset: 2px; }
