/* Seasonal effects (founder, 2026-10-07): under the header (50) and dialogs, over the page; never catches taps. */
.pm-sea{position:fixed;inset:0;pointer-events:none;z-index:45;overflow:hidden}
.pm-sea-p{position:absolute;left:0;top:0;display:block;will-change:transform,opacity;pointer-events:none;line-height:0}
.pm-sea-p svg{display:block}
.pm-sea-or{color:var(--orange,#FF5A1F)}
.pm-sea-gr{color:#9A948C}
.pm-sea-iv{color:#C9C2B6}
.pm-sea-gh{color:#7E7A74}
html[data-theme="dark"] .pm-sea-iv{color:#F4EFE7}
html[data-theme="dark"] .pm-sea-gh{color:#E9E3DA}
html[data-theme="dark"] .pm-sea-gr{color:#A7A199}
@media (prefers-reduced-motion: reduce){.pm-sea{display:none}}
/* Snowflakes (founder, 2026-11-06): white with a light warm-beige outline so they show on ivory. */
.pm-sea-sn .pm-sn-out{stroke:#E6D9CC}
.pm-sea-sn .pm-sn-line{stroke:#fff}
.pm-sea-sn .pm-sn-in{fill:#fff;stroke:#E6D9CC}
html[data-theme="dark"] .pm-sea-sn .pm-sn-out,html[data-theme="dark"] .pm-sea-sn .pm-sn-in{stroke:rgba(230,217,204,.45)}
/* Santa hat on the "P" of the logo (founder, 2026-11-06): about as wide as the P, tilted 20° to the left on its top-left
   corner; out of the layout so the header never moves. Wobble: about 1 s, then still, every 3.6 s. */
.pm-hatted{position:relative}
.pm-hat{position:absolute;left:-.24em;top:-.42em;width:.86em;height:.8em;overflow:visible;pointer-events:none;transform:rotate(-20deg);transform-origin:52% 80%}
.pm-hat .pm-hat-all{transform-box:view-box;transform-origin:33px 47px;animation:pmHatWob 3.6s ease-in-out 1.2s infinite}
.pm-hat .pm-hat-tip{transform-box:view-box;transform-origin:31px 12px;animation:pmHatTip 3.6s ease-in-out 1.2s infinite}
@keyframes pmHatWob{0%{transform:rotate(0)}7%{transform:rotate(-7deg)}14%{transform:rotate(5deg)}21%{transform:rotate(-3deg)}27%{transform:rotate(1deg)}31%,100%{transform:rotate(0)}}
@keyframes pmHatTip{0%{transform:rotate(0)}8%{transform:rotate(14deg)}15%{transform:rotate(-10deg)}22%{transform:rotate(6deg)}28%{transform:rotate(-2deg)}32%,100%{transform:rotate(0)}}
.pm-tab-hidden .pm-hat *{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.pm-hat *{animation:none!important}}
