:root{--aws-holiday-red:#b51f2e;--aws-holiday-green:#0e6b3a;--aws-holiday-gold:#ffd66b;--aws-holiday-ink:#fff}
.aws-holiday-layer{position:fixed;inset:0;z-index:2147481000;pointer-events:none;overflow:hidden;font-family:system-ui,sans-serif;transition:opacity .14s ease}
.aws-holiday-garland,.aws-holiday-corner,.aws-holiday-lights{transition:opacity .16s ease,filter .16s ease}
.aws-holiday-context-admin .aws-holiday-garland{top:32px}
.aws-holiday-garland{position:absolute;left:0;right:0;top:0;height:112px;display:flex;justify-content:center;filter:drop-shadow(0 5px 10px rgba(0,0,0,.26))}
.aws-holiday-garland img{width:min(1280px,100%);height:112px;object-fit:fill}
.aws-holiday-lights{position:absolute;inset:15px 4% auto;height:18px;background:radial-gradient(circle at 8px 8px,#fff 0 2px,var(--aws-holiday-gold) 3px 5px,transparent 6px) 0 0/44px 18px repeat-x;animation:awsHolidayTwinkle 2.8s ease-in-out infinite}
.aws-holiday-corner{position:absolute;top:48px;width:190px;max-width:20vw;filter:drop-shadow(0 8px 10px rgba(0,0,0,.24))}
.aws-holiday-context-admin .aws-holiday-corner{top:76px}
.aws-holiday-corner-left{left:0}.aws-holiday-corner-right{right:0;transform:scaleX(-1)}
.aws-holiday-snow{position:absolute;inset:0}.aws-holiday-flake{position:absolute;top:-8vh;color:#fff;text-shadow:0 0 7px rgba(255,255,255,.8);animation:awsHolidayFall linear infinite,awsHolidayDrift ease-in-out infinite;opacity:.9}
.aws-holiday-snowbank{position:absolute;left:-2%;right:-2%;bottom:-18px;height:48px;background:radial-gradient(80px 28px at 8% 30%,#fff 0 58%,transparent 60%),radial-gradient(110px 36px at 24% 40%,#eef8ff 0 58%,transparent 60%),radial-gradient(90px 32px at 45% 35%,#fff 0 58%,transparent 60%),radial-gradient(120px 36px at 67% 45%,#f4fbff 0 58%,transparent 60%),radial-gradient(100px 30px at 88% 35%,#fff 0 58%,transparent 60%)}
.aws-holiday-santa{position:absolute;top:15vh;left:-340px;width:290px;filter:drop-shadow(0 8px 7px rgba(0,0,0,.28));opacity:0}.aws-holiday-santa.is-flying{animation:awsHolidaySanta 12s ease-in-out 1}
.aws-holiday-controls{position:fixed;right:18px;bottom:18px;z-index:2147481001;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:min(92vw,560px);font-family:system-ui,sans-serif}
.aws-holiday-countdown,.aws-holiday-sound{border:1px solid rgba(255,255,255,.5);box-shadow:0 6px 22px rgba(0,0,0,.22);backdrop-filter:blur(8px);border-radius:999px;background:rgba(22,79,50,.92);color:#fff;padding:9px 13px;font-size:13px;line-height:1.2}.aws-holiday-sound{cursor:pointer;pointer-events:auto}.aws-holiday-sound[aria-pressed=true]{background:rgba(157,29,42,.94)}
.aws-holiday-pack-wonderland{--aws-holiday-red:#4d75a3;--aws-holiday-green:#244d68;--aws-holiday-gold:#d8f6ff}.aws-holiday-pack-wonderland .aws-holiday-garland{filter:hue-rotate(120deg) saturate(.55) brightness(1.25) drop-shadow(0 5px 10px rgba(0,0,0,.22))}.aws-holiday-pack-wonderland+.aws-holiday-controls>*{background:rgba(37,71,105,.92)}
.aws-holiday-pack-candy{--aws-holiday-red:#d31f3d;--aws-holiday-green:#0a8c63;--aws-holiday-gold:#fff}.aws-holiday-pack-candy .aws-holiday-garland{filter:saturate(1.25) brightness(1.12)}
.aws-holiday-pack-gold{--aws-holiday-red:#7a2332;--aws-holiday-green:#233f31;--aws-holiday-gold:#f5d77c}.aws-holiday-pack-gold .aws-holiday-garland{filter:sepia(.32) saturate(.9) brightness(.96)}
.aws-holiday-pack-cozy{--aws-holiday-red:#9e3429;--aws-holiday-green:#36523b;--aws-holiday-gold:#e8bd72}.aws-holiday-pack-cozy .aws-holiday-garland{filter:saturate(.72) sepia(.18)}
.aws-holiday-density-full .aws-holiday-corner{width:215px}
.aws-holiday-layer.is-hover-clear{opacity:.07}.aws-holiday-layer.is-hover-clear .aws-holiday-garland,.aws-holiday-layer.is-hover-clear .aws-holiday-corner,.aws-holiday-layer.is-hover-clear .aws-holiday-lights,.aws-holiday-layer.is-hover-clear .aws-holiday-santa{opacity:.05}
.aws-holiday-manager{margin-top:18px}.aws-holiday-component-actions{display:flex;gap:8px;flex-wrap:wrap}
.aws-holiday-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.aws-holiday-preview-card{min-height:150px;padding:12px;border:1px solid #c3c4c7;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;text-align:center;overflow:hidden}.aws-holiday-preview-card strong{align-self:flex-start}.aws-holiday-preview-card img{max-width:100%;max-height:110px}.aws-holiday-preview-wide{grid-column:span 2}.aws-holiday-preview-stage{position:relative;width:100%;min-height:92px;background:linear-gradient(#203849,#ecf6fb);overflow:hidden;border-radius:8px}.aws-holiday-preview-stage img{width:100%;height:92px;object-fit:fill}.aws-holiday-preview-lights{position:absolute;left:5%;right:5%;top:18px;height:12px;background:radial-gradient(circle,#ffe46b 0 3px,transparent 4px) 0 0/30px 12px repeat-x}.aws-holiday-preview-snow{font-size:29px;line-height:1.8;color:#76a9cf;background:#eaf7ff;border-radius:8px;padding:8px 18px}.aws-holiday-preview-pill{border-radius:999px;background:#175c3b;color:#fff;padding:8px 12px}.aws-holiday-pack-preview{display:flex;gap:8px;flex-wrap:wrap}.aws-holiday-pack-preview span{border-radius:999px;padding:7px 11px;color:#fff;font-weight:600}.aws-holiday-pack-preview .is-classic{background:#17663b}.aws-holiday-pack-preview .is-wonderland{background:#426f9c}.aws-holiday-pack-preview .is-candy{background:linear-gradient(135deg,#c52039 50%,#16855d 50%)}.aws-holiday-pack-preview .is-gold{background:#8e6e26}.aws-holiday-pack-preview .is-cozy{background:#8d4b36}
body.aws-admin-appearance-dark .aws-holiday-preview-card,body.aws-admin-appearance-gray .aws-holiday-preview-card{background:var(--aws-tone-surface-soft);border-color:var(--aws-tone-border);color:var(--aws-tone-text)}
@keyframes awsHolidayTwinkle{0%,100%{opacity:.55;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.55)}}@keyframes awsHolidayFall{to{transform:translateY(115vh) rotate(260deg)}}@keyframes awsHolidayDrift{0%,100%{margin-left:-14px}50%{margin-left:18px}}@keyframes awsHolidaySanta{0%{left:-340px;opacity:0;transform:translateY(20px) rotate(-2deg)}7%{opacity:1}45%{transform:translateY(-10px) rotate(1deg)}90%{opacity:1}100%{left:110vw;opacity:0;transform:translateY(12px) rotate(-1deg)}}
@media(max-width:782px){.aws-holiday-context-admin .aws-holiday-garland{top:46px}.aws-holiday-context-admin .aws-holiday-corner{top:88px}}
@media(max-width:700px){.aws-holiday-corner{width:100px;top:48px}.aws-holiday-garland,.aws-holiday-garland img{height:84px}.aws-holiday-controls{right:10px;bottom:10px}.aws-holiday-density-standard .aws-holiday-corner{display:none}.aws-holiday-preview-grid{grid-template-columns:1fr}.aws-holiday-preview-wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.aws-holiday-flake,.aws-holiday-lights,.aws-holiday-santa{animation:none!important}.aws-holiday-santa{display:none!important}}

.aws-holiday-calendar{display:grid;gap:8px;margin-top:14px}
.aws-holiday-calendar-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;border:1px solid #c3c4c7;border-radius:10px;background:#fff}
.aws-holiday-calendar-row>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aws-holiday-calendar-row>div:last-child{justify-content:flex-end;text-align:right}
.aws-holiday-calendar-row span{color:#50575e}
.aws-holiday-calendar-row small{color:#646970}
.aws-holiday-calendar-row.is-coming{opacity:.58}
.aws-holiday-ready{display:inline-block;padding:3px 8px;border-radius:999px;background:#dff4e4;color:#145c2d!important;font-weight:600}
.aws-holiday-coming{display:inline-block;padding:3px 8px;border-radius:999px;background:#f0f0f1;color:#646970!important;font-weight:600}
body.aws-admin-appearance-dark .aws-holiday-calendar-row,body.aws-admin-appearance-gray .aws-holiday-calendar-row{background:var(--aws-tone-surface-soft);border-color:var(--aws-tone-border);color:var(--aws-tone-text)}
body.aws-admin-appearance-dark .aws-holiday-calendar-row span,body.aws-admin-appearance-dark .aws-holiday-calendar-row small,body.aws-admin-appearance-gray .aws-holiday-calendar-row span,body.aws-admin-appearance-gray .aws-holiday-calendar-row small{color:var(--aws-tone-muted)}
@media(max-width:700px){.aws-holiday-calendar-row{align-items:flex-start;flex-direction:column}.aws-holiday-calendar-row>div:last-child{justify-content:flex-start;text-align:left}}
