.clacur-navidad {
    --festivo-verde: #073d36;
    --festivo-oro: #f5d58a;
    --festivo-rojo: #80213a;
}
.clacur-navidad body {
    background: radial-gradient(ellipse at 90% 0, #366658 0, transparent 44%),
        linear-gradient(145deg, #071d24, #103d35 58%, #391a29);
}
.clacur-navidad .app { background: transparent; }
.clacur-navidad .side {
    background: linear-gradient(155deg, #123e35, #092722 62%, #351e29);
    border-color: #a7874e;
    box-shadow: inset -1px 0 #f5d58a55;
}
.clacur-navidad .brand .logo {
    background: linear-gradient(145deg, #ac3b50, #651427);
    color: #fff0cb;
    border: 1px solid var(--festivo-oro);
    box-shadow: 0 0 22px #ffcb7650;
}
.clacur-navidad .hero, .clacur-navidad .hero-card {
    border-color: #bca365;
    box-shadow: 0 18px 45px #071d2448, inset 0 0 0 1px #f5d58a30;
}
.clacur-navidad .hero-action { background: var(--festivo-rojo); color: #fff6df; }
.clacur-navidad .brand::after {
    content: '✦';
    margin-inline-start: auto;
    color: var(--festivo-oro);
    text-shadow: 0 0 16px #ffd16d;
}
#clacurSnow {
    position: fixed;
    inset: 0;
    z-index: 30;
    pointer-events: none;
    overflow: hidden;
}
#clacurSnow::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: repeating-linear-gradient(90deg, #972344 0 16px, #f7d78d 16px 30px, #1b6950 30px 46px, #faf1cf 46px 55px);
    box-shadow: 0 0 15px #f5d58a88;
}
#clacurSnow i {
    position: absolute;
    top: -10px;
    left: var(--x);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: #fff9df;
    box-shadow: 0 0 8px #ffedab;
    opacity: .65;
    animation: clacur-nieve var(--duration) var(--delay) linear infinite;
}
@keyframes clacur-nieve {
    55% { transform: translate3d(26px, 55vh, 0); }
    to { transform: translate3d(-12px, calc(100vh + 12px), 0); }
}
.clacur-aviso[hidden] { display: none; }
.clacur-aviso {
    position: fixed;
    z-index: 2147483000;
    inset: max(12px, env(safe-area-inset-top)) 12px auto;
    margin-inline: auto;
    width: min(660px, calc(100% - 24px));
    max-height: 85vh;
    overflow: auto;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: clamp(48px, 12vw, 90px) minmax(0, 1fr) auto;
    gap: 12px;
    padding: 14px;
    border: 2px solid #f8c773;
    border-radius: 18px;
    color: #fff4e5;
    background: linear-gradient(130deg, #301922, #642c28);
    box-shadow: 0 12px 45px #0009;
    font: 16px/1.4 system-ui, sans-serif;
}
.clacur-aviso img { width: 100%; align-self: center; filter: drop-shadow(0 0 9px #ffcc7090); animation: clacur-alan .6s ease-out; }
@keyframes clacur-alan { from { transform: translateY(9px); opacity: .35; } }
.clacur-aviso small { color: #ffda9b; font-weight: 800; letter-spacing: .08em; }
.clacur-aviso strong { display: block; font-size: clamp(18px, 3vw, 24px); }
.clacur-aviso p { margin: .35em 0; }
.clacur-aviso a { color: #ffe2a6; text-decoration: underline; }
.clacur-aviso button {
    align-self: start;
    min-width: 44px;
    min-height: 44px;
    border-radius: 10px;
    border: 1px solid #ffda9b;
    color: #fff4e5;
    background: #381b26;
    font: 28px/1 system-ui, sans-serif;
    cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
    #clacurSnow i { display: none; }
    .clacur-aviso img { animation: none; }
}
.clacur-fuentes {
    display: block;
    padding: 0 10px 6px;
    color: inherit;
    font-size: .76rem;
}
.clacur-monitor {
    position: fixed;
    right: 12px;
    bottom: 12px;
    z-index: 65;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: min(290px, 70vw);
    background: #092c2c;
    color: #fff;
    border: 1px solid #e8cf967a;
    border-radius: 12px;
    padding-inline-end: 10px;
    box-shadow: 0 4px 18px #0004;
}
.clacur-monitor button {
    border: 0;
    border-radius: 11px;
    min-height: 44px;
    min-width: 44px;
    font-size: 20px;
    color: #ffe1a0;
    background: #164741;
    cursor: pointer;
}
.clacur-monitor button.online { color: #bdf7ce; }
.clacur-fuentes { padding: 0; }
.clacur-navidad .brand {
    border-bottom: 1px solid #e6c87970;
    position: relative;
}
.clacur-navidad .brand::before {
    content: '';
    position: absolute;
    inset: auto 0 -4px;
    height: 7px;
    pointer-events: none;
    background: radial-gradient(circle, #fff0ab 0 2px, #d8aa5a70 3px, transparent 4px) 0 0 / 21px 7px repeat-x;
    filter: drop-shadow(0 0 5px #ffcf6e);
}
.clacur-navidad .main { background: radial-gradient(ellipse at 100% 0, #f7d38945, transparent 45%); }
.clacur-navidad .clacur-file-viewer .stage { box-shadow: inset 0 1px #e2bd7980; }

/* Temporada AIPAFA */

.clacur-navidad .avatar-stage { --gorro-ancho: 28%; --gorro-arriba: 8%; --gorro-izquierda: 35%; }
.clacur-navidad .avatar-stage::after {
    content: '';
    position: absolute;
    z-index: 9;
    pointer-events: none;
    width: var(--gorro-ancho);
    aspect-ratio: 1.45;
    top: var(--gorro-arriba);
    left: var(--gorro-izquierda);
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 44'%3E%3Cpath d='M8 35Q9 9 30 8q12 0 23 13l-13-3 9 17Z' fill='%23bd2340' stroke='%23881630' stroke-width='2'/%3E%3Cpath d='M10 32h39q8 0 7 8-22 6-48 0-4-5 2-8Z' fill='%23fff8e4'/%3E%3Ccircle cx='54' cy='20' r='7' fill='%23fff8e4'/%3E%3C/svg%3E");
    transform: rotate(-12deg);
}
.clacur-navidad .avatar-card { border-color: #aa8345; }
.clacur-navidad .avatar-head b { color: #80213a; }
