/* Zimowa oprawa jest włączana klasą .is-winter na body. */
body.is-winter:not(.is-halloween) {
  --paper: #f9fcff;
  --cream: #e5f0f7;
  --mint: #c9e6f2;
  --deep-mint: #1e6683;
  --pink: #eaa8b4;
  --orange: #bd4350;
  --ink: #17384f;
  --muted: #5d7586;
  --line: rgba(29, 88, 116, .16);
  --shadow: 0 22px 55px rgba(29, 76, 105, .16);
  background:
    radial-gradient(circle at 7% 4%, rgba(255,255,255,.98) 0 3rem, transparent 14rem),
    radial-gradient(circle at 95% 12%, rgba(181,220,240,.42), transparent 23rem),
    radial-gradient(circle at 14% 86%, rgba(216,235,246,.78), transparent 27rem),
    linear-gradient(165deg, #f7fbff 0%, #e5f1f8 48%, #fdfefe 100%);
  color: var(--ink);
}

body.is-winter.is-night:not(.is-halloween) {
  --paper: #102d45;
  --cream: #193d57;
  --mint: #32677f;
  --deep-mint: #b8e7f1;
  --pink: #f0aebb;
  --orange: #ff8791;
  --ink: #edf9ff;
  --muted: #b2cedc;
  --line: rgba(195,233,247,.2);
  background:
    radial-gradient(circle at 8% 3%, rgba(215,241,255,.13), transparent 14rem),
    radial-gradient(circle at 92% 13%, rgba(103,170,204,.19), transparent 25rem),
    radial-gradient(circle at 20% 88%, rgba(60,118,151,.2), transparent 28rem),
    linear-gradient(165deg, #102b44 0%, #102238 55%, #0c1c31 100%);
  color: var(--ink);
}

.winter-snow {
  position: fixed;
  inset: 0;
  z-index: 0;
  display: none;
  overflow: visible;
  opacity: .58;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 9% 12%, rgba(255,255,255,.92) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 28% 48%, rgba(255,255,255,.76) 0 1px, transparent 1.8px),
    radial-gradient(circle at 58% 22%, rgba(213,238,249,.86) 0 1.5px, transparent 2.3px),
    radial-gradient(circle at 84% 66%, rgba(255,255,255,.84) 0 1px, transparent 1.8px),
    radial-gradient(circle at 44% 89%, rgba(211,239,250,.74) 0 1.2px, transparent 2px),
    radial-gradient(circle at 97% 33%, rgba(255,255,255,.67) 0 1px, transparent 1.7px);
  background-size: 180px 210px, 250px 280px, 310px 260px, 200px 250px, 290px 310px, 235px 225px;
  opacity: .58;
  animation: winter-snowfall 31s linear infinite;
}
.winter-snow::before {
  content: "";
  position: absolute;
  inset: -12%;
  background: url("winter-crystal-snowflakes.svg?v=20261030-2") 0 0 / 720px 720px repeat;
  opacity: .62;
  transform: rotate(-3deg);
  animation: winter-snowflake-drift 54s linear infinite;
}
body.is-winter.is-night:not(.is-halloween) .winter-snow { opacity: .48; }
body.is-winter.is-night:not(.is-halloween) .winter-snow::before { opacity: .48; }

/* Płatki pozostają pod treścią: są widoczne w tle, ale nie zakrywają strony. */
body.is-winter:not(.is-halloween) .winter-snow { display: block; }
body.is-winter:not(.is-halloween) :is(main, .site-footer) { position: relative; z-index: 1; }

/* Osobna, delikatna warstwa płatków dla sekcji z własnym, nieprzezroczystym tłem. */
.winter-section-snow { display: none; }
body.is-winter:not(.is-halloween) :is(main > section, .cat-news, .site-footer, .sources) {
  position: relative;
  isolation: isolate;
}
body.is-winter:not(.is-halloween) .winter-section-snow {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  clip-path: inset(0);
  pointer-events: none;
  opacity: .2;
  background-image:
    radial-gradient(circle at 12% 7%, rgba(255,255,255,.92) 0 1.15px, transparent 1.85px),
    radial-gradient(circle at 41% 34%, rgba(218,241,250,.82) 0 1.4px, transparent 2.15px),
    radial-gradient(circle at 72% 19%, rgba(255,255,255,.8) 0 1px, transparent 1.7px),
    radial-gradient(circle at 89% 69%, rgba(213,238,249,.9) 0 1.2px, transparent 1.9px);
  background-size: 168px 218px, 244px 286px, 196px 252px, 296px 326px;
  animation: winter-section-snowfall 28s linear infinite;
}
body.is-winter:not(.is-halloween) .winter-section-snow ~ :not(.guestbook-envelope-decor) {
  position: relative;
  z-index: 1;
}
body.is-winter.is-night:not(.is-halloween) .winter-section-snow {
  opacity: .28;
}
/* Nagłówek jest sticky, więc musi tworzyć warstwę ponad treścią sekcji. */
body.is-winter:not(.is-halloween) .site-header { z-index: 20; }
body.is-winter:not(.is-halloween) .site-header {
  background: rgba(239,248,253,.78);
  box-shadow: 0 7px 20px rgba(46,98,126,.08);
}
body.is-winter.is-night:not(.is-halloween) .site-header { background: rgba(8,29,48,.82); }
body.is-winter:not(.is-halloween) .header-card {
  border-color: rgba(71,139,171,.22);
  background:
    radial-gradient(ellipse 40% 88% at 0 0, rgba(54,121,155,.27), transparent 76%),
    linear-gradient(145deg, rgba(255,255,255,.93), rgba(218,237,247,.9));
  box-shadow: 0 13px 30px rgba(43,100,132,.12), inset 0 1px 0 rgba(255,255,255,.94);
}
body.is-winter.is-night:not(.is-halloween) .header-card {
  border-color: rgba(178,226,242,.24);
  background:
    radial-gradient(ellipse 42% 90% at 0 0, rgba(4,21,38,.48), transparent 74%),
    linear-gradient(145deg, rgba(26,63,89,.96), rgba(18,46,70,.96));
  box-shadow: 0 13px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(211,242,255,.08);
}
/* Dyskretna zimowa ozdoba: między marką Fiśka a zegarem, bliżej logo. */
body.is-winter:not(.is-halloween) .header-card {
  position: relative;
  isolation: isolate;
}
body.is-winter:not(.is-halloween) .header-card::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: clamp(144px, 15vw, 232px);
  width: clamp(76px, 6.7vw, 102px);
  aspect-ratio: 1;
  pointer-events: none;
  background: url("header-snowflake.svg?v=20261030-2") center / contain no-repeat;
  filter: drop-shadow(0 3px 5px rgba(47,116,148,.12));
  opacity: .32;
  transform: rotate(-7deg);
}
/* Mniejsza para śnieżynki równoważy prawy dolny narożnik nagłówka. */
body.is-winter:not(.is-halloween) .header-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: clamp(60px, 6.6vw, 118px);
  bottom: 0;
  width: clamp(63px, 5.4vw, 84px);
  aspect-ratio: 1;
  pointer-events: none;
  background: url("header-snowflake.svg?v=20261030-2") center / contain no-repeat;
  filter: drop-shadow(0 3px 5px rgba(47,116,148,.12));
  opacity: .28;
  transform: rotate(8deg);
}
body.is-winter:not(.is-halloween) .header-card > .nav { position: relative; z-index: 1; }
body.is-winter.is-night:not(.is-halloween) .header-card::before,
body.is-winter.is-night:not(.is-halloween) .header-card::after {
  filter: brightness(1.23) saturate(.8) drop-shadow(0 3px 6px rgba(0,0,0,.26));
  opacity: .29;
}
@media (max-width: 820px) {
  body.is-winter:not(.is-halloween) .header-card::before,
  body.is-winter:not(.is-halloween) .header-card::after { display: none; }
}

body.is-winter:not(.is-halloween) :is(.cat-clock, .weather-widget, .daily-quote, .cat-news, .gallery-card, .guestbook-entry, .timeline-card, .calendar-card, .visit-week-chart, .visit-month-calendar) {
  border-color: rgba(72,137,170,.2);
  background-color: rgba(250,254,255,.84);
  box-shadow: 0 9px 22px rgba(44,103,135,.1), inset 0 1px 0 rgba(255,255,255,.78);
}
body.is-winter.is-night:not(.is-halloween) :is(.cat-clock, .weather-widget, .daily-quote, .cat-news, .gallery-card, .guestbook-entry, .timeline-card, .calendar-card, .visit-week-chart, .visit-month-calendar) {
  border-color: rgba(183,230,245,.2);
  background-color: rgba(19,55,81,.86);
  box-shadow: 0 9px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(220,246,255,.05);
}
body.is-winter:not(.is-halloween) .site-footer {
  border-top-color: rgba(72,137,170,.2);
  background: linear-gradient(180deg, rgba(224,241,249,.74), rgba(249,253,255,.96));
}
body.is-winter.is-night:not(.is-halloween) .site-footer {
  border-top-color: rgba(183,230,245,.18);
  background: linear-gradient(180deg, rgba(19,54,79,.9), #0c2034);
}
/* Stopka korzysta z tych samych półprzezroczystych warstw co nagłówek. */
body.is-winter:not(.is-halloween) .site-footer {
  background: rgba(239,248,253,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 -7px 20px rgba(46,98,126,.06);
}
body.is-winter:not(.is-halloween) .footer-card {
  border-color: rgba(71,139,171,.22);
  background: linear-gradient(145deg, rgba(255,255,255,.93), rgba(218,237,247,.9));
  box-shadow: 0 13px 30px rgba(43,100,132,.12), inset 0 1px 0 rgba(255,255,255,.94);
}
body.is-winter:not(.is-halloween) .footer-avatar {
  border-color: #f9fcff;
  outline-color: #4f94b4;
  box-shadow: 0 5px 12px rgba(31,88,120,.2);
}
/* Mikołajkowa czapeczka jest zakotwiczona bezpośrednio przy avatarze Fiśka. */
body.is-winter:not(.is-halloween) .footer-avatar-wrap::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: -16px;
  left: 17px;
  width: 44px;
  height: 33px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 42'%3E%3Cdefs%3E%3ClinearGradient id='cap' x1='12' y1='6' x2='39' y2='33' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23f86b6d'/%3E%3Cstop offset='.58' stop-color='%23d7354c'/%3E%3Cstop offset='1' stop-color='%239a1d3a'/%3E%3C/linearGradient%3E%3ClinearGradient id='fur' x1='22' y1='25' x2='24' y2='38' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23dceef5'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M9 30C14 18 23 8 35 5c5-1 10 1 12 5-6 2-11 7-12 13-1 4 1 7 4 10-9-5-19-7-30-3Z' fill='url(%23cap)' stroke='%23851a34' stroke-width='1.25' stroke-linejoin='round'/%3E%3Cpath d='M7 29c8-3 20-2 31 3 1 2-1 5-4 6-9-4-19-5-28-3-2-1-1-5 1-6Z' fill='url(%23fur)' stroke='%23b9d9e6' stroke-width='1.15' stroke-linejoin='round'/%3E%3Cpath d='M11 31c7-2 16-1 24 2' fill='none' stroke='%23fff' stroke-opacity='.82' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='47' cy='10' r='5.2' fill='url(%23fur)' stroke='%23b9d9e6' stroke-width='1.05'/%3E%3Ccircle cx='45.4' cy='8.3' r='1.4' fill='%23fff' fill-opacity='.85'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 2px 2px rgba(31,72,96,.22));
  pointer-events: none;
  transform: rotate(3deg);
  transform-origin: 44% 76%;
}
body.is-winter.is-night:not(.is-halloween) .footer-avatar-wrap::before {
  filter: drop-shadow(0 2px 3px rgba(178,233,248,.22));
}
@media (max-width: 620px) {
  body.is-winter:not(.is-halloween) .footer-avatar-wrap::before {
    top: -14px;
    left: 10px;
    width: 32px;
    height: 24px;
  }
}
body.is-winter:not(.is-halloween) .footer-kicker,
body.is-winter:not(.is-halloween) .footer-visits-title { color: #216c8d; }
body.is-winter:not(.is-halloween) .footer-actions .footer-action {
  border-color: rgba(57,132,169,.26);
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(220,240,249,.82));
  color: #216c8d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
}
body.is-winter:not(.is-halloween) .footer-actions .footer-action:hover,
body.is-winter:not(.is-halloween) .footer-actions .footer-action:focus-visible {
  border-color: #2e89af;
  background: linear-gradient(145deg, #ffffff, #cfe9f5);
  color: #176e96;
  box-shadow: 0 5px 11px rgba(37,96,127,.14), inset 0 1px 0 rgba(255,255,255,.9);
}
body.is-winter:not(.is-halloween) .footer-visits {
  border-color: rgba(57,132,169,.22);
  background: rgba(255,255,255,.56);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}
body.is-winter:not(.is-halloween) .footer-visit {
  background: rgba(191,225,240,.48);
}
body.is-winter:not(.is-halloween) .footer-visit--unique:hover { background: rgba(171,214,234,.68); }
body.is-winter:not(.is-halloween) .footer-row { border-top-color: rgba(57,132,169,.18); }
body.is-winter.is-night:not(.is-halloween) .site-footer {
  background: rgba(8,29,48,.82);
  box-shadow: inset 0 1px 0 rgba(211,242,255,.08), 0 -7px 20px rgba(0,0,0,.16);
}
body.is-winter.is-night:not(.is-halloween) .footer-card {
  border-color: rgba(178,226,242,.24);
  background: linear-gradient(145deg, rgba(26,63,89,.96), rgba(18,46,70,.96));
  box-shadow: 0 13px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(211,242,255,.08);
}
body.is-winter.is-night:not(.is-halloween) .footer-avatar {
  border-color: #102d45;
  outline-color: #8fcfe5;
  box-shadow: 0 5px 12px rgba(0,0,0,.34);
}
body.is-winter.is-night:not(.is-halloween) .footer-kicker,
body.is-winter.is-night:not(.is-halloween) .footer-visits-title { color: #bfeeff; }
body.is-winter.is-night:not(.is-halloween) .footer-actions .footer-action {
  border-color: rgba(176,229,247,.28);
  background: linear-gradient(145deg, rgba(48,103,134,.78), rgba(22,59,88,.86));
  color: #d8f5ff;
  box-shadow: inset 0 1px 0 rgba(223,248,255,.08);
}
body.is-winter.is-night:not(.is-halloween) .footer-actions .footer-action:hover,
body.is-winter.is-night:not(.is-halloween) .footer-actions .footer-action:focus-visible {
  border-color: rgba(195,239,252,.56);
  background: linear-gradient(145deg, rgba(72,140,173,.86), rgba(29,78,110,.94));
  color: #fff;
}
body.is-winter.is-night:not(.is-halloween) .footer-visits {
  border-color: rgba(176,229,247,.22);
  background: rgba(13,45,69,.64);
  box-shadow: inset 0 1px 0 rgba(223,248,255,.06);
}
body.is-winter.is-night:not(.is-halloween) .footer-visit { background: rgba(76,143,176,.23); }
body.is-winter.is-night:not(.is-halloween) .footer-visit--unique:hover { background: rgba(90,165,199,.32); }
body.is-winter.is-night:not(.is-halloween) .footer-row { border-top-color: rgba(176,229,247,.17); }

/* Księga gości: chłodne odcienie lodu, turkusu i delikatnego zimowego lila. */
body.is-winter:not(.is-halloween) .guestbook {
  background:
    radial-gradient(circle at 88% 13%, rgba(184,224,244,.72), transparent 22rem),
    radial-gradient(circle at 9% 83%, rgba(218,207,244,.56), transparent 24rem),
    linear-gradient(145deg, #edf9fd, #e2f2f9 54%, #f6fbff);
}
/* Dzienna koperta pozostaje dyskretna, ale otrzymuje chłodny, lodowy odcień. */
body.is-winter:not(.is-night):not(.is-halloween) .guestbook-envelope-decor {
  color: rgba(62, 147, 188, .4);
  filter: drop-shadow(0 5px 8px rgba(81, 171, 207, .16));
}
body.is-winter:not(.is-halloween) :is(.guestbook-form, .guestbook-list) {
  border-color: rgba(74,144,177,.25);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(228,244,251,.93));
  box-shadow: 0 14px 30px rgba(41,103,137,.14), inset 0 1px 0 rgba(255,255,255,.96);
}
body.is-winter:not(.is-halloween) .guestbook-form-heading span {
  background: linear-gradient(145deg, #cbeaf5, #dcd7f1);
  color: #2b7093;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
}
body.is-winter:not(.is-halloween) .guestbook-field > span,
body.is-winter:not(.is-halloween) .guestbook-status { color: #2a7192; }
body.is-winter:not(.is-halloween) .guestbook-field input,
body.is-winter:not(.is-halloween) .guestbook-field textarea {
  border-color: rgba(76,148,182,.3);
  background: linear-gradient(135deg, #fcfeff, #eaf7fc);
  color: #1c445e;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
body.is-winter:not(.is-halloween) .guestbook-field input::placeholder,
body.is-winter:not(.is-halloween) .guestbook-field textarea::placeholder { color: #7894a5; }
body.is-winter:not(.is-halloween) .guestbook-field input:focus,
body.is-winter:not(.is-halloween) .guestbook-field textarea:focus {
  border-color: #579cc1;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(115,188,218,.18), inset 0 1px 0 rgba(255,255,255,.9);
}
body.is-winter:not(.is-halloween) .guestbook-submit {
  background: linear-gradient(135deg, #347fa5, #315a8d);
  box-shadow: 0 6px 14px rgba(35,96,138,.22), inset 0 1px 0 rgba(227,249,255,.22);
}
body.is-winter:not(.is-halloween) .guestbook-submit span {
  background: #ecf9fd;
  color: #2f7094;
}
body.is-winter:not(.is-halloween) .guestbook-list-heading p { color: #6b70a1; }
body.is-winter:not(.is-halloween) .guestbook-admin-button,
body.is-winter:not(.is-halloween) .guestbook-entry-action {
  border-color: rgba(87,145,180,.28);
  background: linear-gradient(135deg, rgba(248,253,255,.95), rgba(220,238,248,.9));
  color: #316c91;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
}
body.is-winter:not(.is-halloween) .guestbook-admin-button:hover,
body.is-winter:not(.is-halloween) .guestbook-admin-button:focus-visible,
body.is-winter:not(.is-halloween) .guestbook-entry-action:hover,
body.is-winter:not(.is-halloween) .guestbook-entry-action:focus-visible {
  border-color: #6b82b0;
  background: linear-gradient(135deg, #edf8fd, #e6e3f6);
  color: #4c5f98;
}
body.is-winter:not(.is-halloween) .guestbook-admin-button.is-active {
  border-color: #356f9d;
  background: linear-gradient(135deg, #397fa5, #536a9c);
  color: #fff;
}
body.is-winter:not(.is-halloween) .guestbook-entry {
  border-color: rgba(58,139,178,.52);
  background: linear-gradient(135deg, rgba(253,255,255,.97), rgba(231,247,252,.94) 58%, rgba(242,238,251,.9));
  box-shadow: 0 0 0 1px rgba(157,210,231,.2), inset 3px 0 0 rgba(105,182,212,.52), inset 0 1px 0 rgba(255,255,255,.92);
}
body.is-winter:not(.is-halloween) .guestbook-entry-meta strong { color: #287493; }
body.is-winter:not(.is-halloween) .guestbook-entry-meta time,
body.is-winter:not(.is-halloween) :is(.guestbook-entry-country, .guestbook-entry-admin-details) { color: #687f9a; }
body.is-winter:not(.is-halloween) .guestbook-entry.is-hidden {
  border-color: rgba(122,104,170,.44);
  background: linear-gradient(135deg, #f7f3ff, #e9eaf9);
  box-shadow: inset 3px 0 0 rgba(145,122,192,.5), inset 0 1px 0 rgba(255,255,255,.86);
}
body.is-winter:not(.is-halloween) .guestbook-entry-visibility {
  border-color: rgba(122,104,170,.48);
  background: rgba(237,232,251,.82);
  color: #68568c;
}
body.is-winter:not(.is-halloween) .guestbook-entry-admin { border-top-color: rgba(93,159,190,.18); }
body.is-winter:not(.is-halloween) .guestbook-country-flag {
  border-color: rgba(50,125,160,.74);
  outline-color: #f9fcff;
  box-shadow: 0 0 0 3px rgba(133,196,221,.25), 0 2px 4px rgba(30,88,119,.18);
}
body.is-winter.is-night:not(.is-halloween) .guestbook {
  background:
    radial-gradient(circle at 88% 13%, rgba(69,143,180,.33), transparent 22rem),
    radial-gradient(circle at 9% 83%, rgba(105,81,151,.32), transparent 24rem),
    linear-gradient(145deg, #0c2942, #102f4e 54%, #14263f);
}
body.is-winter.is-night:not(.is-halloween) :is(.guestbook-form, .guestbook-list) {
  border-color: rgba(164,223,244,.25);
  background: linear-gradient(145deg, rgba(27,72,103,.97), rgba(16,48,76,.98));
  box-shadow: 0 15px 31px rgba(0,10,22,.34), inset 0 1px 0 rgba(222,247,255,.08);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-form-heading span {
  background: linear-gradient(145deg, #315f83, #4e4d78);
  color: #d4f4ff;
}
body.is-winter.is-night:not(.is-halloween) .guestbook-field > span,
body.is-winter.is-night:not(.is-halloween) .guestbook-status { color: #bfeeff; }
body.is-winter.is-night:not(.is-halloween) .guestbook-field input,
body.is-winter.is-night:not(.is-halloween) .guestbook-field textarea {
  border-color: rgba(167,224,244,.28);
  background: linear-gradient(135deg, #0d2d49, #123754);
  color: #edfaff;
  box-shadow: inset 0 1px 0 rgba(221,247,255,.06);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-field input::placeholder,
body.is-winter.is-night:not(.is-halloween) .guestbook-field textarea::placeholder { color: #9ac0d1; }
body.is-winter.is-night:not(.is-halloween) .guestbook-field input:focus,
body.is-winter.is-night:not(.is-halloween) .guestbook-field textarea:focus {
  border-color: #9edcf2;
  background: #123b59;
  box-shadow: 0 0 0 4px rgba(131,208,235,.16), inset 0 1px 0 rgba(229,250,255,.1);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-submit {
  background: linear-gradient(135deg, #9adbed, #6e8fbd);
  color: #10314d;
  box-shadow: 0 7px 15px rgba(0,13,28,.36), inset 0 1px 0 rgba(255,255,255,.38);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-submit span { background: #163d5c; color: #d9f6ff; }
body.is-winter.is-night:not(.is-halloween) .guestbook-list-heading p { color: #d4c9f6; }
body.is-winter.is-night:not(.is-halloween) .guestbook-admin-button,
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-action {
  border-color: rgba(174,228,246,.26);
  background: linear-gradient(135deg, rgba(57,119,153,.78), rgba(42,66,111,.82));
  color: #d6f4ff;
  box-shadow: inset 0 1px 0 rgba(230,250,255,.08);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-admin-button:hover,
body.is-winter.is-night:not(.is-halloween) .guestbook-admin-button:focus-visible,
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-action:hover,
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-action:focus-visible {
  border-color: rgba(211,244,255,.5);
  background: linear-gradient(135deg, #4d92ba, #6467a0);
  color: #fff;
}
body.is-winter.is-night:not(.is-halloween) .guestbook-entry {
  border-color: rgba(157,221,244,.44);
  background: linear-gradient(135deg, rgba(19,57,85,.97), rgba(31,58,95,.96));
  box-shadow: 0 0 0 1px rgba(109,190,224,.13), inset 3px 0 0 rgba(88,174,211,.62), inset 0 1px 0 rgba(224,248,255,.06);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-meta strong { color: #bceeff; }
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-meta time,
body.is-winter.is-night:not(.is-halloween) :is(.guestbook-entry-country, .guestbook-entry-admin-details) { color: #b3cde0; }
body.is-winter.is-night:not(.is-halloween) .guestbook-entry.is-hidden {
  border-color: rgba(190,169,238,.42);
  background: linear-gradient(135deg, #283758, #32365f);
  box-shadow: inset 3px 0 0 rgba(174,144,225,.6), inset 0 1px 0 rgba(245,238,255,.08);
}
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-visibility {
  border-color: rgba(204,185,246,.48);
  background: rgba(91,73,132,.45);
  color: #eadfff;
}
body.is-winter.is-night:not(.is-halloween) .guestbook-entry-admin { border-top-color: rgba(165,222,243,.15); }
body.is-winter.is-night:not(.is-halloween) .guestbook-country-flag {
  border-color: #a9e4f5;
  outline-color: #123450;
  box-shadow: 0 0 0 3px rgba(116,200,231,.2), 0 2px 5px rgba(0,0,0,.3);
}

/* Jedna, spokojna paleta dla wszystkich kart i sekcji — błękit lodu, granat i czerwony detal. */
body.is-winter:not(.is-halloween) :is(.site-nav, .card, .notice, .puzzle-card, .clue-card, .quiz-card, .question-card, .sources div, .calendar-spotlight, .calendar-event, .trivia-card, .access-card, .gallery-access-card) {
  border-color: rgba(70,137,170,.2);
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(229,243,250,.88));
  box-shadow: 0 12px 28px rgba(43,100,132,.1), inset 0 1px 0 rgba(255,255,255,.86);
}
body.is-winter:not(.is-halloween) :is(.intro-strip, .night-play, .aside-card) {
  background: linear-gradient(135deg, #1a5d7c, #173e68);
  color: #f4fbff;
}
body.is-winter:not(.is-halloween) :is(.story, .cat-calendar, .cat-trivia, .gallery, .tips) {
  background: linear-gradient(145deg, #e7f3f9, #f8fcff);
  color: var(--ink);
}
/* Każda część strony ma własną, delikatnie zróżnicowaną warstwę zimowego światła. */
body.is-winter:not(.is-halloween) .story {
  background:
    radial-gradient(ellipse at 7% 34%, rgba(150, 211, 235, .3), transparent 34rem),
    linear-gradient(118deg, rgba(255,255,255,.5) 0 14%, transparent 14% 52%, rgba(207,232,244,.42) 52% 53%, transparent 53%),
    linear-gradient(145deg, #eff9fd, #e3f2f9 54%, #fbfeff);
}
body.is-winter:not(.is-halloween) .cat-calendar {
  background:
    radial-gradient(circle at 92% 18%, rgba(183, 221, 240, .38), transparent 20rem),
    radial-gradient(circle at 12% 90%, rgba(220, 215, 244, .3), transparent 21rem),
    linear-gradient(145deg, #f8fcff, #e4f3f8 52%, #f2f8fd);
}
body.is-winter:not(.is-halloween) .cat-trivia {
  background:
    radial-gradient(circle at 12% 19%, rgba(204, 233, 245, .46), transparent 19rem),
    repeating-linear-gradient(132deg, rgba(105, 169, 198, .055) 0 1px, transparent 1px 58px),
    linear-gradient(145deg, #f7fcff, #e9f5fa 57%, #f8fcff);
}
body.is-winter:not(.is-halloween) :is(.gallery, .tips) {
  background:
    radial-gradient(circle at 88% 20%, rgba(179, 218, 239, .32), transparent 24rem),
    linear-gradient(26deg, rgba(221, 214, 244, .25), transparent 43%),
    linear-gradient(145deg, #f8fcff, #e5f3f9 54%, #fdfefe);
}
body.is-winter:not(.is-halloween) .intro-strip {
  background:
    radial-gradient(circle at 12% 10%, rgba(161, 220, 241, .28), transparent 17rem),
    radial-gradient(circle at 93% 88%, rgba(141, 170, 222, .25), transparent 20rem),
    linear-gradient(135deg, #1f6c8c, #174d73 48%, #183c68);
}
body.is-winter:not(.is-halloween) .night-play {
  background:
    radial-gradient(circle at 82% 18%, rgba(138, 193, 221, .26), transparent 18rem),
    radial-gradient(circle at 15% 92%, rgba(113, 126, 187, .2), transparent 19rem),
    linear-gradient(135deg, #174d74, #16395f 56%, #142f53);
}
/* Naturalne płatki są widoczne także wewnątrz większych sekcji, zawsze pod treścią. */
body.is-winter:not(.is-halloween) :is(.story, .cat-calendar, .cat-trivia, .gallery, .guestbook) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
body.is-winter:not(.is-halloween) :is(.story, .cat-calendar, .gallery, .guestbook)::before,
body.is-winter:not(.is-halloween) .cat-trivia::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background-image: url("winter-crystal-snowflakes.svg?v=20261030-2");
  background-repeat: repeat;
  background-size: 660px 660px;
  opacity: .2;
}
body.is-winter:not(.is-halloween) .story::before { background-position: 8% 12%; }
body.is-winter:not(.is-halloween) .cat-calendar::before { background-position: 66% 18%; opacity: .17; }
body.is-winter:not(.is-halloween) .cat-trivia::before { background-position: 26% 52%; opacity: .16; }
body.is-winter:not(.is-halloween) .gallery::before { background-position: 76% 62%; opacity: .18; }
body.is-winter:not(.is-halloween) .guestbook::before { background-position: 40% 14%; opacity: .15; }
body.is-winter:not(.is-halloween) :is(.story, .cat-calendar, .gallery) > .shell,
body.is-winter:not(.is-halloween) .cat-trivia > .shell,
body.is-winter:not(.is-halloween) .guestbook > .shell { position: relative; z-index: 1; }
body.is-winter:not(.is-halloween) .hero::before,
body.is-winter:not(.is-halloween) .hero::after { background: #d3eaf5; }
body.is-winter:not(.is-halloween) .hero::after { background: #e8c4ca; }
/* Zimowa trasa biegnącego Fiśka: domek, choinki, zaspy i mały bałwanek. */
body.is-winter:not(.is-halloween) .kitten-runway {
  height: 112px;
  border-top-color: rgba(50, 117, 149, .28);
  border-bottom-color: rgba(50, 117, 149, .28);
  background:
    url("winter-runway-scene.svg?v=20261027-7") center bottom / 100% 100% no-repeat,
    linear-gradient(180deg, #cfeafa 0%, #ebf7fc 60%, #f9fdff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), inset 0 -10px 20px rgba(95, 160, 190, .08);
}
body.is-winter:not(.is-halloween) .kitten-runway::before {
  z-index: 1;
  right: 0;
  bottom: 20px;
  left: 0;
  border-bottom-color: rgba(70, 137, 169, .28);
}
body.is-winter:not(.is-halloween) .kitten-runner { z-index: 2; bottom: 14px; }
body.is-winter:not(.is-halloween) .kitten-runner::after { color: rgba(42, 116, 148, .48); }
body.is-winter:not(.is-halloween) :is(.trait:nth-child(1), .trait:nth-child(2), .trait:nth-child(3)) { background: #dceef6; }
/* Zimowa oprawa sekcji charakteru Fiśka. */
body.is-winter:not(.is-halloween) #charakter {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 7% 12%, rgba(136, 205, 232, .28), transparent 21rem),
    radial-gradient(circle at 95% 84%, rgba(157, 186, 226, .22), transparent 22rem),
    linear-gradient(145deg, #f9fdff 0%, #e9f5fa 53%, #f8fcff 100%);
}
body.is-winter:not(.is-halloween) #charakter::before,
body.is-winter:not(.is-halloween) #charakter::after {
  content: "";
  position: absolute;
  z-index: 0;
  display: block;
  aspect-ratio: 1;
  pointer-events: none;
  background: url("header-snowflake.svg?v=20261030-2") center / contain no-repeat;
  filter: drop-shadow(0 4px 6px rgba(51, 122, 153, .08));
}
body.is-winter:not(.is-halloween) #charakter::before {
  top: -104px;
  left: clamp(-98px, -4vw, -42px);
  width: clamp(210px, 23vw, 330px);
  opacity: .2;
  transform: rotate(-13deg);
}
body.is-winter:not(.is-halloween) #charakter::after {
  right: clamp(-66px, -3vw, -26px);
  bottom: -83px;
  width: clamp(156px, 16vw, 236px);
  opacity: .15;
  transform: rotate(18deg);
}
body.is-winter:not(.is-halloween) #charakter > .shell { position: relative; z-index: 1; }
body.is-winter:not(.is-halloween) #charakter .trait {
  border: 1px solid rgba(74, 139, 171, .22);
  box-shadow: 0 15px 27px rgba(47, 111, 142, .1), inset 0 1px 0 rgba(255, 255, 255, .76);
}
body.is-winter:not(.is-halloween) #charakter .trait:nth-child(1) {
  background: linear-gradient(145deg, #d8f0f4, #e9f7fa);
}
body.is-winter:not(.is-halloween) #charakter .trait:nth-child(2) {
  background: linear-gradient(145deg, #e2ecfb, #eff7fe);
}
body.is-winter:not(.is-halloween) #charakter .trait:nth-child(3) {
  background: linear-gradient(145deg, #e2eafa, #f2f7fe);
}
body.is-winter:not(.is-halloween) #charakter .trait-icon {
  border: 1px solid rgba(77, 143, 174, .21);
  background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(221, 241, 250, .78));
  box-shadow: 0 7px 13px rgba(47, 111, 142, .1), inset 0 1px 0 rgba(255, 255, 255, .94);
  color: #276a8b;
}
body.is-winter:not(.is-halloween) .trivia-card { --trivia-accent: #286f91; --trivia-tint: #d4eaf4; }
body.is-winter:not(.is-halloween) .calendar-event--fisiek { background: #d6ebf5; }
body.is-winter:not(.is-halloween) :is(.button-primary, .print-button, .dreambook-search) {
  background: linear-gradient(135deg, #1e6385, #174867);
  color: #fff;
  box-shadow: 0 8px 17px rgba(25,86,119,.22);
}
body.is-winter:not(.is-halloween) :is(.button-secondary, .back-link, .theme-toggle, .weather-dashboard-link) {
  border-color: rgba(58,126,160,.28);
  background: rgba(247,252,255,.82);
  color: #226788;
}
body.is-winter:not(.is-halloween) :is(.button-primary, .print-button, .dreambook-search, .theme-toggle, .weather-dashboard-link):hover,
body.is-winter:not(.is-halloween) :is(.button-primary, .print-button, .dreambook-search, .theme-toggle, .weather-dashboard-link):focus-visible {
  background: #bd4350;
  color: #fff;
}
body.is-winter:not(.is-halloween) .halloween-toggle {
  border-color: rgba(58,126,160,.26);
  background: #edf8fc;
  color: #2a6f90;
}
body.is-winter:not(.is-halloween) .halloween-toggle:hover,
body.is-winter:not(.is-halloween) .halloween-toggle:focus-visible {
  border-color: #bd4350;
  background: #bd4350;
  color: #fff;
}
body.is-winter:not(.is-halloween) .nav-links a::before { background: rgba(156,205,228,.38); }
body.is-winter:not(.is-halloween) .daily-quote-mark { background: #d6ebf5; color: #276f91; }
body.is-winter:not(.is-halloween) :is(.weather-forecast-list, .weather-forecast-pressure-area) { background: #e8f4f9; }
body.is-winter:not(.is-halloween) .weather-forecast-title { background: #286f91; }
body.is-winter:not(.is-halloween) .weather-forecast-tabs { background: #286f91; }
body.is-winter:not(.is-halloween) .weather-forecast-tab[aria-pressed="true"] { background: #f8fdff; color: #1f6383; }
body.is-winter:not(.is-halloween) :is(.weather-hour, .weather-forecast-pressure) {
  border-color: rgba(58,126,160,.24);
  background: #f8fdff;
  color: #1f6383;
}
body.is-winter:not(.is-halloween) :is(.weather-pressure-trend, .weather-temperature-trend) { background: #d5eaf4; color: #246b8b; }
body.is-winter:not(.is-halloween) :is(.weather-pressure-trend.is-falling, .weather-temperature-trend.is-falling) { background: #f4d9dc; color: #a43947; }
body.is-winter:not(.is-halloween) :is(.weather-pressure-trend.is-steady, .weather-pressure-trend.is-unknown, .weather-temperature-trend.is-steady, .weather-temperature-trend.is-unknown) { background: #e1edf3; color: #587182; }

body.is-winter.is-night:not(.is-halloween) :is(.site-nav, .card, .notice, .puzzle-card, .clue-card, .quiz-card, .question-card, .sources div, .calendar-spotlight, .calendar-event, .trivia-card, .access-card, .gallery-access-card) {
  border-color: rgba(178,226,242,.22);
  background: linear-gradient(145deg, rgba(24,63,90,.96), rgba(14,43,68,.96));
  box-shadow: 0 12px 28px rgba(0,0,0,.25), inset 0 1px 0 rgba(221,246,255,.06);
  color: #edf9ff;
}
body.is-winter.is-night:not(.is-halloween) :is(.story, .cat-calendar, .cat-trivia, .gallery, .tips) {
  background: linear-gradient(145deg, #112f48, #0d253c);
  color: #edf9ff;
}
body.is-winter.is-night:not(.is-halloween) .story {
  background:
    radial-gradient(ellipse at 7% 34%, rgba(77, 151, 188, .18), transparent 34rem),
    linear-gradient(118deg, rgba(160, 223, 246, .06) 0 14%, transparent 14% 52%, rgba(113, 171, 205, .11) 52% 53%, transparent 53%),
    linear-gradient(145deg, #133752, #0f2c46 54%, #0d243b);
}
body.is-winter.is-night:not(.is-halloween) .cat-calendar {
  background:
    radial-gradient(circle at 92% 18%, rgba(73, 146, 185, .23), transparent 20rem),
    radial-gradient(circle at 12% 90%, rgba(113, 93, 163, .2), transparent 21rem),
    linear-gradient(145deg, #123651, #102e48 52%, #0c253e);
}
body.is-winter.is-night:not(.is-halloween) .cat-trivia {
  background:
    radial-gradient(circle at 12% 19%, rgba(92, 169, 205, .2), transparent 19rem),
    repeating-linear-gradient(132deg, rgba(184, 229, 247, .045) 0 1px, transparent 1px 58px),
    linear-gradient(145deg, #12334e, #102b45 57%, #0c243b);
}
body.is-winter.is-night:not(.is-halloween) :is(.gallery, .tips) {
  background:
    radial-gradient(circle at 88% 20%, rgba(79, 154, 193, .2), transparent 24rem),
    linear-gradient(26deg, rgba(121, 104, 172, .14), transparent 43%),
    linear-gradient(145deg, #12344e, #0e2941 54%, #0b2238);
}
body.is-winter.is-night:not(.is-halloween) .intro-strip {
  background:
    radial-gradient(circle at 12% 10%, rgba(105, 188, 221, .16), transparent 17rem),
    radial-gradient(circle at 93% 88%, rgba(126, 121, 190, .16), transparent 20rem),
    linear-gradient(135deg, #1c5276, #143b5d 48%, #112d4a);
}
body.is-winter.is-night:not(.is-halloween) .night-play {
  background:
    radial-gradient(circle at 82% 18%, rgba(115, 188, 221, .15), transparent 18rem),
    radial-gradient(circle at 15% 92%, rgba(119, 105, 181, .15), transparent 19rem),
    linear-gradient(135deg, #153e61, #102d49 56%, #0c223a);
}
body.is-winter.is-night:not(.is-halloween) :is(.story, .cat-calendar, .cat-trivia, .gallery, .guestbook)::before {
  filter: brightness(1.52) saturate(.76);
  opacity: .13;
}
body.is-winter.is-night:not(.is-halloween) .cat-calendar::before { opacity: .11; }
body.is-winter.is-night:not(.is-halloween) .cat-trivia::before { opacity: .1; }
body.is-winter.is-night:not(.is-halloween) .gallery::before { opacity: .12; }
body.is-winter.is-night:not(.is-halloween) .guestbook::before { opacity: .1; }
body.is-winter.is-night:not(.is-halloween) :is(.intro-strip, .night-play, .aside-card) {
  background: linear-gradient(135deg, #163e60, #102940);
  color: #f3fbff;
}
body.is-winter.is-night:not(.is-halloween) .hero::before,
body.is-winter.is-night:not(.is-halloween) .hero::after { background: #25536f; }
body.is-winter.is-night:not(.is-halloween) .hero::after { background: #693b54; }
body.is-winter.is-night:not(.is-halloween) .kitten-runway {
  background:
    url("winter-runway-scene.svg?v=20261027-7") center bottom / 100% 100% no-repeat,
    linear-gradient(180deg, #1c4a68 0%, #15354f 60%, #102940 100%);
}
body.is-winter.is-night:not(.is-halloween) .kitten-runway::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: rgba(5, 28, 47, .31);
}
body.is-winter.is-night:not(.is-halloween) .kitten-runway::before { border-bottom-color: rgba(181, 228, 244, .28); }
body.is-winter.is-night:not(.is-halloween) .kitten-runner::after { color: rgba(189, 233, 247, .55); }
body.is-winter.is-night:not(.is-halloween) :is(.trait:nth-child(1), .trait:nth-child(2), .trait:nth-child(3)) { background: #1d4a68; }
body.is-winter.is-night:not(.is-halloween) #charakter {
  background:
    radial-gradient(circle at 7% 12%, rgba(105, 188, 221, .14), transparent 21rem),
    radial-gradient(circle at 95% 84%, rgba(141, 170, 232, .13), transparent 22rem),
    linear-gradient(145deg, #102d47 0%, #173f5a 53%, #112f49 100%);
}
body.is-winter.is-night:not(.is-halloween) #charakter::before,
body.is-winter.is-night:not(.is-halloween) #charakter::after {
  filter: brightness(1.28) saturate(.82) drop-shadow(0 4px 7px rgba(0, 0, 0, .23));
  opacity: .18;
}
body.is-winter.is-night:not(.is-halloween) #charakter .trait {
  border-color: rgba(161, 220, 240, .2);
  box-shadow: 0 15px 27px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(212, 246, 255, .07);
}
body.is-winter.is-night:not(.is-halloween) #charakter .trait:nth-child(1) {
  background: linear-gradient(145deg, #174c63, #1d5870);
}
body.is-winter.is-night:not(.is-halloween) #charakter .trait:nth-child(2) {
  background: linear-gradient(145deg, #1b496d, #225777);
}
body.is-winter.is-night:not(.is-halloween) #charakter .trait:nth-child(3) {
  background: linear-gradient(145deg, #253f69, #2c5077);
}
body.is-winter.is-night:not(.is-halloween) #charakter .trait-icon {
  border-color: rgba(180, 228, 244, .2);
  background: linear-gradient(145deg, rgba(170, 219, 239, .16), rgba(59, 119, 151, .2));
  box-shadow: 0 7px 13px rgba(0, 0, 0, .19), inset 0 1px 0 rgba(225, 247, 255, .1);
  color: #aee1f0;
}
body.is-winter.is-night:not(.is-halloween) .calendar-event--fisiek { background: #1d4e6b; }
body.is-winter.is-night:not(.is-halloween) :is(.button-primary, .print-button, .dreambook-search) {
  background: linear-gradient(135deg, #84cce2, #4a94b7);
  color: #112d47;
}
body.is-winter.is-night:not(.is-halloween) :is(.button-secondary, .back-link, .theme-toggle, .weather-dashboard-link) {
  border-color: rgba(181,228,244,.3);
  background: #204b6b;
  color: #dff5fc;
}
body.is-winter.is-night:not(.is-halloween) :is(.button-primary, .print-button, .dreambook-search, .theme-toggle, .weather-dashboard-link):hover,
body.is-winter.is-night:not(.is-halloween) :is(.button-primary, .print-button, .dreambook-search, .theme-toggle, .weather-dashboard-link):focus-visible {
  background: #d96570;
  color: #fff;
}
body.is-winter.is-night:not(.is-halloween) .halloween-toggle {
  border-color: rgba(181,228,244,.3);
  background: #204b6b;
  color: #dff5fc;
}
body.is-winter.is-night:not(.is-halloween) .halloween-toggle:hover,
body.is-winter.is-night:not(.is-halloween) .halloween-toggle:focus-visible {
  border-color: #f19aa2;
  background: #c65362;
  color: #fff;
}
body.is-winter.is-night:not(.is-halloween) .nav-links a::before { background: rgba(118,192,218,.2); }
body.is-winter.is-night:not(.is-halloween) .daily-quote-mark { background: #245471; color: #d8f3fb; }
body.is-winter.is-night:not(.is-halloween) :is(.weather-forecast-list, .weather-forecast-pressure-area) { background: #153955; }
body.is-winter.is-night:not(.is-halloween) .weather-forecast-title { background: #2d6f94; }
body.is-winter.is-night:not(.is-halloween) .weather-forecast-tabs { background: #2d6f94; }
body.is-winter.is-night:not(.is-halloween) .weather-forecast-tab[aria-pressed="true"] { background: #d8f3fb; color: #143750; }
body.is-winter.is-night:not(.is-halloween) :is(.weather-hour, .weather-forecast-pressure) {
  border-color: rgba(181,228,244,.2);
  background: #214c6b;
  color: #eaf9ff;
}
body.is-winter.is-night:not(.is-halloween) :is(.weather-pressure-trend, .weather-temperature-trend) { background: #286080; color: #d9f5fd; }
body.is-winter.is-night:not(.is-halloween) :is(.weather-pressure-trend.is-falling, .weather-temperature-trend.is-falling) { background: #703e53; color: #ffe2e5; }
body.is-winter.is-night:not(.is-halloween) :is(.weather-pressure-trend.is-steady, .weather-pressure-trend.is-unknown, .weather-temperature-trend.is-steady, .weather-temperature-trend.is-unknown) { background: #315874; color: #d5e8f0; }

/* Cytat i aktualności są częścią jednego, spokojnego pasa pod nawigacją. */
body.is-winter:not(.is-halloween) .daily-quote-bar {
  border-top-color: rgba(70,137,170,.16);
  background: rgba(234,246,252,.52);
}
body.is-winter:not(.is-halloween) :is(.daily-quote-panel, .cat-news-panel) {
  border-top: 1px solid rgba(70,137,170,.16);
  background: rgba(234,246,252,.76);
}
body.is-winter:not(.is-halloween) .daily-quote {
  margin: 0;
  padding: 10px 0 12px;
  border-top: 0;
  background: transparent;
  box-shadow: none;
}
body.is-winter:not(.is-halloween) .cat-news {
  margin: 0;
  padding: 9px 0 11px;
  border-top: 0;
  background: transparent;
  box-shadow: none;
}
body.is-winter:not(.is-halloween) :is(.daily-quote-mark, .cat-news-icon) { background: #cfe7f2; color: #276f91; }
body.is-winter:not(.is-halloween) :is(.daily-quote-label, .daily-quote-author, .daily-quote-source, .cat-news-label, .cat-news-headline, .cat-news-source) { color: #226788; }
body.is-winter:not(.is-halloween) :is(.daily-quote-text, .cat-news-date) { color: #587487; }
body.is-winter:not(.is-halloween) .cat-news-arrow {
  border-color: rgba(51,122,158,.28);
  background: rgba(249,253,255,.82);
  color: #246b8b;
}
body.is-winter:not(.is-halloween) :is(.daily-quote-toggle.is-ready, .mobile-panels-collapse) {
  border-top-color: rgba(70,137,170,.18);
  background: transparent;
  color: #226788;
}
/* Tło obu pasów dochodzi do krawędzi karty nagłówka, bez jasnych „wcięć”. */
body.is-winter:not(.is-halloween) .header-card { --winter-header-panel-inset: 20px; }
body.is-winter:not(.is-halloween) .header-card :is(.daily-quote-bar, .daily-quote-panel) {
  margin-right: calc(-1 * var(--winter-header-panel-inset));
  margin-left: calc(-1 * var(--winter-header-panel-inset));
  padding-right: var(--winter-header-panel-inset);
  padding-left: var(--winter-header-panel-inset);
}
body.is-winter:not(.is-halloween) .header-card .cat-news-panel {
  border-bottom-right-radius: 23px;
  border-bottom-left-radius: 23px;
}

body.is-winter.is-night:not(.is-halloween) .daily-quote-bar {
  border-top-color: rgba(177,226,244,.16);
  background: rgba(19,58,86,.66);
}
body.is-winter.is-night:not(.is-halloween) :is(.daily-quote-panel, .cat-news-panel) {
  border-top-color: rgba(177,226,244,.16);
  background: rgba(17,54,80,.92);
}
body.is-winter.is-night:not(.is-halloween) :is(.daily-quote, .cat-news) {
  border-top: 0;
  background: transparent;
  box-shadow: none;
}
body.is-winter.is-night:not(.is-halloween) :is(.daily-quote-mark, .cat-news-icon) { background: #255b7a; color: #d9f4fd; }
body.is-winter.is-night:not(.is-halloween) :is(.daily-quote-label, .daily-quote-author, .daily-quote-source, .cat-news-label, .cat-news-headline, .cat-news-source) { color: #c7effa; }
body.is-winter.is-night:not(.is-halloween) :is(.daily-quote-text, .cat-news-date) { color: #c2dbe5; }
body.is-winter.is-night:not(.is-halloween) .cat-news-arrow {
  border-color: rgba(182,229,245,.3);
  background: rgba(46,94,122,.72);
  color: #d9f5fd;
}
body.is-winter.is-night:not(.is-halloween) :is(.daily-quote-toggle.is-ready, .mobile-panels-collapse) {
  border-top-color: rgba(177,226,244,.18);
  background: transparent;
  color: #c7effa;
}
@media (max-width: 620px) {
  body.is-winter:not(.is-halloween) .header-card { --winter-header-panel-inset: 12px; }
  /* Zachowaj pozycje tekstu identyczne z podstawowym widokiem telefonu. */
  body.is-winter:not(.is-halloween) .daily-quote { padding: 10px 0 9px; }
  body.is-winter:not(.is-halloween) .cat-news { padding: 8px 0 9px; }
  body.is-winter:not(.is-halloween) .header-card .cat-news-panel {
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}
body.is-winter:not(.is-halloween) .brand-avatar { outline-color: #4f94b4; }
/* Mała czapa śniegu na okrągłym avatarze Fiśka w lewym rogu nagłówka. */
body.is-winter:not(.is-halloween) .brand::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: -6px;
  left: 2px;
  width: 42px;
  height: 16px;
  border-radius: 50% 50% 46% 46% / 100% 100% 44% 44%;
  clip-path: ellipse(57% 106% at 50% 105%);
  background: var(--winter-button-snow) center / 100% 100% no-repeat;
  filter: drop-shadow(0 2px 2px rgba(37,102,137,.16));
  pointer-events: none;
}

/* Mikołajkowa czapeczka kotka przy zegarze — tylko w zimowej oprawie. */
.cat-clock-santa-hat { display: none; }
body.is-winter:not(.is-halloween) .cat-clock-santa-hat {
  position: absolute;
  z-index: 5;
  top: -21px;
  left: -3px;
  display: block;
  width: 40px;
  height: 29px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 42'%3E%3Cdefs%3E%3ClinearGradient id='cap' x1='12' y1='6' x2='39' y2='33' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23f86b6d'/%3E%3Cstop offset='.58' stop-color='%23d7354c'/%3E%3Cstop offset='1' stop-color='%239a1d3a'/%3E%3C/linearGradient%3E%3ClinearGradient id='fur' x1='22' y1='25' x2='24' y2='38' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23dceef5'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M9 30C14 18 23 8 35 5c5-1 10 1 12 5-6 2-11 7-12 13-1 4 1 7 4 10-9-5-19-7-30-3Z' fill='url(%23cap)' stroke='%23851a34' stroke-width='1.25' stroke-linejoin='round'/%3E%3Cpath d='M7 29c8-3 20-2 31 3 1 2-1 5-4 6-9-4-19-5-28-3-2-1-1-5 1-6Z' fill='url(%23fur)' stroke='%23b9d9e6' stroke-width='1.15' stroke-linejoin='round'/%3E%3Cpath d='M11 31c7-2 16-1 24 2' fill='none' stroke='%23fff' stroke-opacity='.82' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='47' cy='10' r='5.2' fill='url(%23fur)' stroke='%23b9d9e6' stroke-width='1.05'/%3E%3Ccircle cx='45.4' cy='8.3' r='1.4' fill='%23fff' fill-opacity='.85'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 2px 2px rgba(31,72,96,.22));
  pointer-events: none;
  transform: rotate(-8deg);
}
body.is-winter:not(.is-halloween) .cat-clock-face {
  transform: translateY(2px);
}
/* Czapeczka biegnącego Fiśka — mniejsza, osadzona nad uszami kotka. */
body.is-winter:not(.is-halloween) .kitten-head::before {
  content: "";
  position: absolute;
  z-index: 7;
  top: -21px;
  left: 3px;
  display: block;
  width: 35px;
  height: 26px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 42'%3E%3Cdefs%3E%3ClinearGradient id='cap' x1='12' y1='6' x2='39' y2='33' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23f86b6d'/%3E%3Cstop offset='.58' stop-color='%23d7354c'/%3E%3Cstop offset='1' stop-color='%239a1d3a'/%3E%3C/linearGradient%3E%3ClinearGradient id='fur' x1='22' y1='25' x2='24' y2='38' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23dceef5'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M9 30C14 18 23 8 35 5c5-1 10 1 12 5-6 2-11 7-12 13-1 4 1 7 4 10-9-5-19-7-30-3Z' fill='url(%23cap)' stroke='%23851a34' stroke-width='1.25' stroke-linejoin='round'/%3E%3Cpath d='M7 29c8-3 20-2 31 3 1 2-1 5-4 6-9-4-19-5-28-3-2-1-1-5 1-6Z' fill='url(%23fur)' stroke='%23b9d9e6' stroke-width='1.15' stroke-linejoin='round'/%3E%3Cpath d='M11 31c7-2 16-1 24 2' fill='none' stroke='%23fff' stroke-opacity='.82' stroke-width='1.1' stroke-linecap='round'/%3E%3Ccircle cx='47' cy='10' r='5.2' fill='url(%23fur)' stroke='%23b9d9e6' stroke-width='1.05'/%3E%3Ccircle cx='45.4' cy='8.3' r='1.4' fill='%23fff' fill-opacity='.85'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 2px 2px rgba(31,72,96,.24));
  pointer-events: none;
  transform: rotate(-7deg);
  transform-origin: 44% 76%;
}
body.is-winter.is-night:not(.is-halloween) .kitten-head::before {
  filter: drop-shadow(0 2px 3px rgba(178,233,248,.22));
}
body.is-winter.is-night:not(.is-halloween) .cat-clock-santa-hat {
  filter: drop-shadow(0 2px 3px rgba(178,233,248,.22));
}
@media (max-width: 620px) {
  body.is-winter:not(.is-halloween) .brand::before {
    top: -5px;
    left: 1px;
    width: 36px;
    height: 14px;
  }
}
body.is-winter:not(.is-halloween) .brand-mark {
  background: linear-gradient(145deg, #1f6f92, #214b73);
  box-shadow: 0 5px 12px rgba(31,88,120,.2);
}
body.is-winter:not(.is-halloween) .gallery-update-badge {
  border-color: rgba(255,255,255,.8);
  background: linear-gradient(145deg, #d4545d, #a72f48);
  color: #fff;
  box-shadow: 0 3px 8px rgba(137,45,64,.23);
}

/* Skróty HORO, SENNIK, GALERIA i KOLOR. — ich zimowa oprawa zachowuje
   istniejący układ, a śnieżna czapa jest wyłącznie dekoracją. */
body.is-winter:not(.is-halloween) {
  --winter-button-snow: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 24%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3ClinearGradient id=%22snow%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ffffff%22/%3E%3Cstop offset=%22.68%22 stop-color=%22%23f8fcff%22/%3E%3Cstop offset=%221%22 stop-color=%22%23d9edf7%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M0 24V8c5 1 8-4 14-3 5 1 7-2 13-1 6 2 9-4 16-2 5 1 7 4 13 2 5-2 9 0 14-1 6-2 8 3 14 2 5-1 8 1 17 0v15Z%22 fill=%22url(%23snow)%22/%3E%3Cpath d=%22M5 18c11-2 19 1 29-1 12-3 20 2 31-1 10-3 19 1 30-1%22 fill=%22none%22 stroke=%22%23c8e5f2%22 stroke-opacity=%22.56%22 stroke-width=%221.1%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");
}
body.is-winter:not(.is-halloween) .horoscope-toggle {
  isolation: isolate;
  overflow: visible;
  border-color: rgba(57,132,169,.38);
  background: linear-gradient(145deg, #fbfeff 0%, #dceff8 56%, #b7ddeb 100%);
  box-shadow: 0 7px 17px rgba(33,92,124,.18), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -1px 0 rgba(92,162,194,.18);
  color: #1c6687;
  text-shadow: 0 1px 0 rgba(255,255,255,.86);
}
body.is-winter:not(.is-halloween) .horoscope-toggle::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 2px;
  left: 2px;
  height: 16px;
  border-radius: 13px 13px 10px 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 24%22 preserveAspectRatio=%22none%22%3E%3Cdefs%3E%3ClinearGradient id=%22snow%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ffffff%22/%3E%3Cstop offset=%22.68%22 stop-color=%22%23f8fcff%22/%3E%3Cstop offset=%221%22 stop-color=%22%23d9edf7%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%22M0 24V8c5 1 8-4 14-3 5 1 7-2 13-1 6 2 9-4 16-2 5 1 7 4 13 2 5-2 9 0 14-1 6-2 8 3 14 2 5-1 8 1 17 0v15Z%22 fill=%22url(%23snow)%22/%3E%3Cpath d=%22M5 18c11-2 19 1 29-1 12-3 20 2 31-1 10-3 19 1 30-1%22 fill=%22none%22 stroke=%22%23c8e5f2%22 stroke-opacity=%22.56%22 stroke-width=%221.1%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  filter: drop-shadow(0 2px 2px rgba(37,102,137,.16));
  pointer-events: none;
}
/* Ta sama czapa śniegu zdobi pozostałe skróty nagłówka. */
body.is-winter:not(.is-halloween) :is(.weather-dashboard-link, .theme-toggle, .halloween-toggle, .winter-theme-toggle, .header-coloring-link) {
  position: relative;
  isolation: isolate;
  overflow: visible;
}
body.is-winter:not(.is-halloween) :is(.weather-dashboard-link, .theme-toggle, .halloween-toggle, .winter-theme-toggle, .header-coloring-link)::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 2px;
  left: 2px;
  height: 16px;
  border-radius: 13px 13px 10px 10px;
  background: var(--winter-button-snow) center / 100% 100% no-repeat;
  filter: drop-shadow(0 2px 2px rgba(37,102,137,.16));
  pointer-events: none;
}
.header-coloring-link::before { z-index: 1; }
body.is-winter:not(.is-halloween) .menu-toggle {
  overflow: visible;
}
.winter-menu-snow { display: none; }
body.is-winter:not(.is-halloween) .winter-menu-snow {
  position: absolute;
  z-index: 0;
  top: -6px;
  right: 2px;
  left: 2px;
  display: block;
  height: 16px;
  border-radius: 13px 13px 10px 10px;
  background: var(--winter-button-snow) center / 100% 100% no-repeat;
  filter: drop-shadow(0 2px 2px rgba(37,102,137,.16));
  pointer-events: none;
}
body.is-winter:not(.is-halloween) .menu-toggle :is(.menu-toggle-label, .menu-toggle-line) { z-index: 1; }
body.is-winter:not(.is-halloween) .horoscope-toggle:focus-visible {
  outline-color: rgba(44,132,171,.54);
}
@media (hover: hover) {
  body.is-winter:not(.is-halloween) .horoscope-toggle:hover {
    border-color: #2d83a9;
    box-shadow: 0 10px 20px rgba(33,92,124,.24), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -1px 0 rgba(92,162,194,.2);
  }
}
body.is-winter:not(.is-halloween) .horoscope-shortcut-image {
  box-shadow: 0 0 0 1px rgba(44,123,160,.2), inset 0 0 0 1px rgba(255,255,255,.72);
}
body.is-winter:not(.is-halloween) .horoscope-gallery-lock {
  border-color: rgba(57,132,169,.4);
  background: linear-gradient(145deg, #ffffff, #d9eef8);
  color: #23769a;
  box-shadow: 0 2px 5px rgba(34,91,122,.2);
}
body.is-winter:not(.is-halloween) .horoscope-shortcut .gallery-update-badge {
  border-color: rgba(255,255,255,.92);
  background: linear-gradient(145deg, #cf5965, #9f344b);
  color: #fff;
  box-shadow: 0 3px 8px rgba(119,46,66,.27), inset 0 1px 0 rgba(255,255,255,.24);
  text-shadow: 0 1px 0 rgba(83,28,43,.26);
}
body.is-winter:not(.is-halloween) .horoscope-panel {
  border-color: rgba(70,144,179,.36);
  background-color: #f6fcff;
  background-image:
    radial-gradient(circle at 88% 14%, rgba(183,223,240,.56), transparent 41%),
    radial-gradient(circle at 8% 94%, rgba(221,241,250,.86), transparent 45%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(222,240,249,.97));
  box-shadow: 0 15px 29px rgba(33,88,118,.22), inset 0 1px 0 rgba(255,255,255,.96);
  color: #1b4e69;
}
body.is-winter:not(.is-halloween) .horoscope-panel :is(h2, a, .horoscope-period, .dreambook-label, .dreambook-result h3) {
  color: #1f6f93;
}
body.is-winter.is-night:not(.is-halloween) .horoscope-toggle {
  border-color: rgba(165,222,242,.42);
  background: linear-gradient(145deg, #285b7e 0%, #1d4a6c 58%, #173a5a 100%);
  box-shadow: 0 8px 18px rgba(2,19,35,.42), inset 0 1px 0 rgba(218,245,255,.16), inset 0 -1px 0 rgba(3,26,47,.4);
  color: #e3f7ff;
  text-shadow: 0 1px 0 rgba(4,29,49,.5);
}
body.is-winter.is-night:not(.is-halloween) .horoscope-toggle::before {
  filter: drop-shadow(0 2px 3px rgba(0,13,28,.5));
}
body.is-winter.is-night:not(.is-halloween) .horoscope-gallery-lock {
  border-color: rgba(184,231,247,.58);
  background: linear-gradient(145deg, #285c7d, #183e60);
  color: #e6f9ff;
}
body.is-winter.is-night:not(.is-halloween) .horoscope-panel {
  border-color: rgba(175,226,245,.3);
  background-color: #143b5a;
  background-image:
    radial-gradient(circle at 88% 14%, rgba(91,164,198,.28), transparent 42%),
    radial-gradient(circle at 8% 94%, rgba(48,111,145,.32), transparent 48%),
    linear-gradient(145deg, rgba(29,75,105,.98), rgba(13,43,68,.99));
  box-shadow: 0 16px 30px rgba(0,11,24,.42), inset 0 1px 0 rgba(219,246,255,.08);
  color: #e9f8ff;
}
body.is-winter.is-night:not(.is-halloween) .horoscope-panel :is(h2, a, .horoscope-period, .dreambook-label, .dreambook-result h3) {
  color: #bfeeff;
}

/* Główne menu: zimowy błękit zastępuje ciepłe, standardowe akcenty. */
body.is-winter:not(.is-halloween) .nav-links a {
  color: #246b8b;
}
body.is-winter:not(.is-halloween) .nav-links a::before {
  background: rgba(174,219,238,.62);
}
body.is-winter:not(.is-halloween) .nav-links a::after {
  background-image: radial-gradient(circle, #2f89ae 0 1.6px, transparent 2px);
}
body.is-winter:not(.is-halloween) .nav-links a:hover,
body.is-winter:not(.is-halloween) .nav-links a:focus-visible {
  color: #1a7ca4;
}
body.is-winter:not(.is-halloween) .nav-links a:focus-visible {
  outline-color: rgba(51,139,177,.36);
}
body.is-winter:not(.is-halloween) :is(.nav-links .coloring-link, .header-coloring-link) {
  border-color: rgba(54,132,169,.4);
  background: linear-gradient(145deg, #fbfeff, #d7edf7);
  box-shadow: 0 4px 11px rgba(37,96,127,.16), inset 0 1px 0 rgba(255,255,255,.92);
}
body.is-winter:not(.is-halloween) :is(.nav-links .coloring-link:hover, .nav-links .coloring-link:focus-visible, .header-coloring-link:focus-visible) {
  border-color: #2e89af;
  box-shadow: 0 8px 16px rgba(37,96,127,.22), inset 0 1px 0 rgba(255,255,255,.96);
}
@media (hover: hover) {
  body.is-winter:not(.is-halloween) .header-coloring-link:hover {
    border-color: #2e89af;
    box-shadow: 0 8px 16px rgba(37,96,127,.22), inset 0 1px 0 rgba(255,255,255,.96);
  }
}
body.is-winter:not(.is-halloween) .menu-toggle {
  border-color: rgba(54,132,169,.4);
  background: linear-gradient(145deg, #fbfeff, #d7edf7);
  box-shadow: 0 6px 14px rgba(37,96,127,.16), inset 0 1px 0 rgba(255,255,255,.94);
  color: #216c8d;
}
body.is-winter:not(.is-halloween) .menu-toggle:where(:not(.header-touch-input *)):focus-visible {
  border-color: #2e89af;
  background: linear-gradient(145deg, #ffffff, #c9e7f4);
  box-shadow: 0 9px 18px rgba(37,96,127,.22), inset 0 1px 0 rgba(255,255,255,.96);
  color: #1b6f94;
  outline-color: rgba(51,139,177,.36);
}
@media (hover: hover) {
  body.is-winter:not(.is-halloween) .menu-toggle:where(:not(.header-touch-input *)):hover {
    border-color: #2e89af;
    background: linear-gradient(145deg, #ffffff, #c9e7f4);
    box-shadow: 0 9px 18px rgba(37,96,127,.22), inset 0 1px 0 rgba(255,255,255,.96);
    color: #1b6f94;
  }
}
@media (min-width: 0px) {
  body.is-winter:not(.is-halloween) .nav-links {
    border-color: rgba(56,133,170,.3);
    background: linear-gradient(145deg, rgba(252,254,255,.98), rgba(218,239,248,.98));
    box-shadow: 0 18px 34px rgba(33,88,118,.2), inset 0 1px 0 rgba(255,255,255,.9);
  }
  body.is-winter:not(.is-halloween) .nav-links a,
  body.is-winter:not(.is-halloween) .nav-links a:first-child {
    background: linear-gradient(135deg, rgba(228,246,253,.98), rgba(190,225,241,.96));
    box-shadow: inset 0 0 0 1px rgba(72,143,174,.18), inset 0 1px 0 rgba(255,255,255,.74);
    color: #246b8b;
  }
  body.is-winter:not(.is-halloween) .nav-links a:hover,
  body.is-winter:not(.is-halloween) .nav-links a:focus-visible {
    background: linear-gradient(135deg, rgba(213,238,249,.99), rgba(166,211,231,.98));
    box-shadow: inset 0 0 0 1px rgba(48,128,165,.3), inset 0 1px 0 rgba(255,255,255,.78);
    color: #176e96;
  }
  body.is-winter:not(.is-halloween) .nav-links .coloring-link,
  body.is-winter:not(.is-halloween) .nav-links .coloring-link:hover,
  body.is-winter:not(.is-halloween) .nav-links .coloring-link:focus-visible {
    background: transparent;
    box-shadow: none;
  }
  body.is-winter:not(.is-halloween) .nav-links .menu-extra a.menu-coloring-link:first-child,
  body.is-winter:not(.is-halloween) .nav-links .menu-extra a.menu-coloring-link:first-child:hover,
  body.is-winter:not(.is-halloween) .nav-links .menu-extra a.menu-coloring-link:first-child:focus-visible {
    background: transparent;
    box-shadow: none;
  }
  body.is-winter:not(.is-halloween) .nav-links .menu-extra .menu-coloring-icon { background: transparent; }
  body.is-winter:not(.is-halloween) .nav-links :is(.menu-status, .menu-extra) {
    border-top-color: rgba(56,133,170,.18);
    color: #58798b;
  }
  body.is-winter:not(.is-halloween) .nav-links .menu-status strong {
    color: #246b8b;
  }
}
body.is-winter.is-night:not(.is-halloween) .nav-links a { color: #c8effb; }
body.is-winter.is-night:not(.is-halloween) .nav-links a::before { background: rgba(108,181,213,.18); }
body.is-winter.is-night:not(.is-halloween) .nav-links a::after { background-image: radial-gradient(circle, #bfefff 0 1.6px, transparent 2px); }
body.is-winter.is-night:not(.is-halloween) .nav-links a:hover,
body.is-winter.is-night:not(.is-halloween) .nav-links a:focus-visible { color: #f0fbff; }
body.is-winter.is-night:not(.is-halloween) :is(.nav-links .coloring-link, .header-coloring-link) {
  border-color: rgba(176,229,247,.46);
  background: linear-gradient(145deg, #2a6385, #173f60);
  box-shadow: 0 5px 13px rgba(0,13,27,.38), inset 0 1px 0 rgba(221,247,255,.1);
}
body.is-winter.is-night:not(.is-halloween) .menu-toggle {
  border-color: rgba(176,229,247,.4);
  background: linear-gradient(145deg, #2a6385, #173f60);
  box-shadow: 0 6px 15px rgba(0,13,27,.38), inset 0 1px 0 rgba(221,247,255,.1);
  color: #d7f5ff;
}
@media (min-width: 0px) {
  body.is-winter.is-night:not(.is-halloween) .nav-links {
    border-color: rgba(176,229,247,.27);
    background: linear-gradient(145deg, rgba(29,76,106,.98), rgba(12,42,67,.99));
    box-shadow: 0 18px 34px rgba(0,10,23,.4), inset 0 1px 0 rgba(220,246,255,.07);
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links a,
  body.is-winter.is-night:not(.is-halloween) .nav-links a:first-child {
    background: linear-gradient(135deg, rgba(87,159,194,.28), rgba(36,92,127,.4));
    box-shadow: inset 0 0 0 1px rgba(180,229,246,.15), inset 0 1px 0 rgba(232,250,255,.08);
    color: #c8effb;
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links a:hover,
  body.is-winter.is-night:not(.is-halloween) .nav-links a:focus-visible {
    background: linear-gradient(135deg, rgba(104,181,215,.38), rgba(44,111,150,.5));
    box-shadow: inset 0 0 0 1px rgba(196,238,251,.27), inset 0 1px 0 rgba(238,252,255,.12);
    color: #f1fbff;
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links .coloring-link,
  body.is-winter.is-night:not(.is-halloween) .nav-links .coloring-link:hover,
  body.is-winter.is-night:not(.is-halloween) .nav-links .coloring-link:focus-visible {
    background: transparent;
    box-shadow: none;
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links .menu-extra a.menu-coloring-link:first-child,
  body.is-winter.is-night:not(.is-halloween) .nav-links .menu-extra a.menu-coloring-link:first-child:hover,
  body.is-winter.is-night:not(.is-halloween) .nav-links .menu-extra a.menu-coloring-link:first-child:focus-visible {
    background: transparent;
    box-shadow: none;
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links .menu-extra .menu-coloring-icon { background: transparent; }
  body.is-winter.is-night:not(.is-halloween) .nav-links :is(.menu-status, .menu-extra) {
    border-top-color: rgba(176,229,247,.18);
    color: #b4d5e1;
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links .menu-status strong { color: #d8f5ff; }
}
/* Przyciski menu korzystają z tej samej spokojnej palety co pozostałe panele strony. */
@media (min-width: 0px) {
  body.is-winter:not(.is-halloween) .nav-links {
    border-color: var(--line);
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(231,244,250,.98));
    box-shadow: 0 18px 34px rgba(35,91,119,.16), inset 0 1px 0 rgba(255,255,255,.94);
  }
  body.is-winter:not(.is-halloween) .nav-links a,
  body.is-winter:not(.is-halloween) .nav-links a:first-child {
    background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(222,240,248,.92));
    box-shadow: inset 0 0 0 1px rgba(56,126,159,.15), inset 0 1px 0 rgba(255,255,255,.82);
    color: var(--ink);
  }
  body.is-winter:not(.is-halloween) .nav-links a:hover,
  body.is-winter:not(.is-halloween) .nav-links a:focus-visible {
    background: linear-gradient(145deg, rgba(237,248,252,.98), rgba(203,231,242,.98));
    box-shadow: inset 0 0 0 1px rgba(42,119,153,.26), inset 0 1px 0 rgba(255,255,255,.88);
    color: var(--deep-mint);
  }
  body.is-winter:not(.is-halloween) .nav-links :is(.menu-status, .menu-extra) {
    border-top-color: var(--line);
    color: var(--muted);
  }
  body.is-winter:not(.is-halloween) .nav-links .menu-status strong { color: var(--deep-mint); }

  body.is-winter.is-night:not(.is-halloween) .nav-links {
    border-color: var(--line);
    background: linear-gradient(145deg, rgba(24,61,86,.98), rgba(15,42,64,.99));
    box-shadow: 0 18px 34px rgba(0,11,24,.36), inset 0 1px 0 rgba(220,246,255,.08);
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links a,
  body.is-winter.is-night:not(.is-halloween) .nav-links a:first-child {
    background: linear-gradient(145deg, rgba(41,93,122,.72), rgba(25,68,96,.82));
    box-shadow: inset 0 0 0 1px rgba(180,229,246,.13), inset 0 1px 0 rgba(238,252,255,.08);
    color: var(--ink);
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links a:hover,
  body.is-winter.is-night:not(.is-halloween) .nav-links a:focus-visible {
    background: linear-gradient(145deg, rgba(62,122,153,.78), rgba(32,83,112,.9));
    box-shadow: inset 0 0 0 1px rgba(196,238,251,.23), inset 0 1px 0 rgba(238,252,255,.12);
    color: #fff;
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links :is(.menu-status, .menu-extra) {
    border-top-color: var(--line);
    color: var(--muted);
  }
  body.is-winter.is-night:not(.is-halloween) .nav-links .menu-status strong { color: var(--deep-mint); }
}
body.is-winter:not(.is-halloween) .day-status--desktop,
body.is-winter:not(.is-halloween) .day-status--mobile {
  border-color: rgba(73,145,179,.28);
  background: linear-gradient(135deg, rgba(235,248,254,.97), rgba(206,231,244,.93));
  color: #1b6380;
}
body.is-winter.is-night:not(.is-halloween) :is(.day-status--desktop, .day-status--mobile) {
  border-color: rgba(181,228,244,.24);
  background: linear-gradient(135deg, rgba(40,85,113,.98), rgba(19,53,80,.98));
  color: #d7f2fb;
}
body.is-winter:not(.is-halloween) .weather-mobile-backdrop { opacity: .72; filter: saturate(.9) hue-rotate(166deg); }
body.is-winter:not(.is-halloween) .seasonal-halloween-toggle { display: none !important; }
/* W administracji nietoperz pozostaje widoczny, ale nie przechwytuje kliknięcia
   przeznaczonego dla przełącznika zimy znajdującego się pod nim. */
body.is-guestbook-admin .seasonal-halloween-toggle { pointer-events: none; }
body.is-guestbook-admin .site-header { z-index: 32; }

/* Przełącznik jest tworzony tylko na stronie głównej i odsłania się po zalogowaniu administratora. */
.winter-theme-toggle {
  position: relative;
  z-index: 1;
  display: none;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-content: center;
  justify-items: center;
  grid-template-rows: 18px 9px;
  padding: 0;
  border: 1px solid rgba(31,93,123,.26);
  border-radius: 14px;
  background: linear-gradient(145deg, #f9fdff, #d8ecf6);
  box-shadow: 0 6px 15px rgba(31,89,119,.16), inset 0 1px 0 rgba(255,255,255,.88);
  color: #246b8b;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
html.winter-button-public-visible .winter-theme-toggle, body.is-guestbook-admin .winter-theme-toggle { display: grid; }
.winter-theme-toggle-icon { font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: 1.05rem; line-height: 1; }
.winter-theme-toggle-label { font-size: .48rem; font-weight: 950; letter-spacing: .05em; line-height: 1; }
.winter-theme-toggle:not(.is-active) :is(.winter-theme-toggle-icon, .winter-theme-toggle-label) { display: block; width: 100%; justify-self: stretch; text-align: center; }
.winter-theme-toggle:not(.is-active) .winter-theme-toggle-icon { transform: translateX(-1px); }
.winter-theme-toggle:hover, .winter-theme-toggle:focus-visible {
  border-color: #277b9e;
  box-shadow: 0 9px 18px rgba(31,89,119,.22), inset 0 1px 0 rgba(255,255,255,.92);
  transform: translateY(-2px);
}
.winter-theme-toggle:focus-visible { outline: 3px solid rgba(61,139,175,.34); outline-offset: 3px; }
.winter-theme-toggle.is-active {
  border-color: rgba(235,252,255,.96);
  background: linear-gradient(145deg, #17688f 0%, #2b8fb6 54%, #69bbd8 100%);
  box-shadow: 0 8px 18px rgba(16,73,111,.38), inset 0 1px 0 rgba(242,253,255,.52), inset 0 -2px 3px rgba(7,56,86,.22);
  color: #fff;
}
.winter-theme-toggle.is-active .winter-theme-toggle-icon { animation: winter-toggle-snowflake 6.2s ease-in-out infinite; color: #ffffff; filter: drop-shadow(0 1px 2px rgba(1,35,55,.78)); text-shadow: 0 1px 1px rgba(3,44,68,.66); transform-origin: center; will-change: transform; }
.winter-theme-toggle.is-active .winter-theme-toggle-label { color: #f5fdff; letter-spacing: .09em; text-shadow: 0 1px 1px rgba(4,47,75,.42); }
body.is-night:not(.is-halloween) .winter-theme-toggle:not(.is-active) {
  border-color: rgba(183,230,245,.3);
  background: linear-gradient(145deg, #294e6d, #1a3857);
  color: #d9f3fb;
}

/* Zimowe zakończenie strony: lodowa paleta i dyskretny, wektorowy bałwanek. */
body.is-winter:not(.is-halloween) .finale {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 13% 22%, rgba(255,255,255,.98), transparent 28%),
    radial-gradient(circle at 85% 79%, rgba(173,215,236,.5), transparent 25%),
    linear-gradient(118deg, #dff2fa 0%, #f9fdff 47%, #d8edf7 100%);
}
body.is-winter:not(.is-halloween) .finale > .shell {
  position: relative;
  z-index: 1;
}
body.is-winter:not(.is-halloween) .finale::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 66%;
  right: clamp(108px, 15vw, 270px);
  bottom: auto;
  width: clamp(158px, 18vw, 258px);
  aspect-ratio: 260 / 310;
  pointer-events: none;
  opacity: .52;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 310'%3E%3Cdefs%3E%3ClinearGradient id='snow' x1='58' y1='44' x2='197' y2='274' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23d8edf7'/%3E%3C/linearGradient%3E%3ClinearGradient id='scarf' x1='77' y1='144' x2='183' y2='171' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2373afc9'/%3E%3Cstop offset='1' stop-color='%239b86b9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='132' cy='285' rx='95' ry='14' fill='%2375adca' fill-opacity='.18'/%3E%3Cpath d='M66 204c0-39 29-72 66-72s66 33 66 72-29 76-66 76-66-37-66-76Z' fill='url(%23snow)' stroke='%2375adca' stroke-width='4'/%3E%3Ccircle cx='132' cy='104' r='53' fill='url(%23snow)' stroke='%2375adca' stroke-width='4'/%3E%3Cpath d='M76 146c14 18 87 22 113 1l-6 24c-24 17-65 17-99 0l-8-25Z' fill='url(%23scarf)'/%3E%3Cpath d='M161 163c9 5 17 12 24 22l-22 3-10-20 8-5Z' fill='%239b86b9'/%3E%3Cpath d='M77 59h111l-13-20H90L77 59Z' fill='%233e7394'/%3E%3Cpath d='M94 40h76V10H94v30Z' fill='%23295779'/%3E%3Ccircle cx='112' cy='97' r='5' fill='%232a5876'/%3E%3Ccircle cx='152' cy='97' r='5' fill='%232a5876'/%3E%3Cpath d='m129 110 27 6-27 7v-13Z' fill='%23ed9a62'/%3E%3Cpath d='M121 133c7 5 13 5 21 0' fill='none' stroke='%232a5876' stroke-linecap='round' stroke-width='3'/%3E%3Ccircle cx='132' cy='189' r='6' fill='%234a7f9f'/%3E%3Ccircle cx='132' cy='214' r='6' fill='%234a7f9f'/%3E%3Ccircle cx='132' cy='239' r='6' fill='%234a7f9f'/%3E%3Cpath d='M67 185 28 162M197 185l36-25' fill='none' stroke='%236791a8' stroke-linecap='round' stroke-width='5'/%3E%3Cpath d='m37 157-11-12m11 12-16 1m166-1 11-12m-11 12 16 1' fill='none' stroke='%236791a8' stroke-linecap='round' stroke-width='4'/%3E%3C/svg%3E") center / contain no-repeat;
  background: url("winter-snowman.svg") center / contain no-repeat;
  filter: drop-shadow(0 12px 15px rgba(36,101,133,.12));
  transform: translateY(-50%);
}
body.is-winter:not(.is-halloween) .finale::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 18px;
  left: clamp(16px, 6vw, 118px);
  width: clamp(245px, 29vw, 430px);
  height: clamp(170px, 18vw, 260px);
  pointer-events: none;
  opacity: .22;
  background:
    url("header-snowflake.svg?v=20261030-2") 0 4% / clamp(66px, 7vw, 100px) no-repeat,
    url("header-snowflake.svg?v=20261030-2") 66% 52% / clamp(42px, 4.6vw, 70px) no-repeat,
    url("header-snowflake.svg?v=20261030-2") 28% 94% / clamp(28px, 3.1vw, 48px) no-repeat;
  filter: drop-shadow(0 4px 6px rgba(39, 104, 136, .11));
  transform: rotate(-6deg);
}
body.is-winter:not(.is-halloween) .finale .paws {
  color: #4e9bbb;
  text-shadow: 0 2px 0 rgba(255,255,255,.8);
}
body.is-winter:not(.is-halloween) .finale h2 { color: var(--ink); }
body.is-winter:not(.is-halloween) .finale p { color: var(--muted); }
body.is-winter:not(.is-halloween) .finale .wisdom-generator {
  border-color: rgba(76,148,181,.27);
  background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(220,240,249,.92));
  box-shadow: 0 16px 31px rgba(42,105,138,.14), inset 0 1px 0 rgba(255,255,255,.95);
}
body.is-winter:not(.is-halloween) .finale .wisdom-label { color: #267394 !important; }
body.is-winter:not(.is-halloween) .finale .wisdom-button {
  background: linear-gradient(135deg, #347fa5, #315a8d);
  box-shadow: 0 7px 16px rgba(35,96,138,.22), inset 0 1px 0 rgba(227,249,255,.22);
}
body.is-winter:not(.is-halloween) .finale .wisdom-button span { color: #d9f6ff; }
body.is-winter:not(.is-halloween) .finale .wisdom-bubble {
  border: 1px solid rgba(85,154,185,.2);
  background: rgba(250,254,255,.9);
  color: #295b76;
}

body.is-winter.is-night:not(.is-halloween) .finale {
  background:
    radial-gradient(ellipse at 14% 18%, rgba(112,177,207,.2), transparent 30%),
    radial-gradient(circle at 85% 82%, rgba(74,125,168,.26), transparent 27%),
    linear-gradient(118deg, #153c5a 0%, #102d47 48%, #162e52 100%);
}
body.is-winter.is-night:not(.is-halloween) .finale::before {
  opacity: .39;
  filter: brightness(.88) saturate(.82) drop-shadow(0 12px 16px rgba(0,0,0,.28));
}
body.is-winter.is-night:not(.is-halloween) .finale::after {
  opacity: .17;
  filter: brightness(1.3) saturate(.82) drop-shadow(0 4px 7px rgba(0, 0, 0, .26));
}
body.is-winter.is-night:not(.is-halloween) .finale .paws { color: #8ed0e8; text-shadow: none; }
body.is-winter.is-night:not(.is-halloween) .finale h2 { color: var(--ink); }
body.is-winter.is-night:not(.is-halloween) .finale p { color: var(--muted); }
body.is-winter.is-night:not(.is-halloween) .finale .wisdom-generator {
  border-color: rgba(175,226,245,.23);
  background: linear-gradient(145deg, rgba(27,74,104,.95), rgba(15,49,76,.96));
  box-shadow: 0 16px 31px rgba(0,11,25,.28), inset 0 1px 0 rgba(219,246,255,.08);
}
body.is-winter.is-night:not(.is-halloween) .finale .wisdom-label { color: #9bddef !important; }
body.is-winter.is-night:not(.is-halloween) .finale .wisdom-button {
  background: linear-gradient(135deg, #4a95b9, #276386);
  color: #f4fcff;
}
body.is-winter.is-night:not(.is-halloween) .finale .wisdom-bubble {
  border-color: rgba(176,229,247,.18);
  background: rgba(10,39,63,.78);
  color: #edfaff;
}

@media (max-width: 620px) {
  body.is-winter:not(.is-halloween) .finale::before {
    top: 66%;
    right: 58px;
    bottom: auto;
    width: 150px;
    opacity: .3;
  }
  body.is-winter:not(.is-halloween) .finale::after {
    top: 15px;
    left: -26px;
    width: 230px;
    height: 170px;
    opacity: .15;
  }
  body.is-winter.is-night:not(.is-halloween) .finale::before { opacity: .25; }
}

/* Nocna pogoda zachowuje swoją pierwotną, granatową paletę także w zimowym motywie. */
body.is-winter:not(.is-halloween) .weather-widget.is-night {
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(135deg, #263958, #17283f);
  box-shadow: 0 7px 17px rgba(24,40,43,.2);
}
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-place { color: #fffdf8; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-summary { color: rgba(255,255,255,.73); }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-icon { background: #465982; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-air { color: #b8e5d9; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-air.is-fair { color: #ffe09a; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-air.is-moderate { color: #ffbd7d; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-air.is-poor, .weather-air.is-very-poor, .weather-air.is-extremely-poor) { color: #ffadb0; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-air.is-unknown { color: rgba(255,255,255,.68); }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-imgw-status.is-loading, .weather-imgw-status.is-unavailable) { background: #465773; color: #e0eeeb; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-imgw-status.is-clear { border-color: rgba(159,221,188,.32); background: #2d4d48; color: #d7faea; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-imgw-status.is-warning.is-level-1 { background: #694451; color: #ffd0bf; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-imgw-status.is-warning.is-level-2 { background: #665327; color: #ffe3a0; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-imgw-status.is-warning.is-level-3 { background: #693e4b; color: #ffd2d2; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-forecast-card { border-color: rgba(255,255,255,.18); background: #20324e; box-shadow: 0 16px 30px rgba(9,19,35,.38); }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-forecast-card::before { border-color: rgba(255,255,255,.18); background: #20324e; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-forecast-rings, .weather-forecast-rings::after) { border-color: #b8d8d2; background: #3a4b70; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-forecast-title { background: #3a4b70; color: #fffdf8; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-forecast-list, .weather-forecast-pressure-area) { background: #20324e; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-hour, .weather-forecast-pressure) { border-color: rgba(184,229,217,.28); background: #334663; color: #b8e5d9; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-pressure-trend, .weather-temperature-trend) { background: #355a61; color: #c4f3df; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-pressure-trend.is-falling, .weather-temperature-trend.is-falling) { background: #694451; color: #ffd0bf; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-pressure-trend.is-steady, .weather-pressure-trend.is-unknown, .weather-temperature-trend.is-steady, .weather-temperature-trend.is-unknown) { background: #465773; color: #e0eeeb; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-hour { color: #fffdf8; }
body.is-winter:not(.is-halloween) .weather-widget.is-night :is(.weather-hour time, .weather-forecast-empty) { color: rgba(255,255,255,.72); }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-hour-temp { color: #b8e5d9; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-hour-precip { color: #b7e5ff; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-mobile-outlook {
  border-color: rgba(184,229,217,.2);
  background: linear-gradient(145deg, rgba(25,45,70,.76), rgba(48,70,103,.59));
  color: #fffdf8;
  box-shadow: inset 2px 2px 4px rgba(0,0,0,.28), inset -2px -2px 4px rgba(128,157,198,.16);
}
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-mobile-outlook time { color: rgba(255,255,255,.72); }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-mobile-outlook-temp { color: #b8e5d9; }
body.is-winter:not(.is-halloween) .weather-widget.is-night .weather-mobile-backdrop { filter: none; }
body.is-winter.is-night:not(.is-halloween) .weather-dashboard-link { border-color: rgba(255,255,255,.15); background: #40557b; color: #fffdf8; }
body.is-winter.is-night:not(.is-halloween) .weather-dashboard-label { color: #fffdf8; }

/* Album Fiśka: lodowa oprawa zaproszenia na stronie głównej i karty odblokowania w galerii. */
body.is-winter:not(.is-halloween) .gallery-invitation-card {
  border-color: rgba(72,143,176,.3);
  background:
    radial-gradient(circle at 88% 12%, rgba(189,225,240,.58), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.95), rgba(220,240,249,.9));
  box-shadow: 0 15px 31px rgba(42,104,136,.14), inset 0 1px 0 rgba(255,255,255,.96);
}
body.is-winter:not(.is-halloween) .gallery-invitation-icon {
  background: linear-gradient(145deg, #d8edf7, #b8ddea);
  color: #267395;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
body.is-winter:not(.is-halloween) .gallery-invitation-card strong { color: #1e6683; }
body.is-winter:not(.is-halloween) .gallery-invitation-card p { color: #5b798b; }
body.is-winter:not(.is-halloween) .gallery-page .gallery-heading h1 { color: #1d6687; }
body.is-winter:not(.is-halloween) .gallery-page .gallery-note { color: #5a7889; }
body.is-winter:not(.is-halloween) .gallery-lock {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(72,143,176,.3);
  background:
    radial-gradient(circle at 90% 8%, rgba(181,220,239,.68), transparent 31%),
    radial-gradient(circle at 8% 95%, rgba(220,213,242,.38), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(225,242,250,.94));
  box-shadow: 0 18px 40px rgba(42,104,136,.15), inset 0 1px 0 rgba(255,255,255,.98);
}
body.is-winter:not(.is-halloween) .gallery-lock::before {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -39px;
  z-index: -1;
  width: 180px;
  height: 180px;
  border: 2px solid rgba(102,172,203,.19);
  border-radius: 50%;
  box-shadow: -20px -24px 0 -9px rgba(158,205,226,.16), -52px 9px 0 -12px rgba(198,216,240,.21);
  transform: rotate(-12deg);
}
body.is-winter:not(.is-halloween) .gallery-lock-icon {
  background: linear-gradient(145deg, #d4edf8, #becfeb);
  box-shadow: 0 6px 13px rgba(43,108,141,.16), inset 0 1px 0 rgba(255,255,255,.85);
}
body.is-winter:not(.is-halloween) .gallery-lock h2 { color: #1e6683; }
body.is-winter:not(.is-halloween) .gallery-lock p { color: #5a7889; }
body.is-winter:not(.is-halloween) .gallery-lock .guestbook-field input {
  border-color: rgba(76,148,182,.3);
  background: rgba(251,254,255,.92);
  color: #1c445e;
}
body.is-winter:not(.is-halloween) .gallery-lock .guestbook-field input:focus {
  border-color: #579cc1;
  box-shadow: 0 0 0 4px rgba(115,188,218,.18);
}
body.is-winter:not(.is-halloween) .gallery-access-request {
  border-color: rgba(81,151,182,.28);
  background: linear-gradient(135deg, rgba(231,246,252,.9), rgba(214,235,246,.78));
}
body.is-winter:not(.is-halloween) .gallery-access-request::before { filter: hue-rotate(132deg) saturate(.78); opacity: .2; }
body.is-winter:not(.is-halloween) .gallery-access-request-icon {
  background: linear-gradient(145deg, #347fa5, #315a8d);
  box-shadow: 0 4px 9px rgba(35,96,138,.19), inset 0 1px 0 rgba(227,249,255,.24);
}
body.is-winter:not(.is-halloween) .gallery-access-request h3 { color: #246d8e; }
body.is-winter:not(.is-halloween) .gallery-access-request :is(p, .gallery-access-note) { color: #5a7889; }
body.is-winter:not(.is-halloween) .gallery-access-request .gallery-access-policy {
  border-color: rgba(76,148,182,.34);
  background: rgba(255,255,255,.52);
  color: #456a7c;
}
body.is-winter:not(.is-halloween) .gallery-access-field { color: #255f7d; }
body.is-winter:not(.is-halloween) .gallery-access-field textarea {
  border-color: rgba(76,148,182,.3);
  background: rgba(252,254,255,.88);
  color: #1c445e;
}
body.is-winter:not(.is-halloween) .gallery-access-field textarea:focus-visible {
  outline-color: rgba(85,156,193,.3);
  border-color: #579cc1;
}

body.is-winter.is-night:not(.is-halloween) .gallery-invitation-card {
  border-color: rgba(175,226,245,.24);
  background:
    radial-gradient(circle at 88% 12%, rgba(76,145,179,.27), transparent 37%),
    linear-gradient(145deg, rgba(26,63,89,.96), rgba(15,45,70,.97));
  box-shadow: 0 15px 31px rgba(0,11,25,.28), inset 0 1px 0 rgba(218,246,255,.07);
}
body.is-winter.is-night:not(.is-halloween) .gallery-invitation-icon { background: linear-gradient(145deg, #2d6385, #1a4263); color: #bdeffd; }
body.is-winter.is-night:not(.is-halloween) .gallery-invitation-card strong { color: #e8f9ff; }
body.is-winter.is-night:not(.is-halloween) .gallery-invitation-card p,
body.is-winter.is-night:not(.is-halloween) .gallery-page .gallery-note { color: #b8d7e4; }
body.is-winter.is-night:not(.is-halloween) .gallery-page .gallery-heading h1 { color: #e3f7ff; }
body.is-winter.is-night:not(.is-halloween) .gallery-lock {
  border-color: rgba(175,226,245,.25);
  background:
    radial-gradient(circle at 90% 8%, rgba(74,140,174,.27), transparent 33%),
    radial-gradient(circle at 9% 94%, rgba(86,92,151,.22), transparent 40%),
    linear-gradient(145deg, rgba(25,64,92,.98), rgba(12,39,64,.99));
  box-shadow: 0 18px 40px rgba(0,10,23,.32), inset 0 1px 0 rgba(221,246,255,.07);
}
body.is-winter.is-night:not(.is-halloween) .gallery-lock::before {
  border-color: rgba(152,216,239,.15);
  box-shadow: -20px -24px 0 -9px rgba(96,170,204,.13), -52px 9px 0 -12px rgba(136,133,203,.14);
}
body.is-winter.is-night:not(.is-halloween) .gallery-lock-icon { background: linear-gradient(145deg, #2d6385, #1a4263); }
body.is-winter.is-night:not(.is-halloween) .gallery-lock h2 { color: #e5f8ff; }
body.is-winter.is-night:not(.is-halloween) .gallery-lock p { color: #b8d7e4; }
body.is-winter.is-night:not(.is-halloween) .gallery-lock .guestbook-field input {
  border-color: rgba(176,229,247,.27);
  background: rgba(8,35,58,.58);
  color: #edf9ff;
}
body.is-winter.is-night:not(.is-halloween) .gallery-access-request {
  border-color: rgba(176,229,247,.24);
  background: linear-gradient(135deg, rgba(31,76,105,.9), rgba(13,44,69,.96));
}
body.is-winter.is-night:not(.is-halloween) .gallery-access-request::before { filter: hue-rotate(128deg) saturate(.65); opacity: .16; }
body.is-winter.is-night:not(.is-halloween) .gallery-access-request-icon { background: #9bddec; color: #14354f; }
body.is-winter.is-night:not(.is-halloween) .gallery-access-request h3,
body.is-winter.is-night:not(.is-halloween) .gallery-access-field { color: #e8f9ff; }
body.is-winter.is-night:not(.is-halloween) .gallery-access-request :is(p, .gallery-access-note) { color: #bdd9e5; }
body.is-winter.is-night:not(.is-halloween) .gallery-access-request .gallery-access-policy {
  border-color: rgba(176,229,247,.3);
  background: rgba(7,31,53,.34);
  color: #d1e6ef;
}
body.is-winter.is-night:not(.is-halloween) .gallery-access-field textarea {
  border-color: rgba(176,229,247,.28);
  background: rgba(7,31,53,.42);
  color: #edf9ff;
}

/* Nocne harce Fiśka: spokojny, śnieżny pejzaż pozostaje wyłącznie ozdobą w tle. */
body.is-winter:not(.is-halloween) .night-play {
  isolation: isolate;
  background:
    url("winter-night-harce.svg?v=20261031-4") center bottom / min(1440px, 100%) auto no-repeat,
    radial-gradient(circle at 74% 18%, rgba(230,247,255,.13), transparent 15rem),
    radial-gradient(circle at 13% 88%, rgba(190,221,245,.19), transparent 20rem),
    linear-gradient(135deg, #174d74, #16395f 56%, #142f53);
}
body.is-winter:not(.is-halloween) .night-play::before,
body.is-winter:not(.is-halloween) .night-play::after { display: none; }
body.is-winter:not(.is-halloween) .night-play .night-grid { position: relative; z-index: 1; }
body.is-winter.is-night:not(.is-halloween) .night-play {
  background:
    url("winter-night-harce.svg?v=20261031-4") center bottom / min(1440px, 100%) auto no-repeat,
    radial-gradient(circle at 74% 18%, rgba(177,224,244,.08), transparent 15rem),
    radial-gradient(circle at 13% 88%, rgba(84,91,154,.12), transparent 20rem),
    linear-gradient(135deg, #0e304e, #081e34 56%, #050f20);
  box-shadow: inset 0 0 80px rgba(1,11,24,.24), inset 0 -58px 72px rgba(1,10,22,.2);
}
@media (max-width: 620px) {
  body.is-winter:not(.is-halloween) .night-play {
    background-size: 1050px auto, auto, auto, auto;
    background-position: 54% bottom, center, center, center;
  }
}

/* Lodowa paleta łapek: zachowuje czytelność zarówno na jasnym, jak i nocnym tle. */
body.is-winter:not(.is-halloween) :is(
  .sticker--paws > .paw-print,
  .paw-trail span,
  .calendar-zodiac-value > span[aria-hidden="true"],
  .horoscope-toggle-symbol,
  .night-card-icon,
  .gallery-lock .button > span[aria-hidden="true"],
  .cat-icon
) {
  filter: sepia(.32) hue-rotate(132deg) saturate(.92) brightness(1.08)
    drop-shadow(0 2px 2px rgba(29, 109, 145, .24));
}

body.is-winter:not(.is-halloween) .paw-trail {
  filter: drop-shadow(0 3px 5px rgba(29, 109, 145, .28));
}

body.is-winter:not(.is-halloween) .finale .paws {
  color: #347f9f;
  text-shadow: 0 1px 0 rgba(255,255,255,.94), 0 3px 8px rgba(54,128,160,.18);
}

body.is-winter.is-night:not(.is-halloween) :is(
  .sticker--paws > .paw-print,
  .paw-trail span,
  .calendar-zodiac-value > span[aria-hidden="true"],
  .horoscope-toggle-symbol,
  .night-card-icon,
  .gallery-lock .button > span[aria-hidden="true"],
  .cat-icon
) {
  filter: sepia(.23) hue-rotate(142deg) saturate(.86) brightness(1.3)
    drop-shadow(0 2px 4px rgba(154, 231, 255, .3));
}

body.is-winter.is-night:not(.is-halloween) .paw-trail {
  filter: drop-shadow(0 3px 6px rgba(129, 218, 247, .34));
}

body.is-winter.is-night:not(.is-halloween) .finale .paws {
  color: #a9eafb;
  text-shadow: 0 0 9px rgba(125,216,245,.34);
}

/* Miniaturowe łapki widoczne przy elementach dotykowych również otrzymują zimową paletę. */
@media (any-pointer: coarse) and (max-width: 960px) {
  body.is-winter:not(.is-halloween) .cat-clock::after,
  body.is-winter:not(.is-halloween) .horoscope-toggle:not(.horoscope-shortcut)::after,
  body.is-winter:not(.is-halloween) .horoscope-picker-wrap::after,
  body.is-winter:not(.is-halloween) .weather-widget::after,
  body.is-winter:not(.is-halloween) .sticker--paws::after,
  body.is-winter:not(.is-halloween) .guestbook-reactions-toggle::after,
  body.is-winter:not(.is-halloween) .avatar-touch-preview summary::after,
  body.is-winter:not(.is-halloween) .sticker--heart::after {
    border-color: rgba(44, 130, 166, .42);
    background-color: #effaff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232f7d9f'%3E%3Cellipse cx='4.5' cy='9' rx='2.4' ry='3.1' transform='rotate(-25 4.5 9)'/%3E%3Cellipse cx='9' cy='5.3' rx='2.4' ry='3.1' transform='rotate(-8 9 5.3)'/%3E%3Cellipse cx='15' cy='5.3' rx='2.4' ry='3.1' transform='rotate(8 15 5.3)'/%3E%3Cellipse cx='19.5' cy='9' rx='2.4' ry='3.1' transform='rotate(25 19.5 9)'/%3E%3Cpath d='M12 10.1c-2.7 0-3.8 2.5-6.1 4.8-2.3 2.4-.4 5.8 2.5 5.5 1.2-.1 2.3-.7 3.6-.7s2.4.6 3.6.7c2.9.3 4.8-3.1 2.5-5.5-2.3-2.3-3.4-4.8-6.1-4.8z'/%3E%3C/svg%3E");
    box-shadow: 0 2px 6px rgba(35, 112, 147, .22);
  }

  body.is-winter.is-night:not(.is-halloween) .cat-clock::after,
  body.is-winter.is-night:not(.is-halloween) .horoscope-toggle:not(.horoscope-shortcut)::after,
  body.is-winter.is-night:not(.is-halloween) .horoscope-picker-wrap::after,
  body.is-winter.is-night:not(.is-halloween) .weather-widget::after,
  body.is-winter.is-night:not(.is-halloween) .sticker--paws::after,
  body.is-winter.is-night:not(.is-halloween) .guestbook-reactions-toggle::after,
  body.is-winter.is-night:not(.is-halloween) .avatar-touch-preview summary::after,
  body.is-winter.is-night:not(.is-halloween) .sticker--heart::after {
    border-color: rgba(176, 235, 251, .48);
    background-color: #173d5c;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b9efff'%3E%3Cellipse cx='4.5' cy='9' rx='2.4' ry='3.1' transform='rotate(-25 4.5 9)'/%3E%3Cellipse cx='9' cy='5.3' rx='2.4' ry='3.1' transform='rotate(-8 9 5.3)'/%3E%3Cellipse cx='15' cy='5.3' rx='2.4' ry='3.1' transform='rotate(8 15 5.3)'/%3E%3Cellipse cx='19.5' cy='9' rx='2.4' ry='3.1' transform='rotate(25 19.5 9)'/%3E%3Cpath d='M12 10.1c-2.7 0-3.8 2.5-6.1 4.8-2.3 2.4-.4 5.8 2.5 5.5 1.2-.1 2.3-.7 3.6-.7s2.4.6 3.6.7c2.9.3 4.8-3.1 2.5-5.5-2.3-2.3-3.4-4.8-6.1-4.8z'/%3E%3C/svg%3E");
    box-shadow: 0 2px 7px rgba(123, 214, 244, .24);
  }
}

@keyframes winter-toggle-snowflake {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(12deg) scale(1.055); }
}

@keyframes winter-snowfall {
  from { background-position: 0 0, 25px -60px, -70px -120px, 45px -180px, -90px -35px, 85px -160px; }
  to { background-position: -32px 260px, 8px 250px, -108px 180px, 19px 120px, -120px 280px, 52px 100px; }
}
@keyframes winter-section-snowfall {
  from { background-position: 0 0, 34px -94px, -68px -148px, 76px -230px; }
  to { background-position: -24px 300px, 8px 242px, -96px 196px, 48px 168px; }
}
@keyframes winter-snowflake-drift {
  from { background-position: 0 0; }
  to { background-position: -84px 160px; }
}

@media (prefers-reduced-motion: reduce) {
  .winter-snow, .winter-snow::before, .winter-section-snow, .winter-theme-toggle.is-active .winter-theme-toggle-icon { animation: none; will-change: auto; }
}

@media (max-width: 620px) {
  /*
   * Na telefonach przeglądarka potrafi błędnie składać jednocześnie animowane
   * warstwy SVG, filtry oraz elementy sticky. Zamiast bitmapowych ozdób
   * stosujemy tutaj proste, nieruchome warstwy CSS — bez migotania i bez
   * prostokątnych artefaktów nad nagłówkiem, skrótami i stopką.
   */
  body.is-winter:not(.is-halloween) .winter-snow,
  body.is-winter:not(.is-halloween) .winter-section-snow {
    animation: none;
    will-change: auto;
  }
  body.is-winter:not(.is-halloween) .winter-snow::before {
    display: none;
    animation: none;
  }
  body.is-winter:not(.is-halloween) .winter-section-snow { opacity: .12; }

  body.is-winter:not(.is-halloween) .brand::before {
    top: -3px;
    left: 2px;
    width: 34px;
    height: 10px;
    border: 1px solid rgba(144, 193, 216, .62);
    border-radius: 52% 52% 45% 45% / 100% 100% 52% 52%;
    background: linear-gradient(180deg, #fff 0%, #f7fcff 54%, #d9edf7 100%);
    box-shadow: 0 1px 2px rgba(37, 102, 137, .16);
    clip-path: none;
    filter: none;
    transform: none;
  }

  body.is-winter:not(.is-halloween) .horoscope-toggle::before,
  body.is-winter:not(.is-halloween) :is(.weather-dashboard-link, .theme-toggle, .halloween-toggle, .winter-theme-toggle, .header-coloring-link)::before,
  body.is-winter:not(.is-halloween) .winter-menu-snow {
    top: -4px;
    right: 3px;
    left: 3px;
    height: 10px;
    border: 1px solid rgba(151, 199, 220, .6);
    border-radius: 55% 55% 46% 46% / 100% 100% 52% 52%;
    background: linear-gradient(180deg, #fff 0%, #f8fcff 56%, #dceff8 100%);
    box-shadow: 0 1px 2px rgba(37, 102, 137, .14);
    filter: none;
    transform: none;
  }
  body.is-winter:not(.is-halloween) .horoscope-toggle,
  body.is-winter:not(.is-halloween) :is(.weather-dashboard-link, .theme-toggle, .halloween-toggle, .winter-theme-toggle, .header-coloring-link, .menu-toggle) {
    backface-visibility: visible;
  }

  body.is-winter:not(.is-halloween) .cat-clock-santa-hat {
    /* Pełna czapeczka z widoku komputerowego, przeskalowana wyłącznie do małego avatara. */
    top: -18px;
    left: -3px;
    width: 35px;
    height: 25px;
    transform: rotate(-8deg);
    /* Bez filtru GPU: zapobiega urywaniu czapeczki na części telefonów. */
    filter: none;
  }
  /* Stopka: pełna czapeczka SVG, osadzona względem 42-pikselowego avatara. */
  body.is-winter:not(.is-halloween) .footer-avatar-wrap::before {
    z-index: 3;
    top: -14px;
    left: 10px;
    width: 32px;
    height: 24px;
    border: 0;
    border-radius: 0;
    background-position: center;
    background-size: contain;
    clip-path: none;
    transform: rotate(3deg);
    transform-origin: 44% 76%;
    filter: none;
  }

  /* Ozdoby nie są przycinane przez małe kontenery ikon. */
  body.is-winter:not(.is-halloween) :is(.cat-clock-face, .footer-avatar-wrap, .kitten-head) {
    isolation: isolate;
    overflow: visible;
  }
  body.is-winter:not(.is-halloween) .kitten-head::before { filter: none; }

  .winter-theme-toggle {
    grid-row: 1;
    grid-column: 4;
    width: 38px;
    flex-basis: 38px;
  }
  .header-status[data-seasonal-controls="both"] .winter-theme-toggle { grid-column: 5; }
}
