/* небо: виджет восхода/заката сверху по центру + слой освещения карты */
.sk-wash{position:absolute;left:0;top:0;background-color:rgba(255,240,200,0);transition:background-color 1.4s ease;will-change:background-color}
#sky{position:absolute;z-index:1001;left:50%;top:12px;transform:translateX(-50%);width:252px;pointer-events:none;--s1:#7fc4ea;--s2:#e9f6ff;--hz:#3b6b3a;--ink-s:#2a1a0a}
#sky .sk-card{pointer-events:auto;position:relative;border-radius:16px;border:1px solid var(--panel-b);overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.5);color:var(--ink);
  background:linear-gradient(180deg,var(--s1),var(--s2) 62%,rgba(32,22,14,.94) 62%);transition:background .9s}
/* цвета неба по времени суток (виджет «переодевается» плавно вместе с картой) */
#sky[data-ph="day"]{--s1:#6fb7e6;--s2:#cfe9fb}
#sky[data-ph="dawn"]{--s1:#f3a37a;--s2:#ffe3b0}
#sky[data-ph="dusk"]{--s1:#e0745e;--s2:#ffc98a}
#sky[data-ph="twi"]{--s1:#3d3a82;--s2:#b0709a}
#sky[data-ph="night"]{--s1:#0b1230;--s2:#26346b}
.sk-arc{display:block;width:100%;height:auto}
.sk-path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.4;stroke-dasharray:2 4;stroke-linecap:round}
#sky[data-ph="night"] .sk-path,#sky[data-ph="twi"] .sk-path{stroke:rgba(210,220,255,.5)}
.sk-hz{stroke:rgba(30,50,25,.55);stroke-width:1.5}
.sk-star{fill:#fff;opacity:0;transition:opacity 1s}
#sky[data-ph="night"] .sk-star,#sky[data-ph="twi"] .sk-star{opacity:.9;animation:sk-tw 3.4s ease-in-out infinite}
.sk-body{transition:transform .9s cubic-bezier(.4,0,.2,1)}
.sk-sun circle{fill:#ffd24a;stroke:#fff3b0;stroke-width:1.5}
#sky[data-ph="dawn"] .sk-sun circle,#sky[data-ph="dusk"] .sk-sun circle{fill:#ff9d3c}
.sk-rays path{stroke:#ffd24a;stroke-width:1.6;stroke-linecap:round;fill:none;transform-origin:0 0;animation:sk-spin 28s linear infinite}
.sk-moon path{fill:#f4f1da;filter:drop-shadow(0 0 4px rgba(244,241,218,.7))}
#sky[data-body="sun"] .sk-moon,#sky[data-body="moon"] .sk-sun{display:none}
.sk-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 12px 4px;font-family:var(--sans)}
.sk-ev{display:flex;flex-direction:column;line-height:1.1;min-width:50px}.sk-ev.r{text-align:right}
.sk-ev small,.sk-mid small{font-size:10px;color:var(--ink-3);font-weight:600;letter-spacing:.03em}
.sk-ev b{font:800 15px var(--sans);color:var(--brass-2)}
.sk-mid{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.15}
.sk-mid b{font:800 13px var(--sans);color:var(--ink)}
/* переключатель освещения — в правом нижнем углу подвала */
#rail{padding-right:20px}
#rail .rail-r{display:flex;align-items:center;gap:6px;flex:none;margin-left:12px}
#rail .rail-r .rodin-btn{margin:0;padding:0 10px}
#rail .attr{white-space:nowrap;max-width:none;margin-left:auto;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}
#rail .sk-sw{display:flex;gap:2px;flex:none;padding:2px;border-radius:11px;background:rgba(255,236,190,.06);border:1px solid rgba(210,169,90,.3)}
.sk-sw button{padding:4px 6px;border-radius:8px;font:700 11.5px var(--sans);color:var(--ink-2);background:rgba(255,236,190,.07);border:1px solid rgba(210,169,90,.25)}
.sk-sw button:hover{border-color:var(--brass)}
.sk-sw button.on{background:var(--brass);color:#2a1a0a;border-color:var(--brass-2)}
.sk-sw button:focus-visible{outline:2px solid var(--acid);outline-offset:1px}
@keyframes sk-spin{to{transform:rotate(360deg)}}
@keyframes sk-tw{0%,100%{opacity:.95}50%{opacity:.45}}
/* на средних экранах без дуги, чтобы не наезжать на окна */
@media (max-width:980px){#sky{width:214px;top:8px}.sk-arc{display:none}#sky .sk-card{background:linear-gradient(180deg,rgba(32,22,14,.94),rgba(32,22,14,.94))}}
@media (max-width:820px){
  #sky{width:178px;top:6px}.sk-row{padding:4px 10px}.sk-ev b{font-size:13px}.sk-mid b{font-size:12px}
  #rail .sk-sw{position:fixed;right:8px;bottom:calc(var(--rail) + 56px);z-index:1075;background:rgba(32,22,14,.94);padding:2px}
  .sk-sw button{padding:5px 8px;font-size:11px}
  #rail{padding:0 10px}
  #rail .help{position:static;transform:none}
  #rail .rail-r{margin-left:auto}
}
@media (prefers-reduced-motion:reduce){.sk-rays path,#sky[data-ph] .sk-star{animation:none}.sk-body,.sk-wash{transition:none}}

/* ночью дома в деревнях светятся тёплым */
.vil svg rect{transition:fill .8s}
body.night-on .vil:not(.hit) svg{filter:drop-shadow(0 0 4px rgba(255,190,90,calc(.9*var(--occ,1)))) drop-shadow(0 0 11px rgba(255,150,50,calc(.55*var(--occ,1))))}
body.night-on .vil svg rect{fill:#ffcf6a}
.nf-cv{position:absolute;left:0;top:0}

/* источники в одну строку: на средних экранах короче */
@media (max-width:1420px){#rail .at-full{display:none}}

/* кнопка звука площадки: появляется только вблизи КПО при максимальном приближении */
#snd{position:fixed;z-index:1090;left:50%;bottom:calc(var(--rail) + 12px);transform:translate(-50%,8px);display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 9px;border-radius:999px;
  background:rgba(32,22,14,.9);border:1px solid var(--panel-b);color:var(--ink-2);font:700 11.5px var(--sans);opacity:0;pointer-events:none;transition:opacity .6s,transform .6s;box-shadow:0 4px 14px rgba(0,0,0,.45)}
#snd.show{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
#snd:hover{border-color:var(--brass);color:var(--ink)}
#snd:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
#snd svg{width:18px;height:18px;fill:none;stroke:var(--brass-2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#snd.off{opacity:.8}
@media (max-width:820px){#snd{left:auto;right:8px;bottom:calc(var(--rail) + 100px);transform:translateY(8px)}#snd.show{transform:none}}

/* церкви и часовни: золотой купол с мягким ореолом */
.chm{width:0;height:0}
.chm .chi{position:absolute;left:0;bottom:0;transform:translate(-50%,0);display:block;width:var(--chs,22px);height:calc(var(--chs,22px)*1.33);pointer-events:auto;transition:width .3s,height .3s}
.chm.hp .chi{width:calc(var(--chs,22px)*.72);height:calc(var(--chs,22px)*.96)}
.chm .chi svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 3px rgba(255,214,90,.95)) drop-shadow(0 1px 1.5px rgba(40,20,0,.55))}
.chm:hover{z-index:2000!important}.chm:hover .chi svg{filter:drop-shadow(0 0 6px rgba(255,230,120,1)) drop-shadow(0 1px 1.5px rgba(40,20,0,.55))}
.ch-off .chm{display:none}
.ch-tip{background:#2a1710;color:#fff3e6;border:2px solid #f1c232;border-radius:10px;font:600 12px/1.4 var(--sans);box-shadow:0 4px 14px rgba(0,0,0,.5)}
.ch-tip.leaflet-tooltip-top::before{border-top-color:#f1c232}
body.sat .chm .chi svg{filter:drop-shadow(0 0 3px rgba(0,0,0,.9)) drop-shadow(0 0 5px rgba(255,214,90,.9))}
.help-lg .chl{width:10px;height:13px;border-radius:50% 50% 25% 25%;background:linear-gradient(135deg,#fff0a8,#f1c232 45%,#b8861a);box-shadow:0 0 5px rgba(255,214,90,.9)}

/* осень: слой падающих листьев поверх карты (под окнами и подписями-панелями) */
#leaves{position:absolute;inset:0;z-index:450;width:100%;height:100%;pointer-events:none}

/* осадки по реальной погоде — в окошке восхода/заката (на карте осадков нет) */
.sk-wx{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:2;display:none}
.sk-wxl{position:absolute;top:5px;right:7px;z-index:3;max-width:70%;font:700 10.5px var(--sans);color:#fff;background:rgba(20,30,48,.6);padding:1px 8px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
#sky[data-wx] .sk-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(66,80,98,.55),rgba(66,80,98,.12) 62%,transparent)}
#sky[data-wx="snow"] .sk-card::after{background:linear-gradient(180deg,rgba(150,166,186,.45),rgba(150,166,186,.1) 62%,transparent)}
@media (max-width:820px){.sk-wxl{display:none}}
.lv-wx{margin-top:8px;padding:6px 10px;border-radius:10px;background:rgba(120,170,230,.14);border:1px solid rgba(150,190,240,.45);color:#d6e8ff;font:700 12.5px var(--sans);display:flex;gap:7px;align-items:center}
.lv-wx.dry{background:transparent;border-color:rgba(210,169,90,.2);color:var(--ink-3);font-weight:600}
.lv-wx i{font-style:normal;font-size:14px;line-height:1}
body[data-season="winter"] #map{background:#e3ebf2}
body[data-season="spring"] #map{background:#d6e2b0}

/* местное время (МСК) в углу окошка */
.sk-clock{position:absolute;top:5px;left:9px;z-index:3;font:800 11px var(--sans);letter-spacing:.02em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 6px rgba(0,0,0,.35);pointer-events:none}
#sky[data-ph="day"] .sk-clock,#sky[data-ph="dawn"] .sk-clock{color:#1d2f44;text-shadow:0 1px 0 rgba(255,255,255,.55)}
@media (max-width:980px){.sk-clock{position:static;display:block;text-align:center;padding-top:4px;color:var(--ink-2);text-shadow:none}#sky[data-ph="day"] .sk-clock,#sky[data-ph="dawn"] .sk-clock{color:var(--ink-2);text-shadow:none}}
