/* =====================================================
   THEME-LN — Leo & Nora Page Visual Identity
   ALL rules are prefixed with .theme-ln for strict scoping.
   This file must NEVER affect any other page.
   ===================================================== */

/* ── 1. PALETTE OVERRIDE ────────────────────────────── */
.theme-ln {
  --color-bg:           #0D0806;
  --color-surface:      #130E09;
  --color-surface-high: #1C1510;
  --color-border:       rgba(255,184,48,0.08);

  --color-primary:      #FFB830;
  --color-secondary:    #FF4E8C;
  --color-tertiary:     #00D4C8;

  --color-glow-primary: rgba(255,184,48,0.18);
  --color-glow-rose:    rgba(255,78,140,0.14);
  --color-glow-teal:    rgba(0,212,200,0.12);

  --color-text-primary:   #FFF4E0;
  --color-text-secondary: #8A6E4A;
  --color-text-muted:     #3A2A18;

  /* Override site accent tokens */
  --accent:    #FFB830;
  --secondary: #FF4E8C;
  --bg:        #0D0806;
  --surface:   #130E09;
  --text:      #FFF4E0;
  --text-dim:  #8A6E4A;
  --border:    rgba(255,184,48,0.08);

  background-color: #0D0806;
  color: #FFF4E0;
  /* Warm sacred fire glow radiating from below */
  background-image: radial-gradient(ellipse at 50% 110%, rgba(255,140,20,0.06) 0%, transparent 70%);
}

/* ── 2. MANDALA DOT GRID OVERLAY ────────────────────── */
.theme-ln::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,184,48,0.025) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
}

/* ── 3. HIDE GLOBAL CURSOR ──────────────────────────── */
.theme-ln {
  cursor: none;
}

.theme-ln .cursor__dot,
.theme-ln .cursor__ring {
  display: none !important;
}

/* ── 4. NAV PROGRESS BAR ────────────────────────────── */
.theme-ln #navProgress {
  background: linear-gradient(to right, #FFB830, #FF4E8C) !important;
}

/* ── 5. HERO OVERRIDES ──────────────────────────────── */
.theme-ln .project-detail__hero-overlay {
  background: linear-gradient(
    to top,
    rgba(13,8,6,0.95) 0%,
    rgba(255,100,20,0.06) 40%,
    rgba(13,8,6,0.3) 100%
  ) !important;
}

/* Sanskrit-inspired top/bottom border on hero */
.theme-ln .project-detail__hero::before,
.theme-ln .project-detail__hero::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 12px;
  pointer-events: none;
  z-index: 4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='12'%3E%3Ccircle cx='20' cy='6' r='1.5' fill='rgba(255,184,48,0.12)'/%3E%3Crect x='14' y='5' width='4' height='4' transform='rotate(45 16 7)' fill='none' stroke='rgba(255,184,48,0.10)' stroke-width='0.8'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
}

.theme-ln .project-detail__hero::before {
  top: 12px;
}

.theme-ln .project-detail__hero::after {
  bottom: 12px;
}

/* Hero watermark tint */
.theme-ln .hero-watermark {
  color: rgba(255,184,48,0.06);
}

/* Hero badge */
.theme-ln .ln-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: #FFB830;
  text-shadow: 0 0 12px rgba(255,184,48,0.6);
  margin-bottom: 14px;
}

/* Hero title split entrance animation */
.theme-ln .project-title .ln-leo {
  display: inline-block;
  animation: lnSlideFromLeft 0.8s cubic-bezier(0.2, 0.9, 0.3, 1) forwards;
  opacity: 0;
}

.theme-ln .project-title .ln-nora {
  display: inline-block;
  animation: lnSlideFromRight 0.8s cubic-bezier(0.2, 0.9, 0.3, 1) forwards;
  opacity: 0;
}

.theme-ln .project-title .ln-amp {
  display: inline-block;
  animation: lnFadeIn 0.5s ease 0.4s forwards;
  opacity: 0;
}

@keyframes lnSlideFromLeft {
  0%   { transform: translateX(-40px); opacity: 0; }
  100% { transform: translateX(0);     opacity: 1; }
}

@keyframes lnSlideFromRight {
  0%   { transform: translateX(40px); opacity: 0; }
  100% { transform: translateX(0);    opacity: 1; }
}

@keyframes lnFadeIn {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

/* ── 6. SECTION ACCENT OVERRIDES ────────────────────── */
.theme-ln .section__label,
.theme-ln .reel-label,
.theme-ln .tech-label,
.theme-ln .project-breadcrumb,
.theme-ln .project-number {
  color: #FFB830;
}

.theme-ln .project-pill {
  border-color: rgba(255,184,48,0.3);
  color: #FFB830;
}

.theme-ln .tech-tag {
  color: #FFB830;
  border-color: rgba(255,184,48,0.25);
}

.theme-ln .tech-card {
  background: #130E09;
  border-color: rgba(255,184,48,0.1);
}

.theme-ln .tech-card:hover {
  border-color: #FFB830;
  box-shadow: 0 0 32px rgba(255,184,48,0.2);
}

.theme-ln .tech-card__num {
  color: rgba(255,184,48,0.2);
}

.theme-ln .tech-card__icon i {
  color: #FFB830;
}

.theme-ln .reel-dot.active,
.theme-ln .reel-dot:hover {
  background: #FFB830;
  box-shadow: 0 0 8px rgba(255,184,48,0.7);
}

/* ── 7. TERMINAL OVERRIDE ───────────────────────────── */
.theme-ln .terminal-box {
  border-color: rgba(255,184,48,0.25) !important;
  box-shadow: 0 0 32px rgba(255,184,48,0.08), inset 0 0 24px rgba(255,184,48,0.04) !important;
  animation: terminalAmberPulse 4s ease-in-out infinite;
}

@keyframes terminalAmberPulse {
  0%, 100% { box-shadow: 0 0 32px rgba(255,184,48,0.08), inset 0 0 24px rgba(255,184,48,0.04); }
  50%       { box-shadow: 0 0 48px rgba(255,184,48,0.14), inset 0 0 32px rgba(255,184,48,0.07); }
}

.theme-ln .terminal-line {
  color: #C8A060 !important;
}

.theme-ln .terminal-line--accent,
.theme-ln .terminal-box .terminal-line span {
  color: #FFB830 !important;
}

.theme-ln .terminal-cursor {
  background: #FFB830 !important;
  box-shadow: 0 0 8px rgba(255,184,48,0.9) !important;
}

/* ── 8. WARP SECTION TINT ───────────────────────────── */
.theme-ln .project-warp {
  background: #0D0806;
  border-top: 1px solid rgba(255,184,48,0.1);
}

.theme-ln .warp-center-col {
  color: rgba(255,184,48,0.35);
}

/* ── 9. PROSE DESCRIPTION TINT ─────────────────────── */
.theme-ln .prose-desc p {
  color: #C8A060;
}

/* ── 10. TEXT SELECTION ─────────────────────────────── */
.theme-ln ::selection {
  background: rgba(255,184,48,0.3);
  color: #FFF4E0;
  text-shadow: 0 0 8px rgba(255,184,48,0.7);
}

.theme-ln ::-moz-selection {
  background: rgba(255,184,48,0.3);
  color: #FFF4E0;
  text-shadow: 0 0 8px rgba(255,184,48,0.7);
}

/* ── 11. CLICK ANIMATIONS ───────────────────────────── */
@keyframes lotusFlash {
  0%   { opacity: 1; transform: translate(-50%,-50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(4); }
}

@keyframes petalBloom {
  0%   { width: 0px; opacity: 1; }
  60%  { opacity: 0.9; }
  100% { width: 36px; opacity: 0; }
}

@keyframes lotusRing {
  0%   { width: 0; height: 0; opacity: 1; }
  100% { width: 90px; height: 90px; opacity: 0; }
}

/* ── 12. SACRED PULSE ANIMATION ─────────────────────── */
@keyframes sacredPulse {
  0%   { width: 0; height: 0; opacity: 1; }
  100% { width: 180vmax; height: 180vmax; opacity: 0; }
}

/* ── 13. SURFACE / CARD ─────────────────────────────── */
.theme-ln .tech-card__title {
  color: #FFF4E0;
}

/* ── 14. HERO CONTENT Z-INDEX ───────────────────────── */
.theme-ln .project-detail__hero-content {
  position: relative;
  z-index: 3;
}

.theme-ln .project-detail__hero {
  position: relative;
  overflow: hidden;
}
