/* MittCPA Easter Eggs — visual effects */

/* Toast */
.mitt-toast-host {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  pointer-events: none;
  max-width: min(420px, 92vw);
}

.mitt-toast {
  pointer-events: auto;
  background: var(--mitt-bg-panel, #0A2916);
  color: var(--mitt-accent-gold, #C5B358);
  border: 1px solid var(--mitt-accent-gold, #C5B358);
  border-radius: 8px;
  padding: 12px 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  animation: mitt-toast-in 0.35s ease;
}

.mitt-toast a {
  color: var(--mitt-text-light, #F4F1E8);
}

@keyframes mitt-toast-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Confetti */
.mitt-confetti-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
}

.mitt-confetti-piece {
  position: absolute;
  top: -12px;
  width: 8px;
  height: 12px;
  border-radius: 1px;
  opacity: 0.95;
  animation: mitt-confetti-fall linear forwards;
}

@keyframes mitt-confetti-fall {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(110vh) rotate(720deg); opacity: 0.2; }
}

/* War Mode */
body.egg-war-mode {
  box-shadow: inset 0 0 0 4px #8b0000;
}

body.egg-war-mode .top-bar {
  background: #3a0a0a !important;
  border-bottom-color: #c23b22 !important;
  animation: egg-war-pulse 1.2s ease-in-out infinite alternate;
}

body.egg-war-mode .page-title {
  color: #ffd7d0 !important;
}

@keyframes egg-war-pulse {
  from { box-shadow: 0 0 0 rgba(194, 59, 34, 0); }
  to { box-shadow: 0 0 24px rgba(194, 59, 34, 0.55); }
}

/* Theme invert (?egg=1 / /mitt) */
body.egg-invert {
  filter: invert(1) hue-rotate(180deg);
}

body.egg-invert img,
body.egg-invert video {
  filter: invert(1) hue-rotate(180deg);
}

/* Santa hat on logo */
.logo-container.egg-santa {
  position: relative;
}

.logo-container.egg-santa::before {
  content: "🎅";
  position: absolute;
  top: -14px;
  right: -10px;
  font-size: 1.1em;
  line-height: 1;
  transform: rotate(18deg);
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.4));
  z-index: 2;
  pointer-events: none;
  animation: egg-santa-bob 1.5s ease-in-out infinite;
}

@keyframes egg-santa-bob {
  0%, 100% { transform: rotate(18deg) translateY(0); }
  50% { transform: rotate(22deg) translateY(-2px); }
}

.logo.egg-spin {
  animation: egg-logo-spin 0.8s ease;
}

@keyframes egg-logo-spin {
  from { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.15); }
  to { transform: rotate(360deg) scale(1); }
}

/* USA flag flash on header */
.top-bar.egg-flag-flash {
  background-image:
    linear-gradient(rgba(10, 41, 22, 0.75), rgba(10, 41, 22, 0.75)),
    url("https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg") !important;
  background-size: cover !important;
  background-position: center !important;
  transition: background 0.3s ease;
}

/* Nuclear clear */
.category-chips.egg-nuclear .chip {
  animation: egg-chip-shake 0.45s ease;
}

@keyframes egg-chip-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px) rotate(-2deg); }
  40% { transform: translateX(6px) rotate(2deg); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

/* Market open glow on Investing chip */
.chip.egg-market-glow {
  box-shadow: 0 0 0 2px var(--mitt-accent-gold, #C5B358), 0 0 18px rgba(197, 179, 88, 0.65);
  animation: egg-market-pulse 1.8s ease-in-out infinite;
}

@keyframes egg-market-pulse {
  0%, 100% { box-shadow: 0 0 0 2px var(--mitt-accent-gold, #C5B358), 0 0 10px rgba(197, 179, 88, 0.4); }
  50% { box-shadow: 0 0 0 3px var(--mitt-accent-gold, #C5B358), 0 0 22px rgba(197, 179, 88, 0.85); }
}

/* Quant mode denser */
.library-container.egg-quant td {
  padding: 8px 10px !important;
  font-size: 13px !important;
}

.library-container.egg-quant .book-thumb {
  width: 44px !important;
}

body.egg-quant-mode .top-bar .page-title::after {
  content: " · Quant";
  font-size: 0.55em;
  letter-spacing: 2px;
  color: var(--accent-gold, #C5B358);
  margin-left: 6px;
  vertical-align: middle;
}

/* April Fools covers */
body.egg-april-fools .book-thumb {
  content: none;
  object-fit: cover;
  /* swap via JS to logo.png */
}

/* Title clickable for chaos sort */
.page-title.egg-title-hot {
  cursor: default;
  user-select: none;
}

.page-title .egg-title-text {
  cursor: pointer;
}

/* One-liner modal reuse surprise styles */
#eggNoteModal .modal-title {
  font-size: 1.25rem;
}

#eggNoteModal .egg-note-line {
  font-style: italic;
  color: var(--mitt-text-light, #F4F1E8);
  border-left: 3px solid var(--mitt-accent-gold, #C5B358);
  padding-left: 12px;
  margin: 12px 0 0;
  line-height: 1.5;
}

/* Builder credit under header */
.egg-builder-credit {
  display: none;
  text-align: center;
  font-size: 12px;
  font-style: italic;
  color: var(--bg-panel, #0A2916);
  margin: -8px 0 12px;
  letter-spacing: 0.4px;
}

.egg-builder-credit.show {
  display: block;
  animation: mitt-toast-in 0.4s ease;
}

/* Footer egg line */
.footer .egg-footer-line {
  display: block;
  margin-top: 8px;
  font-style: italic;
  color: var(--accent-gold, #C5B358);
}

/* Frens founder privilege */
.person.egg-founder {
  box-shadow: 0 0 0 3px #C5B358, 0 0 28px rgba(197, 179, 88, 0.7) !important;
  transform: translate(-50%, -50%) scale(1.15) !important;
  z-index: 20 !important;
}

/* 404 fix stack */
.egg-404-stack {
  margin: 0;
  padding-left: 1.2rem;
  text-align: left;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--mitt-text-light, #F4F1E8);
  opacity: 0.9;
}
