@import url("/assets/v36.css?v=1");

/* V37: eine hellere, lebendigere Heimat mit klaren Lichtinseln. */
.game[data-echo-core="sleeping"]{--scene-light:1.04;--scene-saturation:1.02;--scene-contrast:1.02;--structure-light:1.14}
.game[data-echo-core="awakening"]{--scene-light:1.24;--scene-saturation:1.12;--scene-contrast:1;--structure-light:1.42}
.game[data-echo-core="awake"]{--scene-light:1.14;--scene-saturation:1.08;--scene-contrast:1.01;--structure-light:1.3}
.shade{
  background:
    linear-gradient(90deg,rgba(2,5,12,.18) 0,transparent 17%,transparent 83%,rgba(2,5,12,.16) 100%),
    linear-gradient(180deg,rgba(2,5,12,.06),transparent 34%,transparent 84%,rgba(2,5,12,.16));
}
.game[data-v32-phase="seed"] .shade{
  background:radial-gradient(circle at var(--echo-nest-x) var(--echo-nest-y),transparent 0 32%,rgba(2,6,12,.05) 53%,rgba(1,3,8,.24) 100%);
}
.game[data-v32-phase] .world-ui:before{
  background:
    radial-gradient(circle at var(--echo-nest-x) var(--echo-nest-y),rgba(83,220,231,.24),rgba(55,174,186,.1) 18%,transparent 38%),
    radial-gradient(circle at 18% 70%,rgba(72,224,230,.24),rgba(42,155,167,.09) 15%,transparent 31%);
  opacity:1;
}

/* Sichtbarer Kern ist kleiner als die großzügige, fingerfreundliche Hitfläche. */
.echo-seed{width:84px;height:84px}
.echo-seed__core{inset:30px}
.echo-seed__ring{inset:19px}
.echo-nest-core{width:94px;height:94px}
.echo-nest-core:before{inset:8px}
.echo-nest-core:after{inset:22px}
.echo-nest-core i{inset:36px}
.echo-nest-core span{top:86px}
.echo-heartbeat{width:144px;height:144px}
.echo-heartbeat i:nth-child(2){inset:24px}

/* Die Felsquelle erhält eine eigene Lichtinsel statt zweifacher Abdunklung. */
.followup--nature:before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;top:52%;
  width:185%;height:156%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(81,231,236,.34) 0,rgba(54,176,188,.15) 31%,rgba(21,82,93,.07) 53%,transparent 72%);
  filter:blur(7px);
  mix-blend-mode:screen;
  pointer-events:none;
}
.game[data-v32-phase="storage"] .followup--nature,
.game[data-v32-phase="source"][data-assignment-step="worker"] .followup--nature,
.game[data-v32-phase="source"][data-assignment-step="target"] .followup--nature,
.game[data-v32-phase="harvest"] .followup--nature{
  opacity:.94!important;
  filter:none!important;
}
.echo-source-image{filter:brightness(.88) saturate(.9) contrast(1.04) drop-shadow(0 11px 13px rgba(0,0,0,.62)) drop-shadow(0 0 16px rgba(70,216,228,.34))}
.game[data-v32-phase="source"] .echo-source-image{filter:brightness(.98) saturate(1) contrast(1.04) drop-shadow(0 10px 12px rgba(0,0,0,.58)) drop-shadow(0 0 24px rgba(79,230,237,.52))}
.game[data-v32-phase="harvest"] .echo-source-image{animation:v37-source-response .86s ease-in-out infinite}
.game[data-v32-phase="carry"] .followup--nature,
.game[data-v32-phase="complete"] .followup--nature{opacity:.78!important;filter:none!important}
.game[data-v32-phase="carry"] .echo-source-image,
.game[data-v32-phase="complete"] .echo-source-image{opacity:.9;filter:brightness(.72) saturate(.58) contrast(1.05) drop-shadow(0 11px 14px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(70,196,210,.22))}

/* Kiro steht mit den Füßen auf dem Boden und folgt einer berechneten Kurve. */
.game[data-v32-phase] .resident--kiro{
  --kiro-scale:.63;
  --kiro-tilt:0deg;
  transform-origin:50% 82%;
  transform:translate(-50%,-82%) scale(var(--kiro-scale)) rotate(var(--kiro-tilt))!important;
  filter:brightness(.94) saturate(.66) contrast(1.05) hue-rotate(4deg) drop-shadow(0 7px 9px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(69,205,222,.2))!important;
  transition:filter .35s ease!important;
  will-change:left,top,transform;
}
.game[data-v32-phase="storage"] .resident--kiro,
.game[data-v32-phase="source"] .resident--kiro{left:48%;top:70%}
.game[data-v32-phase="source"][data-assignment-step="worker"] .resident--kiro{animation:v37-kiro-ready 1.7s ease-in-out infinite!important}
.game[data-v32-phase="harvest"] .resident--kiro,
.game[data-v32-phase="carry"] .resident--kiro,
.game[data-v32-phase="complete"] .resident--kiro,
.game[data-kiro-motion="true"] .resident--kiro{
  left:var(--kiro-x)!important;
  top:var(--kiro-y)!important;
  animation:none!important;
}
.kiro-ground-shadow{
  position:absolute;
  z-index:-1;
  left:50%;top:82%;
  width:40px;height:10px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:rgba(0,0,0,.5);
  filter:blur(4px);
  pointer-events:none;
}

@keyframes v37-source-response{
  0%,100%{filter:brightness(.96) saturate(.96) drop-shadow(0 10px 12px rgba(0,0,0,.58)) drop-shadow(0 0 16px rgba(79,222,232,.4))}
  50%{filter:brightness(1.12) saturate(1.08) drop-shadow(0 9px 11px rgba(0,0,0,.54)) drop-shadow(0 0 30px rgba(101,241,244,.7))}
}
@keyframes v37-kiro-ready{
  0%,100%{transform:translate(-50%,-82%) scale(.63)}
  50%{transform:translate(-50%,-84%) scale(.64);filter:brightness(1.02) saturate(.7) drop-shadow(0 0 14px rgba(83,226,235,.42))}
}

@media (orientation:landscape) and (max-height:430px) and (min-aspect-ratio:21/10){
  .echo-seed{width:78px;height:78px}
  .echo-seed__core{inset:28px}
  .echo-seed__ring{inset:18px}
  .echo-nest-core{width:88px;height:88px}
  .echo-nest-core span{top:81px}
  .echo-heartbeat{width:136px;height:136px}
  .followup--nature{left:18%;top:70%;width:clamp(112px,11vw,150px)}
}

@media (prefers-reduced-motion:reduce){
  .game[data-v32-phase="source"][data-assignment-step="worker"] .resident--kiro,
  .game[data-v32-phase="harvest"] .echo-source-image{animation:none!important}
}
