﻿/* 龍記 AI — 精靈進度條模組樣式（wizard-progress.js 配套） */
.lungkee-ai-chat__wizard-progress-row {
 display: block;
 width: 100%;
 flex-shrink: 0;
 min-height: 0;
 box-sizing: border-box;
}

.lungkee-ai-chat__wizard-progress-caption {
 margin: 0 0 4px;
 padding: 0 2px;
 font-size: 12px;
 line-height: 1.35;
 font-weight: 600;
 letter-spacing: 0.02em;
 text-align: center;
 color: #14532d;
}

.lungkee-ai-chat__wizard-progress-caption[hidden] {
 display: none !important;
}

.lungkee-ai-chat--maint-suite .lungkee-ai-chat__wizard-progress-caption {
 color: rgba(226, 232, 240, 0.92);
 text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.lungkee-ai-chat__wizard-progress-row[hidden] {
 display: none !important;
}

.lungkee-ai-chat__wizard-progress--dock {
 width: 100%;
 padding: 2px 0 6px;
 box-sizing: border-box;
 flex-shrink: 0;
}

.lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-track {
 width: 100%;
 height: 8px;
 min-height: 8px;
 flex-shrink: 0;
 border-radius: 999px;
 background: rgba(15, 23, 42, 0.12);
 border: 1px solid rgba(26, 95, 74, 0.22);
 overflow: hidden;
 box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-fill {
 display: block;
 height: 100%;
 min-height: 8px;
 width: 0;
 min-width: 0;
 border-radius: inherit;
 background: linear-gradient(90deg, #1a5f4a 0%, #2d8f6f 55%, #5eead4 100%);
 box-shadow: 0 0 8px rgba(45, 143, 111, 0.45);
 transition: width 0.4s ease;
}

.lungkee-ai-chat--maint-suite .lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-track {
 background: rgba(148, 163, 184, 0.28);
 border-color: rgba(125, 211, 252, 0.35);
 box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}

.lungkee-ai-chat--maint-suite .lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-fill:not([class*='is-wizard-progress--']) {
 background: linear-gradient(90deg, #0284c7 0%, #38bdf8 50%, #7dd3fc 100%);
 box-shadow: 0 0 10px rgba(56, 189, 248, 0.55);
}

.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--gradient {
 background: linear-gradient(
  90deg,
  var(--lj-wizard-progress-primary, #1a5f4a) 0%,
  #2d8f6f 55%,
  #5eead4 100%
 );
}

.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--breathe {
 animation: lj-wizard-progress-breathe 2.4s ease-in-out infinite;
}

.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--spark::after {
 content: '';
 position: absolute;
 top: 50%;
 right: 0;
 width: 10px;
 height: 10px;
 margin-top: -5px;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.95);
 box-shadow: 0 0 8px rgba(255, 255, 255, 0.85);
 animation: lj-wizard-progress-spark 1.2s ease-in-out infinite;
}

.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer {
 position: relative;
 overflow: hidden;
}

.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::before {
 content: '';
 position: absolute;
 inset: 0;
 border-radius: inherit;
 pointer-events: none;
 background: linear-gradient(
  105deg,
  transparent 0%,
  transparent 38%,
  var(--lj-wizard-progress-shimmer-highlight, rgba(255, 255, 255, 0.92)) 50%,
  transparent 62%,
  transparent 100%
 );
 background-size: 220% 100%;
 background-position: 200% 0;
 opacity: var(--lj-wizard-progress-shimmer-intensity, 0.65);
 animation: lj-wizard-progress-shimmer 2s linear infinite;
 mix-blend-mode: screen;
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-pulse_shimmer
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer.is-wizard-progress--breathe {
 animation: lj-wizard-progress-breathe 2.4s ease-in-out infinite;
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress--no-anim
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::before,
.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer.is-wizard-progress--no-anim::before {
 animation: none !important;
 opacity: 0 !important;
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress--dim-pending
 .lungkee-ai-chat__wizard-progress-track {
 opacity: 0.55;
}

.lungkee-ai-chat__wizard-progress--no-anim .lungkee-ai-chat__wizard-progress-fill,
.lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--no-anim {
 animation: none !important;
 transition: width 0.15s linear !important;
}

.lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-fill {
 position: relative;
}

@keyframes lj-wizard-progress-breathe {
 0%,
 100% {
  opacity: 1;
  filter: brightness(1);
 }
 50% {
  opacity: 0.82;
  filter: brightness(1.08);
 }
}

@keyframes lj-wizard-progress-spark {
 0%,
 100% {
  opacity: 0.35;
  transform: scale(0.85);
 }
 50% {
  opacity: 1;
  transform: scale(1.15);
 }
}

@keyframes lj-wizard-progress-shimmer {
 0% {
  background-position: 200% 0;
 }
 100% {
  background-position: -200% 0;
 }
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-minimal_flat
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-track {
 height: 6px;
 min-height: 6px;
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-minimal_flat
 .lungkee-ai-chat__wizard-progress-fill {
 box-shadow: none;
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-minimal_flat
 .lungkee-ai-chat__wizard-progress-fill:not(.is-wizard-progress--gradient) {
 background: var(--lj-wizard-progress-primary, #0d6efd);
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-pulse_shimmer
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--gradient {
 filter: saturate(1.12);
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-track {
 position: relative;
 overflow: visible;
 height: 10px;
 min-height: 10px;
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-fill {
 position: relative;
 min-height: 10px;
 box-shadow: 0 0 8px rgba(94, 234, 212, 0.28);
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--gradient {
 filter: saturate(1.15) brightness(1.05);
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer {
 overflow: visible;
}

/* 順滑流光（全程） */
.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 42%;
 height: 100%;
 border-radius: inherit;
 pointer-events: none;
 background: linear-gradient(
  90deg,
  transparent 0%,
  rgba(255, 255, 255, 0.28) 38%,
  rgba(255, 255, 255, 0.88) 50%,
  rgba(255, 255, 255, 0.28) 62%,
  transparent 100%
 );
 opacity: 0.9;
 will-change: transform;
 transform: translate3d(-130%, 0, 0);
 animation: lj-wizard-progress-shimmer-slide 2.1s linear infinite;
}

/* 尾端光點（貼 bar 右端，唔用星形字）— 每步 pulse 到位閃一下 */
.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::after {
 content: '';
 position: absolute;
 top: 50%;
 right: 0;
 width: 12px;
 height: 12px;
 margin: 0;
 border-radius: 50%;
 pointer-events: none;
 transform: translate3d(50%, -50%, 0) scale(0.4);
 opacity: 0;
 background: radial-gradient(
  circle,
  rgba(255, 255, 255, 1) 0%,
  rgba(255, 255, 255, 0.92) 42%,
  rgba(186, 230, 253, 0.55) 68%,
  transparent 78%
 );
 box-shadow:
  0 0 6px rgba(255, 255, 255, 0.95),
  0 0 14px rgba(125, 211, 252, 0.75);
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer.is-wizard-progress--tail-spark::after {
 animation: lj-wizard-progress-tail-hit 0.44s ease-out 1 forwards;
}

.lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-bright_star_finish
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::after {
 box-shadow:
  0 0 8px rgba(255, 255, 255, 1),
  0 0 18px rgba(56, 189, 248, 0.85);
}

@keyframes lj-wizard-progress-shimmer-slide {
 0% {
  transform: translate3d(-130%, 0, 0);
 }
 100% {
  transform: translate3d(320%, 0, 0);
 }
}

@keyframes lj-wizard-progress-tail-hit {
 0% {
  opacity: 0.15;
  transform: translate3d(50%, -50%, 0) scale(0.35);
  filter: brightness(1);
 }
 28% {
  opacity: 1;
  transform: translate3d(50%, -50%, 0) scale(1.35);
  filter: brightness(2.1);
 }
 100% {
  opacity: 0;
  transform: translate3d(50%, -50%, 0) scale(0.55);
  filter: brightness(1);
 }
}

.lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-calm_static
 .lungkee-ai-chat__wizard-progress-fill {
 box-shadow: none;
}

.lungkee-ai-chat-float-layer .lungkee-ai-chat__wizard-progress-row,
#longji-ai-float-layer .lungkee-ai-chat__wizard-progress-row,
.lungkee-ai-chat-float-layer .lungkee-ai-chat__wizard-progress--dock,
#longji-ai-float-layer .lungkee-ai-chat__wizard-progress--dock {
 width: 100% !important;
 max-width: 100% !important;
 flex-shrink: 0 !important;
 box-sizing: border-box !important;
}

#longji-ai-float-layer .lungkee-ai-chat--maint-suite .lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-track,
.lungkee-ai-chat-float-layer .lungkee-ai-chat--maint-suite .lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-track {
 background: rgba(148, 163, 184, 0.38);
 border-color: rgba(125, 211, 252, 0.45);
}

#longji-ai-float-layer
 .lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-fill:not([class*='is-wizard-progress--']),
.lungkee-ai-chat-float-layer
 .lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-fill:not([class*='is-wizard-progress--']) {
 background: linear-gradient(90deg, #0284c7 0%, #38bdf8 50%, #7dd3fc 100%);
 box-shadow: 0 0 12px rgba(56, 189, 248, 0.65);
}

.lungkee-ai-chat--maint-suite .lungkee-ai-chat__wizard-progress--dock .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--gradient,
#longji-ai-float-layer
 .lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--gradient,
.lungkee-ai-chat-float-layer
 .lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--gradient {
 background: linear-gradient(
  90deg,
  var(--lj-wizard-progress-primary, #0284c7) 0%,
  #38bdf8 55%,
  #7dd3fc 100%
 );
}

.lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress-row[class*='is-wizard-progress-style-']
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer,
#longji-ai-float-layer
 .lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress-row[class*='is-wizard-progress-style-']
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::before,
.lungkee-ai-chat-float-layer
 .lungkee-ai-chat--maint-suite
 .lungkee-ai-chat__wizard-progress-row[class*='is-wizard-progress-style-']
 .lungkee-ai-chat__wizard-progress-fill.is-wizard-progress--shimmer::before {
 mix-blend-mode: screen;
}

#longji-ai-float-layer
 .lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-minimal_flat
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-track,
.lungkee-ai-chat-float-layer
 .lungkee-ai-chat__wizard-progress-row.is-wizard-progress-style-minimal_flat
 .lungkee-ai-chat__wizard-progress--dock
 .lungkee-ai-chat__wizard-progress-track {
 height: 6px !important;
 min-height: 6px !important;
}

