html, body { padding: 0; margin: 0; width: 100%; height: 100%; background: #0A0A12; overflow: hidden; }
#unity-container { position: fixed; inset: 0; width: 100%; height: 100%; }
#unity-container.unity-desktop,
#unity-container.unity-mobile { left: 0; top: 0; transform: none; width: 100%; height: 100%; }
#unity-canvas { display: block; width: 100% !important; height: 100% !important; background: #0A0A12; }
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none; z-index: 5; }
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center; background-size: contain; filter: invert(1); }
#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; right: 12px; bottom: 12px; z-index: 6; display: flex; align-items: center; gap: 10px; }
#unity-webgl-logo, #unity-build-title { display: none; }
#unity-fullscreen-button { cursor: pointer; width: 38px; height: 38px; background: rgba(255,255,255,0.9) url('fullscreen-button.png') no-repeat center; border-radius: 8px; }
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none; z-index: 10; }
#orca-mobile-controls { display: none; }

html.orca-mobile-mode #orca-mobile-controls,
body.orca-mobile-mode #orca-mobile-controls,
#unity-container.orca-mobile-mode #orca-mobile-controls,
#unity-container:fullscreen #orca-mobile-controls,
#unity-container:-webkit-full-screen #orca-mobile-controls {
  position: absolute;
  left: max(12px, env(safe-area-inset-left));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 2147483647;
  display: flex;
  transform: none;
  gap: 8px;
  touch-action: none;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  contain: layout paint;
}

html.orca-mobile-mode .orca-control-button,
body.orca-mobile-mode .orca-control-button,
#unity-container.orca-mobile-mode .orca-control-button {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 999px;
  background: rgba(10,10,18,0.72);
  box-shadow: 0 14px 34px rgba(0,0,0,0.28);
  color: #fff;
  cursor: pointer;
  font: 900 20px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.08em;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  -webkit-tap-highlight-color: transparent;
  pointer-events: auto;
  touch-action: none;
}

html.orca-mobile-mode .orca-control-button.is-active,
body.orca-mobile-mode .orca-control-button.is-active,
#unity-container.orca-mobile-mode .orca-control-button.is-active {
  background: rgba(139,53,232,0.88);
  border-color: rgba(255,255,255,0.45);
  transform: translateY(1px);
}

@media (max-width: 768px) {
  #orca-mobile-controls {
    position: absolute;
    left: max(12px, env(safe-area-inset-left));
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 2147483647;
    display: flex;
    transform: none;
    gap: 8px;
    touch-action: none;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    contain: layout paint;
  }

  .orca-control-button {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 999px;
    background: rgba(10,10,18,0.72);
    box-shadow: 0 14px 34px rgba(0,0,0,0.28);
    color: #fff;
    cursor: pointer;
    font: 900 20px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0.08em;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    -webkit-tap-highlight-color: transparent;
    pointer-events: auto;
    touch-action: none;
  }

  .orca-control-button.is-active {
    background: rgba(139,53,232,0.88);
    border-color: rgba(255,255,255,0.45);
    transform: translateY(1px);
  }

  #unity-container:fullscreen #orca-mobile-controls,
  #unity-container:-webkit-full-screen #orca-mobile-controls {
    display: flex;
  }
}
