/* Nachtansicht im Basislager (siehe base-night.js): Multiply-Tönung + leuchtende Lichtschicht. Nur die Spielwelt, nie HUD/Dialoge. */

/* Alter Farbfilter der Kachelebene entfällt, sobald die neue Tönung läuft (Kill-Switch window.PX_BASE_NIGHT = false lässt ihn bestehen) */
.base-stage.bn .base-cells { filter: none; }
.base-stage.bn .base-npc-layer, .base-stage.bn .base-player-layer { filter: none; }

/* Tönung: Weiß = Tag (keine Wirkung), Orange/Rosa = Dämmerung, tiefes Blau-Violett = Nacht. Liegt über Dach-Ebene, unter Sprechblasen. */
.base-night-tint {
  background-color: #fff; inset: 0; mix-blend-mode: multiply; opacity: 0; pointer-events: none; position: absolute; z-index: 10;
  transition: background-color 6s linear, opacity 6s linear;
}
.base-night-tint.on { opacity: 1; }
/* leichte Randabdunklung nachts: zieht den Blick zur Mitte */
.base-night-tint::after {
  background: radial-gradient(ellipse at 50% 52%, rgba(255,255,255,0) 52%, rgba(120,128,200,0.55) 120%);
  content: ""; inset: 0; opacity: calc(var(--bn-lamp, 0) * var(--bn-lamp, 0)); position: absolute;
}

.base-night-lights {
  inset: 0; mix-blend-mode: screen; opacity: 0; pointer-events: none; position: absolute; visibility: hidden; z-index: 10;
  transition: opacity 6s linear; will-change: transform;
}
.base-night-lights.on { visibility: visible; }
.base-night-lights i { display: block; position: absolute; }

/* Punktlichter (Laternen, Feuer, Fackeln): weicher warmer Schein mit hellem Kern */
.bn-l { border-radius: 50%; }
.bn-w { background: radial-gradient(circle, rgba(255,214,130,0.62) 0, rgba(255,170,70,0.34) 22%, rgba(255,140,50,0.12) 52%, rgba(255,120,40,0) 72%); }
.bn-f { animation: bnFlicker 1.6s ease-in-out infinite alternate; background: radial-gradient(circle, rgba(255,200,110,0.72) 0, rgba(255,150,50,0.4) 20%, rgba(255,110,30,0.15) 50%, rgba(255,90,20,0) 72%); }
@keyframes bnFlicker { 0% { opacity: 0.82; transform: scale(0.97); } 45% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0.88; transform: scale(0.99); } }
/* Schein um ein Fenster */
.bn-wg { background: radial-gradient(circle, rgba(255,196,100,0.42) 0, rgba(255,160,60,0.2) 36%, rgba(255,130,40,0) 70%); border-radius: 50%; }
/* Lichtkegel auf dem Boden vor dem Haus (flache Ellipse) */
.bn-pool { background: radial-gradient(ellipse at 50% 50%, rgba(255,190,100,0.27) 0, rgba(255,160,70,0.12) 40%, rgba(255,140,50,0) 70%); border-radius: 50%; transform: scaleY(0.55); }
/* Leuchtende Scheibe: warmes Gelb, Sprossenkreuz bleibt als dunkle Linie */
.bn-win {
  background:
    linear-gradient(rgba(120,60,10,0.55), rgba(120,60,10,0.55)) 50% 0 / 9% 100% no-repeat,
    linear-gradient(rgba(120,60,10,0.55), rgba(120,60,10,0.55)) 0 50% / 100% 9% no-repeat,
    linear-gradient(160deg, #fff0b0 0%, #ffcc5c 55%, #ff9f3a 100%);
  box-shadow: 0 0 0.35em rgba(255,190,90,0.75);
  opacity: 0.94;
}

/* Wasser nachts: dunkel, aber Glanzpunkte und Strömungsfunkeln bleiben sichtbar (Mondlicht auf dem Fluss) */
.base-stage.bn .dg-cell.base-water::after { opacity: 0.6; }
.base-stage.bn .dg-cell.base-water.wr::after { opacity: 0.7; }

/* Nur in der Spielwelt: Edit-Draufsicht und Hausinneres zeigen die Welt nicht → keine Tönung */
.base-stage-wrap.is-editing .base-night-tint, .base-stage-wrap.is-editing .base-night-lights,
.base-stage-wrap.hi-open .base-night-tint, .base-stage-wrap.hi-open .base-night-lights { display: none; }

@media (prefers-reduced-motion: reduce) {
  .bn-f { animation: none; }
  .base-night-tint, .base-night-lights { transition-duration: 0.01s; }
}

/* Kürbislaterne: nur die glühende Gesichtsebene des Sprites, mit weichem Schein und leichtem Flackern */
.base-night-lights .bn-pk svg { display: block; filter: drop-shadow(0 0 3px rgba(255,170,50,0.95)); height: 100%; width: 100%; }
.base-night-lights .bn-pk svg > :not(.px-l-lit) { display: none; }
.base-night-lights .bn-pk svg .px-l-lit { opacity: 1; animation: bnPk 2.4s ease-in-out infinite alternate; }
@keyframes bnPk { from { opacity: 0.8; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .base-night-lights .bn-pk svg .px-l-lit { animation: none; } }
