:root {
  /* Palette : panneaux semi-transparents (raccourcis) sur fond photo. */
  --ui-font: system-ui, sans-serif;
  --ui-radius: 8px;
  --ui-panel-bg: rgba(20, 20, 20, 0.55);
  --ui-panel-bg-hover: rgba(20, 20, 20, 0.75);
  --ui-panel-border: rgba(255, 255, 255, 0.25);
  --ui-panel-fg: white;
  --ui-menu-bg: rgba(20, 20, 20, 0.85);
  --ui-menu-item-hover-bg: rgba(255, 255, 255, 0.15);
  --ui-accent: #e63946;

  --ui-z-overlay: 10;
}

html, body { margin: 0; height: 100%; }
#viewer { width: 100vw; height: 100vh; }
.psv-marker { cursor: pointer !important; }
.caption-link { color: inherit; text-decoration: none; }

#shortcuts {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: var(--ui-z-overlay);
  font-family: var(--ui-font);
  user-select: none;
}
#shortcuts-toggle {
  cursor: pointer;
  background: var(--ui-panel-bg);
  border: 1px solid var(--ui-panel-border);
  border-radius: var(--ui-radius);
  color: var(--ui-panel-fg);
  font-size: 14px;
  line-height: 1;
  padding: 10px 12px;
  white-space: nowrap;
}
#shortcuts-toggle:hover { background: var(--ui-panel-bg-hover); }
#shortcuts-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 200px;
  background: var(--ui-menu-bg);
  border: 1px solid var(--ui-panel-border);
  border-radius: var(--ui-radius);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
#shortcuts-menu[hidden] { display: none; }
#shortcuts-menu button {
  cursor: pointer;
  background: none;
  border: none;
  color: var(--ui-panel-fg);
  font-size: 14px;
  text-align: left;
  padding: 8px 10px;
  border-radius: 5px;
  white-space: nowrap;
}
#shortcuts-menu button:hover { background: var(--ui-menu-item-hover-bg); }
#shortcuts-menu button.current { color: var(--ui-accent); font-weight: 600; }
