.icore-seasonal-host {
  position: relative;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation) {
  --icore-seasonal-ink: #9c724f;
}
.dark :is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation) {
  --icore-seasonal-ink: #d6ab79;
}
.icore-seasonal-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  border-radius: inherit;
  contain: paint;
}
.icore-seasonal-surfaces {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 11;
  border-radius: inherit;
  contain: paint;
}
.icore-seasonal-navigation {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 11;
  contain: paint;
}
.icore-seasonal-ornament {
  position: absolute;
  right: 24px;
  top: 110px;
  width: 132px;
  opacity: 0.94;
}
.icore-seasonal-art {
  display: block;
  width: 100%;
  height: auto;
  image-rendering: pixelated;
}
.icore-seasonal-surface {
  position: absolute;
  inset: 0 auto auto 0;
  width: 32px;
  height: 26px;
  color: var(--icore-seasonal-ink);
  opacity: 0.92;
  pointer-events: none;
}
.icore-seasonal-surface svg {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.icore-seasonal-surface[data-surface='mode-end'] svg {
  transform: scaleX(-1);
}
.icore-seasonal-surface[data-surface='composer'] {
  width: 22px;
  height: 18px;
  opacity: 0.94;
}
.icore-seasonal-surface[data-surface='sidebar'] {
  width: 24px;
  height: 20px;
}
.icore-seasonal-surface[data-surface='ghost'] {
  width: 32px;
  height: 32px;
  opacity: 0.95;
}
.icore-seasonal-surface[data-surface='ghost'] > svg {
  overflow: visible;
}
.icore-seasonal-surface[data-surface='ghost'] svg svg {
  width: 32px;
  height: 32px;
  overflow: hidden;
}
.icore-seasonal-surface[data-surface='companion'] {
  width: 72px;
  height: 72px;
  opacity: 0.94;
}
:is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-theme='christmas']
  .icore-seasonal-surface {
  color: #79a6b5;
  opacity: 0.8;
}
.icore-seasonal-layer[data-theme='halloween'] .icore-seasonal-ornament {
  filter: drop-shadow(0 4px 7px #b16b2018);
}
.dark
  :is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-theme='halloween']
  .icore-seasonal-surface {
  color: #d6ab79;
  opacity: 0.9;
}
.dark .icore-seasonal-spider :is(ellipse, circle) {
  fill: #d6ab79;
}
.dark .icore-seasonal-spider path {
  stroke: #d6ab79;
}
.dark .icore-seasonal-layer[data-theme='halloween'] .icore-seasonal-ornament {
  filter: drop-shadow(0 3px 9px #e3a65a22);
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-wave {
  transform-box: view-box;
  transform-origin: 40px 43px;
  animation: icore-seasonal-idle-wave 13s ease-in-out infinite;
  animation-delay: -9s;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-blink {
  transform-box: fill-box;
  transform-origin: center;
  animation: icore-seasonal-blink 8s ease-in-out infinite;
  animation-delay: -2s;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-scarf {
  transform-box: view-box;
  transform-origin: 40px 40px;
  animation: icore-seasonal-scarf 7s ease-in-out infinite alternate;
  animation-delay: -3s;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-ghost {
  animation: icore-seasonal-float 9s ease-in-out infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-sprite-frames {
  image-rendering: pixelated;
  animation: icore-seasonal-sprite-frames 1.2s steps(6, end) infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-bat {
  animation: icore-seasonal-bat-drift 12s ease-in-out infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-bat-wing {
  transform-box: view-box;
  transform-origin: 21px 20px;
  animation: icore-seasonal-bat-wing 4s ease-in-out infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-bat-wing-right {
  animation-direction: reverse;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-lantern-glow {
  animation: icore-seasonal-glow 6s ease-in-out infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-leaf {
  transform-box: fill-box;
  transform-origin: center;
  animation: icore-seasonal-leaf 11s ease-in-out infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-spark {
  animation: icore-seasonal-glow 9s ease-in-out 2s infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)
  .icore-seasonal-spider {
  transform-box: view-box;
  transform-origin: 40px 3px;
  animation: icore-seasonal-spider 10s ease-in-out infinite alternate;
  animation-delay: -3s;
}
:is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-greeting='true']
  .icore-seasonal-wave {
  animation: icore-seasonal-greeting-wave 1.6s ease-in-out 1;
}
:is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-greeting='true']
  .icore-seasonal-ghost {
  animation: icore-seasonal-greeting-ghost 1.6s ease-in-out 1;
}
:is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-greeting='true']
  .icore-seasonal-bat {
  animation: icore-seasonal-greeting-bat 1.6s ease-in-out 1;
}
:is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-greeting='true']
  .icore-seasonal-spider {
  animation: icore-seasonal-spider 0.7s ease-in-out 2 alternate;
}
.icore-seasonal-login {
  opacity: 0.94;
}
.icore-seasonal-login .icore-seasonal-ornament {
  top: auto;
  right: clamp(20px, 4vw, 70px);
  bottom: clamp(26px, 6vh, 72px);
  width: clamp(115px, 16vw, 180px);
}
.icore-seasonal-login .icore-seasonal-art {
  width: 100%;
  height: auto;
}
.icore-seasonal-controls {
  position: absolute;
  right: 14px;
  top: 62px;
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: calc(100% - 28px);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-secondary, #475b68);
  padding: 0;
  box-shadow: none;
}
.icore-seasonal-controls button {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 11px;
  line-height: 18px;
  padding: 3px 7px;
  border-radius: 7px;
  white-space: nowrap;
}
.icore-seasonal-controls button:hover {
  background: var(--surface-hover, #edf4f4);
}
.icore-seasonal-controls button:disabled {
  opacity: 0.55;
  cursor: default;
}
.icore-seasonal-controls .icore-seasonal-greeting {
  color: var(--text-primary, #193c4e);
  font-weight: 550;
}
.icore-seasonal-controls .icore-seasonal-game-link {
  color: var(--text-primary, #193c4e);
  font-weight: 600;
}
.icore-seasonal-snow {
  position: absolute;
  inset: 0;
  opacity: 0.42;
}
.icore-seasonal-snow i {
  position: absolute;
  top: -8px;
  left: var(--x);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: #a9cbd3;
  box-shadow: 0 0 3px #eef7fa;
  animation: icore-seasonal-fall var(--duration) linear var(--delay) infinite;
}
:is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation)[data-paused='true']
  *,
:is(
    .icore-seasonal-layer,
    .icore-seasonal-surfaces,
    .icore-seasonal-navigation
  )[data-reduced='true']
  * {
  animation-play-state: paused !important;
}
.icore-seasonal-layer[data-reduced='true'] .icore-seasonal-snow {
  display: none;
}
.icore-seasonal-dialog {
  width: min(700px, calc(100vw - 32px));
  max-height: min(90dvh, 850px);
  overflow: auto;
  border: 1px solid var(--border-light, #d8e1e4);
  border-radius: 20px;
  padding: 24px;
  color: var(--text-primary, #193b4d);
  background: var(--surface-primary, #fff);
  box-shadow: 0 30px 100px #001b3b42;
}
.icore-seasonal-dialog::backdrop {
  background: #00152266;
}
.icore-seasonal-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}
.icore-seasonal-dialog h2,
.icore-seasonal-admin h2 {
  font-size: 25px;
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: -0.6px;
  margin: 0;
}
.icore-seasonal-dialog button,
.icore-seasonal-admin button {
  cursor: pointer;
}
.icore-seasonal-close {
  font-size: 13px;
  border: 1px solid var(--border-light, #d5dfe2);
  border-radius: 9px;
  padding: 7px 12px;
  background: transparent;
  color: inherit;
}
.icore-seasonal-intro {
  color: var(--text-secondary, #59717d);
  font-size: 14px;
  line-height: 1.7;
  margin: 12px 0 22px;
  max-width: 620px;
}
.icore-seasonal-preferences {
  display: grid;
  gap: 12px;
}
.icore-seasonal-preference {
  display: flex;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--border-light, #d5dfe2);
  border-radius: 12px;
  align-items: flex-start;
  cursor: pointer;
}
.icore-seasonal-preference input {
  margin-top: 4px;
}
.icore-seasonal-preference strong,
.icore-seasonal-preference small {
  display: block;
}
.icore-seasonal-preference strong {
  font-size: 14px;
  font-weight: 600;
}
.icore-seasonal-preference small {
  font-size: 12px;
  color: var(--text-secondary, #59717d);
  line-height: 1.6;
  margin-top: 3px;
}
.icore-seasonal-footnote {
  color: var(--text-secondary, #59717d);
  font-size: 12px;
  line-height: 1.7;
  margin: 18px 0 0;
}
.icore-seasonal-admin {
  color: var(--text-primary, #193b4d);
  padding: 8px 0;
  max-width: 960px;
}
.icore-seasonal-eyebrow {
  color: #008e9c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.9px;
  margin: 0 0 12px;
}
.icore-seasonal-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0;
}
.icore-seasonal-card {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 8px;
  border: 1px solid var(--border-light, #d5dfe2);
  background: var(--surface-primary, #fff);
  color: inherit;
  border-radius: 16px;
  overflow: hidden;
  padding: 0 20px 20px;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease;
}
.icore-seasonal-card[aria-pressed='true'] {
  border-color: #0596a4;
  box-shadow: 0 0 0 2px #0596a433;
}
.icore-seasonal-card-art {
  position: relative;
  height: 135px;
  width: calc(100% + 40px);
  margin: 0 -20px 10px;
  display: grid;
  place-items: center;
  background: #f7eee4;
}
.icore-seasonal-card[data-theme='christmas'] .icore-seasonal-card-art {
  background: #edf4f3;
}
.icore-seasonal-card-art > .icore-seasonal-art {
  width: 135px;
  height: 105px;
}
.icore-seasonal-card strong {
  font-size: 18px;
  letter-spacing: -0.3px;
  font-weight: 650;
}
.icore-seasonal-card > span {
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-secondary, #59717d);
}
.icore-seasonal-date {
  font-size: 10px;
  font-weight: 650;
  color: var(--text-secondary, #59717d);
  text-transform: uppercase;
  letter-spacing: 1.4px;
}
.icore-seasonal-admin-options {
  display: grid;
  gap: 14px;
  border-top: 1px solid var(--border-light, #d5dfe2);
  padding-top: 20px;
}
.icore-seasonal-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  cursor: pointer;
}
.icore-seasonal-toggle[hidden] {
  display: none;
}
.icore-seasonal-dialog input,
.icore-seasonal-admin input {
  accent-color: #008c9b;
}
.icore-seasonal-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.icore-seasonal-actions button {
  font-size: 13px;
  padding: 9px 15px;
  border-radius: 10px;
  border: 1px solid var(--border-light, #d5dfe2);
  color: inherit;
  background: transparent;
}
.icore-seasonal-actions .icore-seasonal-primary {
  background: #008b9b;
  color: #fff;
  border-color: #008b9b;
  font-weight: 600;
}
.icore-seasonal-actions button:disabled {
  opacity: 0.55;
  cursor: default;
}
.icore-seasonal-status {
  font-size: 13px;
  line-height: 1.6;
  padding: 13px 0;
}
.icore-seasonal-status[role='alert'] {
  color: var(--text-error, #b4493d);
}
.icore-seasonal-game {
  width: 100%;
  height: auto;
  border-radius: 14px;
  display: block;
  touch-action: none;
}
.icore-seasonal-game-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 16px;
}
.icore-seasonal-game-controls label {
  font-size: 13px;
  display: grid;
  gap: 9px;
}
.icore-seasonal-game-controls input {
  width: 100%;
}
.icore-seasonal-game-status {
  font-size: 13px;
  min-height: 1.5em;
  margin: 14px 0 0;
}
.icore-seasonal-controls button:focus-visible,
.icore-seasonal-dialog :focus-visible,
.icore-seasonal-admin :focus-visible {
  outline: 2px solid #0099ac;
  outline-offset: 3px;
}
@keyframes icore-seasonal-idle-wave {
  0%,
  65%,
  85%,
  100% {
    transform: rotate(0);
  }
  70%,
  80% {
    transform: rotate(-11deg);
  }
  75% {
    transform: rotate(4deg);
  }
}
@keyframes icore-seasonal-blink {
  0%,
  42%,
  46%,
  100% {
    transform: scaleY(1);
  }
  44% {
    transform: scaleY(0.12);
  }
}
@keyframes icore-seasonal-scarf {
  from {
    transform: rotate(-2deg);
  }
  to {
    transform: rotate(4deg);
  }
}
@keyframes icore-seasonal-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@keyframes icore-seasonal-sprite-frames {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-192px);
  }
}
@keyframes icore-seasonal-bat-drift {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(2px, -2px);
  }
}
@keyframes icore-seasonal-bat-wing {
  0%,
  60%,
  100% {
    transform: rotate(0);
  }
  70%,
  90% {
    transform: rotate(9deg);
  }
  80% {
    transform: rotate(-5deg);
  }
}
@keyframes icore-seasonal-glow {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}
@keyframes icore-seasonal-leaf {
  0%,
  65%,
  100% {
    transform: rotate(0);
  }
  78% {
    transform: translate(2px, -1px) rotate(16deg);
  }
  88% {
    transform: translate(1px, 0) rotate(-8deg);
  }
}
@keyframes icore-seasonal-spider {
  from {
    transform: rotate(-3deg);
  }
  to {
    transform: rotate(3deg);
  }
}
@keyframes icore-seasonal-greeting-wave {
  0%,
  100% {
    transform: rotate(0);
  }
  18%,
  48%,
  78% {
    transform: rotate(-24deg);
  }
  33%,
  63%,
  88% {
    transform: rotate(9deg);
  }
}
@keyframes icore-seasonal-greeting-ghost {
  0%,
  100% {
    transform: translate(0, 0);
  }
  35% {
    transform: translate(-3px, -5px);
  }
  65% {
    transform: translate(2px, -3px);
  }
}
@keyframes icore-seasonal-greeting-bat {
  0%,
  100% {
    transform: translate(0, 0);
  }
  35% {
    transform: translate(5px, -4px);
  }
  65% {
    transform: translate(-2px, -2px);
  }
}
@keyframes icore-seasonal-fall {
  from {
    transform: translate3d(0, -10px, 0);
  }
  to {
    transform: translate3d(24px, 100vh, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  :is(.icore-seasonal-layer, .icore-seasonal-surfaces, .icore-seasonal-navigation) * {
    animation: none !important;
  }
  .icore-seasonal-snow {
    display: none;
  }
  .icore-seasonal-card {
    transition: none;
  }
}
@media (forced-colors: active) {
  .icore-seasonal-layer,
  .icore-seasonal-surfaces,
  .icore-seasonal-navigation {
    display: none;
  }
  .icore-seasonal-card[aria-pressed='true'] {
    border: 3px solid Highlight;
  }
}
@media (max-width: 560px) {
  .icore-seasonal-cards {
    grid-template-columns: 1fr;
  }
  .icore-seasonal-card-art {
    height: 110px;
  }
  .icore-seasonal-dialog {
    padding: 18px;
    border-radius: 16px;
  }
  .icore-seasonal-dialog h2,
  .icore-seasonal-admin h2 {
    font-size: 22px;
  }
  .icore-seasonal-ornament {
    width: 100px;
    right: 16px;
    opacity: 0.88;
  }
  .icore-seasonal-login .icore-seasonal-ornament {
    width: 110px;
    bottom: 20px;
    right: 18px;
  }
  .icore-seasonal-game-controls {
    gap: 12px;
  }
}
