/* Christmas decorations - only loaded between 1 Nov and 1 Jan. The site's own colours stay as they are. */
.xm-snow{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483000}
.xm-lights{position:fixed;left:0;top:0;width:100%;height:34px;pointer-events:none;z-index:2147483001;overflow:hidden}
.xm-lights svg{display:block}
.xm-wire{fill:none;stroke:#2c2c2c;stroke-width:1.4}
.xm-cap{fill:#3a3a3a}
.xm-bulb{animation:xm-twinkle 2.4s ease-in-out infinite;filter:drop-shadow(0 0 4px currentColor)}
@keyframes xm-twinkle{0%,100%{opacity:1}50%{opacity:.35}}
.xm-hat{position:absolute;pointer-events:none;z-index:3;line-height:0;transform:rotate(-14deg);transform-origin:45% 90%}
.xm-hat svg{width:100%;height:auto;display:block}
.xm-hi{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;z-index:2147483002;
  display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);
  padding:10px 10px 10px 16px;background:#0a0a0a;border:1px solid #262626;border-radius:999px;
  color:#f2f2f2;font:13px/1.4 'IBM Plex Mono',ui-monospace,Consolas,monospace;
  box-shadow:0 8px 30px rgba(0,0,0,.6);transition:opacity .4s ease,transform .4s ease}
.xm-hi.xm-in{opacity:1;transform:translate(-50%,0)}
.xm-hi.xm-out{opacity:0;transform:translate(-50%,20px)}
.xm-hi .xm-tree{font-size:16px}
.xm-hi .xm-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xm-hi .xm-x{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:0;background:transparent;color:#8c8c8c;
  font-size:17px;line-height:26px;cursor:pointer;padding:0}
.xm-hi .xm-x:hover{color:#f2f2f2;background:#181818}
@media (max-width:520px){.xm-hi{font-size:12px;bottom:14px;border-radius:18px;width:calc(100vw - 32px)}.xm-hi .xm-t{white-space:normal;flex:1}}
@media (prefers-reduced-motion:reduce){.xm-bulb{animation:none}.xm-hi{transition:none}}
@media print{.xm-snow,.xm-lights,.xm-hat,.xm-hi{display:none!important}}
