/* Premium REV_001 drone styling */
.phasesky-drone {
  --silver: #d9e3ec;
  --dark: #0c0f15;
  --matte: #111826;
  --accent: #7dd5ff;
  --accent-soft: rgba(125, 213, 255, 0.55);
  --shadow-strong: 0 24px 68px rgba(0, 0, 0, 0.35);
  --shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.24);
  background: radial-gradient(circle at 50% 30%, rgba(125, 213, 255, 0.12), rgba(10, 14, 20, 0)),
    linear-gradient(180deg, rgba(9, 12, 17, 0.96), rgba(7, 10, 15, 0.88));
  border-radius: 18px;
  padding: 1.4rem 1.6rem 1.1rem;
  box-shadow: var(--shadow-strong);
}

.phasesky-drone__scene {
  position: relative;
  min-height: 360px;
  display: grid;
  place-items: center;
}

.phasesky-drone__svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 14px 20px rgba(0, 0, 0, 0.35));
}

.psk-root {
  transform: translate(0, 8px);
  transition: transform 680ms ease-in-out;
}

.phasesky-drone.is-exploded .psk-root {
  transform: translate(0, 8px);
}

.psk-frame,
.psk-pcb,
.psk-power,
.psk-arms,
.psk-motors,
.psk-props {
  transition: transform 700ms ease-in-out;
}

.psk-frame { fill: none; }

.frame-body {
  fill: var(--matte);
  stroke: #0b101c;
  stroke-width: 2.4;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.38));
}

.frame-stripe {
  fill: var(--accent);
  opacity: 0.7;
}

.pcb-base {
  fill: #0f1624;
  stroke: var(--accent);
  stroke-width: 2;
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35));
}

.pcb-trace {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.9;
}

.power-base {
  fill: #10141f;
  stroke: var(--silver);
  stroke-width: 1.8;
}

.power-band {
  fill: var(--accent-soft);
}

.psk-arm .arm-body {
  fill: #0f1522;
  stroke: #171e2d;
  stroke-width: 1.4;
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, 0.32));
}

.psk-arm .arm-inset {
  fill: rgba(125, 213, 255, 0.26);
  stroke: rgba(125, 213, 255, 0.18);
  stroke-width: 0.8;
}

.psk-motor .motor-bell {
  fill: var(--silver);
  stroke: #bec8d4;
  stroke-width: 1.6;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
}

.psk-motor .motor-body {
  fill: #0d121b;
  stroke: #1a2436;
  stroke-width: 1.2;
}

.psk-motor .motor-hub {
  fill: var(--accent);
  stroke: #5ca1c7;
  stroke-width: 1;
}

.psk-prop .prop-blade {
  fill: #c5d2de;
  stroke: #9fb3c5;
  stroke-width: 0.9;
  opacity: 0.95;
  transform-origin: center;
}

.psk-prop .prop-hub {
  fill: #121927;
  stroke: var(--accent);
  stroke-width: 0.9;
}

.psk-halo {
  opacity: 0.7;
}

/* Exploded offsets */
.phasesky-drone.is-exploded .psk-pcb {
  transform: translate(4px, -46px);
}

.phasesky-drone.is-exploded .psk-power {
  transform: translate(-4px, 48px);
}

.phasesky-drone.is-exploded .psk-frame {
  transform: translate(0px, 8px);
}

.phasesky-drone.is-exploded .motor-unit[data-position='front-left'],
.phasesky-drone.is-exploded .prop-unit[data-position='front-left'] {
  transform: translate(-92px, -46px);
}

.phasesky-drone.is-exploded .motor-unit[data-position='front-right'],
.phasesky-drone.is-exploded .prop-unit[data-position='front-right'] {
  transform: translate(92px, -46px);
}

.phasesky-drone.is-exploded .motor-unit[data-position='rear-left'],
.phasesky-drone.is-exploded .prop-unit[data-position='rear-left'] {
  transform: translate(-92px, 46px);
}

.phasesky-drone.is-exploded .motor-unit[data-position='rear-right'],
.phasesky-drone.is-exploded .prop-unit[data-position='rear-right'] {
  transform: translate(92px, 46px);
}

/* Labels */
.phasesky-drone__labels {
  font-family: var(--font-family);
  letter-spacing: 0.08em;
}

.phasesky-drone__label {
  background: rgba(9, 12, 18, 0.85);
  border: 1px solid rgba(125, 213, 255, 0.28);
  color: var(--color-primary);
  padding: 0.3rem 0.5rem;
  font-weight: 600;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 420ms ease-in-out 120ms;
  box-shadow: var(--shadow-soft);
}

.phasesky-drone.is-exploded .phasesky-drone__label {
  opacity: 1;
}

.phasesky-drone__leader {
  height: 1px;
  background: linear-gradient(90deg, rgba(125, 213, 255, 0.9), rgba(125, 213, 255, 0));
  opacity: 0.8;
}
