/*
 * Homepage look for every other page (legal, account, admin).
 * Loaded last on those pages, after their own <style> blocks, so it wins over
 * the older rd-/dashboard- styles: Orbitron titles, Inter text, node tags,
 * pink accent, cyan focus and bevelled panels (top left and bottom right cut,
 * like the homepage cards). Browsers without corner-shape get square corners.
 */
@import url('./home/fonts.css');

:root {
  --rd-display: 'Inter', system-ui, sans-serif;
  --font-sans: 'Inter', system-ui, sans-serif;
  --theme-heading: 'Orbitron', sans-serif;
  --theme-mono: 'JetBrains Mono', monospace;
  --theme-pink: #ff2e88;
  --theme-cyan: #29e0ff;
  --theme-purple: #b69bff;
  --theme-line: #ffffff1f;
}

body.site--rd {
  background: #060609;
  color: #f2f2f4;
  font-family: 'Inter', system-ui, sans-serif;
}

.site--rd :focus-visible { outline: 2px solid var(--theme-cyan); outline-offset: 3px; }

/* Background: pink/purple glow and a faint circuit grid instead of the red dots */
.site--rd .rd-bg {
  background:
    radial-gradient(60rem 40rem at 90% -10%, rgba(255, 46, 136, .10), transparent 60%),
    radial-gradient(50rem 40rem at -10% 110%, rgba(155, 107, 255, .08), transparent 60%),
    #060609;
}

.site--rd .rd-bg::before {
  background-image:
    linear-gradient(90deg, rgba(155, 107, 255, .05) 1px, transparent 1px),
    linear-gradient(rgba(155, 107, 255, .05) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* Navigation like on the homepage: brushed metal plate */
.site--rd .rd-nav { border-bottom: 1px solid #ffffff14; background: linear-gradient(transparent 55%, #ffffff0a), linear-gradient(#060608e6, #060608e6), url('../images/home/platform-metal.webp') center top / 1254px repeat, #0a0a0d; box-shadow: inset 0 0 90px 10px #000000b3; backdrop-filter: none; }
.site--rd .rd-nav__brand { gap: 10px; }
.site--rd .rd-nav__brand img { filter: brightness(0) invert(1); }
.site--rd .home-brand { color: #fff; font: 700 15px/1 var(--theme-heading); letter-spacing: .04em; }
.site--rd .home-brand span { color: #fff; }
.site--rd .rd-nav__links a { font-size: 12px; }
.site--rd .rd-nav__links a:hover { color: #ff6fae; }

/* Page heads: node tag, Orbitron title */
.site--rd .rd-head__tag,
.site--rd .dashboard-hero-pretitle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #96929f;
  font: 700 12px/1.5 var(--theme-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site--rd .rd-head__tag::before,
.site--rd .dashboard-hero-pretitle::before {
  content: '';
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--theme-pink);
  box-shadow: 0 0 14px var(--theme-pink);
}

.site--rd .rd-head__tag span,
.site--rd .dashboard-hero-pretitle span {
  padding-right: 10px;
  border-right: 1px solid #ffffff2e;
  color: var(--theme-pink);
}

.site--rd .rd-head__tag span::before,
.site--rd .dashboard-hero-pretitle span::before { content: '// '; }

.site--rd .rd-head__title,
.site--rd.rd-page .dashboard-hero-title {
  color: #f2f2f4;
  font: 800 clamp(30px, 4.6vw, 54px)/1.1 var(--theme-heading);
  letter-spacing: .01em;
  text-transform: uppercase;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Legal pages have long single words ("Datenschutzerklärung"): smaller title so they fit. */
.site--rd .rd-legal .rd-head__title { font-size: clamp(20px, 5vw, 38px); }

.site--rd .rd-head__lead,
.site--rd .dashboard-hero-lead { color: #a1a1ac; font-size: 15.5px; line-height: 1.7; }

/* Block titles and labels */
.site--rd .dashboard-admin-surface__title,
.site--rd .apps-admin-title,
.site--rd .restart-title,
.site--rd .logs-hero-insights-toggle__title,
.site--rd .rd-legal .subpage-section h2 {
  color: #f2f2f4;
  font: 700 15px/1.3 var(--theme-heading);
  letter-spacing: .03em;
  text-transform: uppercase;
}

.site--rd .dashboard-admin-surface__eyebrow,
.site--rd .apps-admin-eyebrow,
.site--rd .restart-eyebrow,
.site--rd .apps-admin-label,
.site--rd .restart-label,
.site--rd .dashboard-admin-form__label,
.site--rd .dashboard-admin-stat__label {
  color: #96929f;
  font-family: var(--theme-mono);
  letter-spacing: .12em;
}

.site--rd .dashboard-admin-surface__eyebrow,
.site--rd .apps-admin-eyebrow,
.site--rd .restart-eyebrow { color: var(--theme-pink); }

/* Inter for numbers: Orbitron's slashed zero reads like "Ø". */
.site--rd .dashboard-admin-stat__value { color: #f2f2f4; font-family: 'Inter', system-ui, sans-serif; font-weight: 800; }

/* Panels: bevelled corners like the homepage cards */
.site--rd :is(.dashboard-admin-surface, .admin-page-note, .apps-admin-card, .apps-admin-preview, .restart-card,
  .restart-preview__box, .logs-command-center, .logs-hero-insights-toggle, .logs-empty, .logs-legend-item,
  .logs-entry, .subpage-alert, .rd-status__note, .dashboard-admin-stat, .modal-dialog, .logs-modal-dialog) {
  border-radius: 0;
}

@supports (corner-shape: bevel) {
  .site--rd :is(.dashboard-admin-surface, .admin-page-note, .apps-admin-card, .restart-card, .logs-command-center,
    .logs-hero-insights-toggle, .logs-empty, .subpage-alert, .modal-dialog, .logs-modal-dialog) {
    border-radius: 18px 0;
    corner-shape: bevel;
  }

  .site--rd :is(.apps-admin-preview, .restart-preview__box, .logs-legend-item, .logs-entry, .rd-status__note, .dashboard-admin-stat) {
    border-radius: 10px 0;
    corner-shape: bevel;
  }
}

.site--rd :is(.dashboard-admin-surface, .apps-admin-card, .restart-card, .logs-command-center) {
  background:
    linear-gradient(160deg, rgba(155, 107, 255, .06), transparent 45%),
    rgba(10, 10, 15, .82);
}

/* Buttons: pink main action with dark text, ghost buttons like the dialogs */
.site--rd :is(.rd-btn--primary, .dashboard-btn--primary, .dashboard-admin-submit) {
  border-color: transparent;
  border-radius: 10px;
  background: var(--theme-pink);
  color: #0a0a0c;
  box-shadow: none;
  font-weight: 650;
}

.site--rd :is(.rd-btn--primary, .dashboard-btn--primary, .dashboard-admin-submit):hover {
  background: var(--theme-pink);
  color: #0a0a0c;
  box-shadow: 0 6px 30px #ff2e8838;
  transform: translateY(-1px);
}

.site--rd :is(.rd-btn--ghost, .dashboard-btn--ghost, .dashboard-btn:not(.dashboard-btn--primary)) { border-radius: 10px; }

.site--rd :is(.rd-btn--ghost, .dashboard-btn--ghost):hover {
  border-color: rgba(255, 46, 136, .55);
  background: rgba(255, 46, 136, .1);
  color: #ff6fae;
}

/* Legal text: readable links */
.site--rd.rd-legal .subpage-content a:not(.rd-btn),
.site--rd .rd-legal .subpage-content a:not(.rd-btn) {
  color: #f2f2f4;
  text-decoration: underline;
  text-decoration-color: rgba(255, 46, 136, .6);
  text-underline-offset: 3px;
}

.site--rd .rd-legal .subpage-content a:not(.rd-btn):hover { color: #ff6fae; }

/* 404: terminal log with the requested path */
.site--rd .rd-404__log {
  width: 100%;
  margin: 0 0 2rem;
  padding: 18px 20px;
  border: 1px solid #ffffff1a;
  border-left: 2px solid var(--theme-pink);
  background: rgba(10, 10, 15, .82);
  color: #d8d6de;
  font: 13px/1.8 var(--theme-mono);
  overflow-wrap: anywhere;
}

@supports (corner-shape: bevel) {
  .site--rd .rd-404__log { border-radius: 0 0 14px 0; corner-shape: bevel; }
}

.site--rd .rd-404__log p { margin: 0; }
.site--rd .rd-404__log p + p { margin-top: 2px; }
.site--rd .rd-404__prompt { color: var(--theme-pink); }
.site--rd .rd-404__error { color: #ff6b86; }
.site--rd .rd-404__out { color: var(--theme-cyan); }
.site--rd .rd-404__cursor { animation: rd-404-blink 1s steps(1) infinite; }
.site--rd .rd-404__actions { display: flex; flex-wrap: wrap; gap: 12px; }

@keyframes rd-404-blink { 50% { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .site--rd .rd-404__cursor { animation: none; }
}
.site--rd .legal-note { margin: .75rem 0 0; padding: 8px 12px; border-left: 2px solid var(--theme-cyan); background: #29e0ff0d; color: #a1a1ac; font-size: 13.5px; }
.site--rd .rd-nav__links a.is-current { color: #ff6fae; }
