:root {
  --bg: #000;
  --fg: #f4f1ea;
  --muted: rgba(244, 241, 234, .42);
  --faint: rgba(244, 241, 234, .12);
  --accent: #f2a900;
  --panel: rgba(8, 8, 8, .94);
  --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }

html, body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  overflow: hidden;
}

body {
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .02em;
}

button { font: inherit; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background:
    radial-gradient(circle at center, transparent 0 32%, rgba(0,0,0,.35) 72%, rgba(0,0,0,.9) 100%),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: auto, 100% 4px;
  z-index: 20;
}

.stage {
  width: 100vw;
  height: 100dvh;
  display: grid;
  place-items: center;
  perspective: 1200px;
  transition: transform 900ms var(--ease), filter 900ms var(--ease);
}

.countdown-view {
  width: min(92vw, 1100px);
  text-align: center;
  user-select: none;
  transition: opacity 500ms ease, transform 900ms var(--ease);
}

.drawer-kicker,
.live-kicker {
  font-size: 10px;
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--muted);
}

.countdown {
  display: inline-flex;
  align-items: center;
  cursor: default;
  transform-origin: center;
}

.clock-row {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(52px, 10.8vw, 154px);
  font-weight: 200;
  line-height: .9;
  letter-spacing: -.06em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.days {
  display: inline-block;
}

.days-separator {
  width: clamp(30px, 3.8vw, 58px);
  margin: 0 clamp(8px, 1.3vw, 18px);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(1px, .32vw, 4px);
  color: rgba(244,241,234,.38);
  font-size: clamp(10px, 1.08vw, 15px);
  font-weight: 600;
  line-height: .84;
  letter-spacing: .06em;
  transform: translateY(.01em);
}

.days-separator span {
  display: block;
}

.clock-row .colon {
  opacity: .22;
  padding: 0 .04em;
  transform: translateY(-.04em);
}

.movie-pun {
  margin-top: clamp(42px, 8vh, 82px);
  font-size: clamp(12px, 1.45vw, 18px);
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(244,241,234,.68);
  transition: opacity 400ms ease;
}

.egg-button,
.sound-button {
  position: fixed;
  z-index: 60;
  border: 0;
  color: rgba(244,241,234,.72);
  background: rgba(0,0,0,.32);
  backdrop-filter: blur(14px);
  cursor: pointer;
}

.egg-button {
  top: max(22px, env(safe-area-inset-top));
  right: max(22px, env(safe-area-inset-right));
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .16em;
  border: 1px solid rgba(255,255,255,.10);
  transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}

.egg-button:hover {
  border-color: rgba(255,255,255,.26);
  background: rgba(255,255,255,.055);
}

.egg-button:active { transform: scale(.96); }

.egg-glyph {
  width: 17px;
  height: 21px;
  flex: 0 0 17px;
  overflow: visible;
  filter: drop-shadow(0 0 7px rgba(242,169,0,.18));
}
.egg-glyph .egg-shell {
  fill: rgba(242,169,0,.12);
  stroke: rgba(242,169,0,.98);
  stroke-width: 1.8;
  stroke-linejoin: round;
}
.egg-glyph .egg-shine {
  fill: none;
  stroke: rgba(255,255,255,.45);
  stroke-width: 1.4;
  stroke-linecap: round;
}

.sound-button {
  left: max(22px, env(safe-area-inset-left));
  bottom: max(20px, env(safe-area-inset-bottom));
  width: 38px;
  height: 38px;
  border-radius: 50%;
  opacity: .38;
  border: 1px solid rgba(255,255,255,.08);
}

.egg-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  width: min(520px, 100vw);
  height: 100dvh;
  background: var(--panel);
  border-left: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(24px);
  transform: translateX(102%);
  transition: transform 550ms var(--ease);
  box-shadow: -30px 0 90px rgba(0,0,0,.55);
  display: flex;
  flex-direction: column;
}

.egg-drawer.open { transform: translateX(0); }

.drawer-head {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: end;
  padding: 32px 30px 24px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.drawer-head h2 {
  margin: 7px 0 0;
  font-weight: 300;
  font-size: 29px;
  letter-spacing: -.02em;
}

.drawer-progress {
  padding-right: 40px;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
}

.drawer-progress strong {
  color: var(--fg);
  font-size: 26px;
  font-weight: 300;
}

.drawer-close {
  position: absolute;
  right: 20px;
  top: 20px;
  border: 0;
  background: none;
  color: rgba(255,255,255,.5);
  font-size: 25px;
  cursor: pointer;
}

.egg-list {
  overflow-y: auto;
  padding: 6px 0 28px;
}

.egg-row {
  display: grid;
  grid-template-columns: 54px 1fr 24px;
  gap: 12px;
  padding: 16px 28px;
  border-bottom: 1px solid rgba(255,255,255,.045);
  min-height: 67px;
}

.egg-id {
  font-size: 10px;
  color: rgba(255,255,255,.28);
  letter-spacing: .18em;
  padding-top: 3px;
}

.egg-title {
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
}

.egg-row.found .egg-title { color: rgba(255,255,255,.92); }

.egg-trigger {
  margin-top: 7px;
  color: rgba(255,255,255,.38);
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .03em;
}

.egg-check {
  font-size: 13px;
  color: var(--accent);
  opacity: 0;
}

.egg-row.found .egg-check { opacity: 1; }

.toast {
  position: fixed;
  z-index: 130;
  left: 50%;
  bottom: 34px;
  width: min(420px, calc(100vw - 32px));
  transform: translate(-50%, 130%);
  opacity: 0;
  padding: 18px 20px;
  text-align: center;
  background: rgba(12,12,12,.9);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 80px rgba(0,0,0,.5);
  transition: transform 550ms var(--ease), opacity 350ms ease;
}

.toast.show {
  transform: translate(-50%, 0);
  opacity: 1;
}

.toast-number {
  font-size: 9px;
  color: var(--accent);
  letter-spacing: .28em;
}

.toast-name {
  margin-top: 8px;
  font-size: 18px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.toast-trigger {
  margin-top: 7px;
  font-size: 10px;
  color: var(--muted);
}

.live-view {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  opacity: 0;
  transform: scale(.94);
  pointer-events: none;
}

.live-view h1 {
  margin: 22px 0 12px;
  display: flex;
  flex-direction: column;
  font-size: clamp(66px, 13vw, 180px);
  line-height: .78;
  letter-spacing: -.06em;
  font-weight: 800;
  text-transform: uppercase;
}

.live-view h1 span:last-child {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.75);
}

.live-pulse {
  margin-top: 28px;
  font-size: 11px;
  letter-spacing: .3em;
  color: rgba(255,255,255,.65);
}

.live-pulse span {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 28px var(--accent);
  margin-right: 10px;
  animation: pulse 1.2s infinite;
}

.live-view p {
  margin-top: 18px;
  color: rgba(255,255,255,.38);
  letter-spacing: .12em;
  font-size: 11px;
}

body.is-live .countdown-view {
  opacity: 0;
  transform: scale(1.12);
  pointer-events: none;
}

body.is-live .live-view {
  animation: liveReveal 1.35s var(--ease) forwards;
  pointer-events: auto;
}

body.is-live::after {
  content: "";
  position: fixed;
  inset: -25%;
  pointer-events: none;
  opacity: .22;
  background:
    conic-gradient(from 180deg at 50% 50%,
      transparent 0 10%,
      rgba(242,169,0,.5) 14%,
      transparent 18% 42%,
      rgba(110,70,255,.35) 48%,
      transparent 54% 72%,
      rgba(0,220,255,.3) 78%,
      transparent 84%);
  filter: blur(70px);
  animation: raveSpin 18s linear infinite;
  z-index: 1;
}

body.is-live .stage,
body.is-live .egg-button,
body.is-live .sound-button { z-index: 5; }

.flash {
  position: fixed;
  inset: 0;
  z-index: 120;
  pointer-events: none;
  opacity: 0;
  background: white;
}

.flash.hit { animation: flashHit 600ms ease-out; }

#confetti {
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  width: 100vw;
  height: 100vh;
}

body.egg-tilt .stage { transform: rotate(3deg) scale(.97); }
body.egg-upside .stage { transform: rotate(180deg); }
body.egg-hue { animation: hueParty 2.14s linear; }
body.egg-shake .stage { animation: hardShake .8s linear; }

@keyframes pulse {
  50% { opacity: .28; transform: scale(.8); }
}
@keyframes liveReveal {
  0% { opacity: 0; transform: scale(.92); filter: blur(18px); }
  56% { opacity: 1; transform: scale(1.025); filter: blur(0); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes raveSpin {
  to { transform: rotate(360deg) scale(1.08); }
}
@keyframes flashHit {
  0% { opacity: 0; }
  8% { opacity: .95; }
  100% { opacity: 0; }
}
@keyframes hardShake {
  0%,100% { transform: translate(0,0); }
  10% { transform: translate(-14px, 6px) rotate(-1deg); }
  20% { transform: translate(13px, -8px) rotate(1deg); }
  30% { transform: translate(-10px, 11px); }
  40% { transform: translate(12px, -7px); }
  50% { transform: translate(-8px, 4px); }
  60% { transform: translate(9px, 8px); }
  70% { transform: translate(-6px, -8px); }
  80% { transform: translate(4px, 7px); }
  90% { transform: translate(-3px, -2px); }
}
@keyframes hueParty {
  to { filter: hue-rotate(360deg) invert(.05); }
}

@media (max-width: 640px) {
  .clock-row {
    font-size: clamp(42px, 12vw, 74px);
    letter-spacing: -.07em;
  }
  .days-separator {
    width: 24px;
    margin: 0 6px;
    font-size: 8px;
  }
  .movie-pun { letter-spacing: .17em; }
  .drawer-head { padding: 26px 20px 20px; }
  .egg-row { padding: 15px 20px; grid-template-columns: 45px 1fr 20px; }
  .egg-button { right: 14px; top: 14px; }
  .sound-button { left: 14px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

.egg-row.has-hint .egg-title {
  color: rgba(244,241,234,.46);
}

.egg-hints {
  margin-top: 9px;
  display: grid;
  gap: 6px;
}

.egg-hint {
  color: rgba(242,169,0,.72);
  font-size: 9px;
  line-height: 1.45;
  letter-spacing: .055em;
  text-transform: none;
}


/* ---------------- EASTER EGG EFFECT ENGINE ---------------- */
.egg-effect-message {
  position: fixed;
  inset: 0;
  z-index: 118;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: 0;
  transform: scale(.82);
  font-size: clamp(54px, 12vw, 180px);
  font-weight: 800;
  letter-spacing: -.055em;
  text-align: center;
  text-transform: uppercase;
  color: rgba(244,241,234,.96);
  text-shadow: 0 0 40px rgba(255,255,255,.1);
  transition: opacity 260ms ease, transform 520ms var(--ease);
}

.egg-effect-message.small {
  font-size: clamp(18px, 4vw, 52px);
  letter-spacing: .18em;
  font-weight: 500;
}

.egg-effect-message.show {
  opacity: 1;
  transform: scale(1);
}

.egg-ring-effect {
  position: fixed;
  z-index: 117;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(244,241,234,.8);
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.1);
  opacity: .9;
}

.egg-ring-effect.go {
  animation: eggRing 1.5s cubic-bezier(.12,.8,.2,1) forwards;
}

.egg-rain {
  position: fixed;
  inset: 0;
  z-index: 116;
  overflow: hidden;
  pointer-events: none;
}

.egg-rain span {
  position: absolute;
  top: -40px;
  font-size: clamp(18px, 2.5vw, 34px);
  color: var(--accent);
  opacity: .78;
  animation: eggFall 2s linear forwards;
}

.fake-context {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 122;
  min-width: 260px;
  padding: 9px;
  background: rgba(12,12,12,.96);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 80px rgba(0,0,0,.7);
  transform: translate(-50%, -45%) scale(.92);
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease, transform 280ms var(--ease);
}

.fake-context.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.fake-context strong,
.fake-context span {
  display: block;
  padding: 10px 12px;
  font-size: 11px;
  letter-spacing: .08em;
}

.fake-context strong {
  color: var(--accent);
  font-size: 9px;
  letter-spacing: .22em;
}

.fake-context span + span {
  border-top: 1px solid rgba(255,255,255,.06);
}

body.egg-wobble .stage { animation: eggWobble 1.5s var(--ease); }
body.egg-vertical-bounce .stage { animation: eggVerticalBounce 1.1s var(--ease); }
body.egg-squash .stage { animation: eggSquash 1.2s var(--ease); }
body.egg-blackout .stage,
body.egg-blackout .egg-button,
body.egg-blackout .sound-button { opacity: 0; transition: opacity 120ms linear; }
body.egg-pocket .stage { animation: eggPocket 1.4s var(--ease); }
body.egg-open .stage { animation: eggOpen 1.8s var(--ease); }
body.egg-pulse .stage { animation: eggPulse 1.4s ease-in-out; }
body.egg-focus .stage { animation: eggFocus 1.5s ease; }
body.egg-invert { filter: invert(1); }
body.egg-mirror .stage { transform: scaleX(-1); }
body.egg-alert .stage { animation: eggAlert 1.5s steps(2,end); }
body.egg-reverse .stage { animation: eggReverse 1.7s var(--ease); }
body.egg-stutter .stage { animation: eggStutter 1.3s steps(2,end); }
body.egg-no-cursor,
body.egg-no-cursor * { cursor: none !important; }
body.egg-blur-snap .stage { animation: eggBlurSnap 1.2s ease; }
body.egg-rgb .stage { animation: eggRgb 1.7s linear; }
body.egg-reverse-spin .stage { animation: eggReverseSpin 1.7s var(--ease); }
body.egg-full-spin .stage { animation: eggFullSpin 1.9s var(--ease); }
body.egg-zorro .stage { animation: eggZorro 1.5s ease; }
body.egg-horizontal-shake .stage { animation: eggHorizontalShake 1.1s linear; }
body.egg-zoom .stage { animation: eggZoom 1.3s var(--ease); }
body.egg-slow .stage { animation: eggSlow 2.2s ease; }
body.egg-spotlight::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 115;
  pointer-events: none;
  background: radial-gradient(circle 90px at 50% 50%, transparent 0 60%, rgba(0,0,0,.94) 100%);
  animation: eggSpotlight 2.2s ease forwards;
}
body.egg-edge-glow::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 115;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(242,169,0,.8), inset 0 0 80px rgba(242,169,0,.25);
  animation: eggEdgeGlow 1.8s ease forwards;
}
body.egg-wide-title #moviePun,
body.egg-wide-title .live-view h1 {
  animation: eggWideTitle 2.4s var(--ease);
}
body.egg-flash-fast .stage { animation: eggFlashFast .7s steps(2,end); }
body.egg-calm-glow .stage { animation: eggCalmGlow 2.6s ease; }
body.egg-flicker .stage { animation: eggFlicker 1.5s steps(2,end); }
body.egg-drop .stage { animation: eggDrop 1.3s var(--ease); }
body.egg-there-back .stage { animation: eggThereBack 1.6s var(--ease); }
body.egg-scroll-wobble .stage { animation: eggScrollWobble 1.8s ease; }
body.egg-square .countdown,
body.egg-square .live-view h1 {
  outline: 1px solid rgba(242,169,0,.6);
  outline-offset: 22px;
}

@keyframes eggRing {
  0% { transform: translate(-50%, -50%) scale(.1); opacity: .9; }
  100% { transform: translate(-50%, -50%) scale(65); opacity: 0; }
}
@keyframes eggFall {
  0% { transform: translateY(-50px) rotate(0deg); opacity: 0; }
  10% { opacity: .85; }
  100% { transform: translateY(115vh) rotate(540deg); opacity: 0; }
}
@keyframes eggWobble {
  0%,100% { transform: rotate(0); }
  20% { transform: rotate(-3deg) scale(.98); }
  40% { transform: rotate(3deg) scale(1.01); }
  60% { transform: rotate(-2deg); }
  80% { transform: rotate(1deg); }
}
@keyframes eggVerticalBounce {
  0%,100% { transform: translateY(0); }
  25% { transform: translateY(-42px); }
  45% { transform: translateY(18px); }
  65% { transform: translateY(-16px); }
  82% { transform: translateY(6px); }
}
@keyframes eggSquash {
  0%,100% { transform: scale(1); }
  35% { transform: scaleX(.68) scaleY(1.18); }
  65% { transform: scaleX(1.12) scaleY(.82); }
}
@keyframes eggPocket {
  0%,100% { transform: scale(1); }
  45% { transform: scale(.22) rotate(8deg); }
  60% { transform: scale(.18) rotate(-7deg); }
}
@keyframes eggOpen {
  0%,100% { transform: scaleX(1); }
  35% { transform: scaleX(.02); }
  65% { transform: scaleX(1.08); }
}
@keyframes eggPulse {
  0%,100% { transform: scale(1); }
  20%,60% { transform: scale(1.06); }
  40%,80% { transform: scale(.98); }
}
@keyframes eggFocus {
  0%,100% { filter: blur(0); transform: scale(1); }
  35% { filter: blur(14px); transform: scale(1.06); }
  60% { filter: blur(1px); transform: scale(.99); }
}
@keyframes eggAlert {
  0%,100% { filter: none; }
  25%,75% { filter: contrast(1.8) brightness(1.5) hue-rotate(330deg); }
  50% { filter: contrast(.5) brightness(.3); }
}
@keyframes eggReverse {
  0%,100% { transform: scaleX(1); }
  50% { transform: scaleX(-1) rotate(2deg); }
}
@keyframes eggStutter {
  0%,100% { transform: translate(0); filter: none; }
  15% { transform: translate(-12px,3px); filter: contrast(2); }
  30% { transform: translate(9px,-4px); }
  45% { transform: translate(-4px,2px) scale(1.03); }
  65% { transform: translate(6px,0); filter: invert(.15); }
}
@keyframes eggBlurSnap {
  0%,100% { filter: blur(0); }
  35% { filter: blur(22px); transform: scale(.96); }
  42% { filter: blur(0); transform: scale(1.02); }
}
@keyframes eggRgb {
  0%,100% { filter: none; text-shadow: none; }
  20% { filter: hue-rotate(90deg) saturate(2); transform: translateX(-5px); }
  40% { filter: hue-rotate(180deg) saturate(2); transform: translateX(5px); }
  60% { filter: hue-rotate(270deg) saturate(2); transform: translateX(-3px); }
}
@keyframes eggReverseSpin {
  0%,100% { transform: rotate(0); }
  50% { transform: rotate(-180deg) scale(.82); }
}
@keyframes eggFullSpin {
  0% { transform: rotate(0) scale(1); }
  55% { transform: rotate(360deg) scale(.82); }
  100% { transform: rotate(720deg) scale(1); }
}
@keyframes eggZorro {
  0%,100% { transform: skew(0); clip-path: inset(0); }
  30% { transform: skewX(-12deg); clip-path: polygon(0 0,100% 0,78% 45%,100% 45%,100% 100%,0 100%,22% 55%,0 55%); }
  65% { transform: skewX(8deg); }
}
@keyframes eggHorizontalShake {
  0%,100% { transform: translateX(0); }
  10% { transform: translateX(-28px); }
  20% { transform: translateX(26px); }
  30% { transform: translateX(-22px); }
  40% { transform: translateX(19px); }
  50% { transform: translateX(-15px); }
  60% { transform: translateX(12px); }
  70% { transform: translateX(-8px); }
}
@keyframes eggZoom {
  0%,100% { transform: scale(1); }
  35% { transform: scale(1.35); }
  60% { transform: scale(.74); }
}
@keyframes eggSlow {
  0%,100% { filter: blur(0); transform: scale(1); }
  50% { filter: blur(2px) brightness(.62); transform: scale(.985); }
}
@keyframes eggSpotlight {
  0%,100% { opacity: 0; }
  18%,78% { opacity: 1; }
}
@keyframes eggEdgeGlow {
  0%,100% { opacity: 0; }
  20%,75% { opacity: 1; }
}
@keyframes eggWideTitle {
  0%,100% { letter-spacing: inherit; }
  50% { letter-spacing: .55em; }
}
@keyframes eggFlashFast {
  0%,100% { opacity: 1; }
  25%,75% { opacity: .08; }
  50% { opacity: .65; }
}
@keyframes eggCalmGlow {
  0%,100% { filter: none; }
  45% { filter: brightness(1.45) drop-shadow(0 0 24px rgba(242,169,0,.25)); }
}
@keyframes eggFlicker {
  0%,100% { opacity: 1; }
  10% { opacity: .12; }
  18% { opacity: .85; }
  26% { opacity: .22; }
  34% { opacity: 1; }
  46% { opacity: .08; }
  60% { opacity: .9; }
  74% { opacity: .3; }
}
@keyframes eggDrop {
  0%,100% { transform: translateY(0); }
  45% { transform: translateY(38vh) rotate(4deg); }
  55% { transform: translateY(38vh) rotate(-3deg); }
}
@keyframes eggThereBack {
  0%,100% { transform: translateY(0); }
  35% { transform: translateY(28vh) scale(.92); }
  70% { transform: translateY(-12vh) scale(1.03); }
}
@keyframes eggScrollWobble {
  0%,100% { transform: translateX(0) rotate(0); }
  25% { transform: translateX(-20px) rotate(-1deg); }
  50% { transform: translateX(18px) rotate(1deg); }
  75% { transform: translateX(-9px) rotate(-.5deg); }
}



/* ---------------- v0.6 interaction polish ---------------- */
.drawer-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 20px max(14px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(5,5,5,.96);
}
.reset-effects {
  border: 1px solid rgba(255,255,255,.11);
  background: transparent;
  color: rgba(244,241,234,.58);
  padding: 9px 11px;
  font-size: 9px;
  letter-spacing: .16em;
  cursor: pointer;
}
.reset-effects:hover:not(:disabled) { color: var(--fg); border-color: rgba(255,255,255,.24); }
.reset-effects:disabled { opacity: .24; cursor: default; }
.active-effects-count { color: rgba(244,241,234,.28); font-size: 9px; letter-spacing: .14em; }
.drawer-close { right: 20px !important; z-index: 3; }

/* Keep the archive launcher clear of the drawer instead of laying over it. */
.egg-button { z-index: 110; transition: right 550ms var(--ease), opacity 220ms ease, border-color 200ms ease, background 200ms ease, transform 200ms ease; }
body.drawer-open .egg-button { right: calc(min(520px, 100vw) + 22px); }
@media (max-width: 640px) {
  body.drawer-open .egg-button {
    opacity: 1;
    pointer-events: auto;
    top: auto;
    right: 16px;
    left: auto;
    bottom: max(18px, env(safe-area-inset-bottom));
  }
}

/* Discovery words are now restrained lower-third callouts, never laid over the timer. */
.egg-effect-message {
  inset: auto auto clamp(72px, 11vh, 125px) 50%;
  width: min(82vw, 780px);
  min-height: 48px;
  transform: translate(-50%, 22px) scale(.98);
  padding: 12px 18px 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(20px, 4.2vw, 54px);
  font-weight: 650;
  letter-spacing: -.02em;
  line-height: 1;
  background: linear-gradient(90deg, transparent, rgba(8,8,8,.86) 14%, rgba(8,8,8,.86) 86%, transparent);
  text-shadow: none;
}
.egg-effect-message::before,
.egg-effect-message::after {
  content: "";
  position: absolute;
  left: 16%; right: 16%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(242,169,0,.65), transparent);
}
.egg-effect-message::before { top: 0; }
.egg-effect-message::after { bottom: 0; }
.egg-effect-message.small { font-size: clamp(11px, 1.6vw, 18px); letter-spacing: .18em; font-weight: 500; }
.egg-effect-message.show { transform: translate(-50%, 0) scale(1); }

/* Persistent effects. They intentionally reset on page reload. */
body.egg-tilt-persist .stage { transform: rotate(3deg) scale(.975); }
body.egg-upside-persist .stage { transform: rotate(180deg); }
body.egg-shifty-persist .stage { transform: skewX(-7deg) rotate(-1deg); }
body.egg-backwards-persist .stage { transform: scaleX(-1); }
body.egg-palindrome-persist .stage { transform: scaleX(-1); }
body.egg-roomy .clock-row { letter-spacing: .015em; }
body.egg-space-between-persist .clock-row { letter-spacing: .11em; }
body.egg-typewriter .clock-row,
body.egg-typewriter .movie-pun,
body.egg-typewriter .live-view { font-family: "Courier New", Courier, monospace; }
body.egg-no-cursor-persist, body.egg-no-cursor-persist * { cursor: none !important; }
body.egg-double-vision-persist .clock-row,
body.egg-double-vision-persist .live-view h1 { text-shadow: 9px 0 rgba(255,255,255,.19), -9px 0 rgba(255,255,255,.12); }
body.egg-rgb-persist .clock-row,
body.egg-rgb-persist .live-view h1 { text-shadow: -7px 0 rgba(255,40,85,.52), 7px 0 rgba(0,210,255,.52); }
body.egg-wide-title-persist #moviePun { letter-spacing: .62em; transform: scaleX(1.08); }
body.egg-calm-glow-persist .stage { filter: drop-shadow(0 0 40px rgba(242,169,0,.18)); }
body.egg-spotlight-persist::after {
  content:""; position:fixed; inset:0; z-index:45; pointer-events:none;
  background: radial-gradient(circle 110px at 50% 50%, transparent 0 52%, rgba(0,0,0,.96) 100%);
}
body.egg-edge-glow-persist::after {
  content:""; position:fixed; inset:0; z-index:45; pointer-events:none;
  box-shadow: inset 0 0 0 1px rgba(242,169,0,.85), inset 0 0 95px rgba(242,169,0,.26);
}
body.egg-plex-theme {
  --accent: #e5a00d;
  --fg: #f7f7f7;
  --muted: rgba(247,247,247,.44);
}
body.egg-plex-theme .clock-row,
body.egg-plex-theme .live-view h1 span:first-child { color: #e5a00d; text-shadow: 0 0 42px rgba(229,160,13,.12); }
body.egg-plex-theme .movie-pun { color: #f7f7f7; }
body.egg-arcade .clock-row { font-family: "Courier New", monospace; color:#80ff72; text-shadow:0 0 14px rgba(128,255,114,.35); }
body.egg-arcade::before { opacity:.33; background: repeating-linear-gradient(to bottom, rgba(80,255,100,.055) 0 1px, transparent 1px 4px); }
body.egg-corner-frame::after {
  content:""; position:fixed; inset:18px; z-index:44; pointer-events:none;
  background:
    linear-gradient(var(--accent),var(--accent)) left top/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) left top/1px 44px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right top/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right top/1px 44px no-repeat,
    linear-gradient(var(--accent),var(--accent)) left bottom/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) left bottom/1px 44px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right bottom/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right bottom/1px 44px no-repeat;
  opacity:.72;
}
body.egg-caps-grid::after {
  content:"CAPS  CAPS  CAPS  CAPS  CAPS  CAPS  CAPS  CAPS  CAPS  CAPS  CAPS  CAPS";
  position:fixed; inset:0; z-index:42; pointer-events:none; overflow:hidden;
  color:rgba(255,255,255,.055); font:700 clamp(22px,5vw,72px)/1.5 Arial,sans-serif; letter-spacing:.12em; word-spacing:1em;
}

/* Unique one-shot effect surfaces */
.arcade-burst, .launch-mark, .blackout-whisper, .fake-terminal, .keyboard-cat,
.middle-line, .precision-moment, .archive-214, .lucky-seven, .number-tiles {
  position:fixed; z-index:119; pointer-events:none;
}
.arcade-burst { inset:12% 8% auto; text-align:center; color:#80ff72; font:600 clamp(11px,2vw,20px) "Courier New"; letter-spacing:.2em; opacity:0; transition:opacity .2s; }
.arcade-burst.show { opacity:1; }
.launch-mark { left:50%; top:18%; transform:translate(-50%,-50%) rotate(-8deg) scale(1.7); opacity:0; font-size:clamp(26px,7vw,86px); font-weight:900; letter-spacing:-.05em; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.35); transition:.25s; }
.launch-mark.show { opacity:.8; transform:translate(-50%,-50%) rotate(-8deg) scale(1); }
body.egg-launch-strike .stage { animation: launchStrike .9s cubic-bezier(.2,.8,.2,1); }
body.egg-repel .egg-button { transform:translate(-65px,40px) rotate(9deg); }
body.egg-hold-stretch .clock-row { animation: holdStretch 1.5s var(--ease); }
body.egg-caffeine .stage { animation:caffeine 2.6s linear; }
body.egg-return-sender .stage { animation:returnSender 1.8s var(--ease); }
body.egg-escape-ui .egg-button { animation:escapeEgg 1.5s var(--ease); }
body.egg-escape-ui .sound-button { animation:escapeSound 1.5s var(--ease); }
body.egg-blackout-v2 .stage { opacity:0; transition:opacity .15s; }
.blackout-whisper { inset:0; display:grid; place-items:center; color:rgba(255,255,255,.18); font-size:70px; }

.letterbox-overlay { position:fixed; inset:0; z-index:43; pointer-events:none; }
.letterbox-overlay i { position:absolute; left:0; right:0; height:11vh; background:#000; }
.letterbox-overlay i:first-child { top:0; } .letterbox-overlay i:last-child { bottom:0; }
.pocket-portal { position:fixed; left:50%; top:50%; z-index:116; width:12px; height:12px; border-radius:50%; border:1px solid rgba(255,255,255,.7); box-shadow:0 0 80px 35px rgba(108,68,255,.2); transform:translate(-50%,-50%); opacity:0; }
.pocket-portal.show { animation:portalPop 1.6s ease forwards; }
.plex-sweep { position:fixed; inset:0; z-index:116; pointer-events:none; overflow:hidden; opacity:0; }
.plex-sweep span { position:absolute; left:-30%; top:50%; transform:translateY(-50%) skewX(-20deg); color:#e5a00d; font-size:18vw; font-weight:900; opacity:.13; }
.plex-sweep.show { opacity:1; } .plex-sweep.show span { animation:plexSweep 1.2s var(--ease) forwards; }
.sesame-doors { position:fixed; inset:0; z-index:116; pointer-events:none; display:flex; }
.sesame-doors i { width:50%; height:100%; background:#050505; border-color:rgba(255,255,255,.08); transition:transform 1.3s var(--ease); }
.sesame-doors.show i:first-child { transform:translateX(-105%); } .sesame-doors.show i:last-child { transform:translateX(105%); }

.number-burst { position:fixed; inset:0; z-index:118; pointer-events:none; overflow:hidden; }
.number-burst span { position:absolute; left:50%; top:50%; font-size:clamp(68px,15vw,190px); font-weight:800; color:rgba(244,241,234,.92); opacity:0; transform:translate(-50%,-50%) scale(.3); }
.number-burst.show span { animation:numberBurst 1.65s cubic-bezier(.18,.8,.2,1) forwards; animation-delay:calc(var(--i) * .11s); }
.fake-tabs { position:fixed; left:0; right:0; top:0; height:42px; z-index:119; pointer-events:none; display:flex; overflow:hidden; background:#111; border-bottom:1px solid rgba(255,255,255,.12); transform:translateY(-110%); transition:.3s var(--ease); }
.fake-tabs.show { transform:translateY(0); }
.fake-tabs span { flex:0 0 150px; padding:14px 10px 0; border-right:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.52); font-size:8px; white-space:nowrap; }
.fake-terminal { left:50%; bottom:11vh; width:min(620px,86vw); padding:18px 20px; background:rgba(0,8,0,.94); border:1px solid rgba(115,255,105,.25); transform:translateX(-50%) translateY(20px); opacity:0; color:#7cff72; font:12px/1.8 "Courier New",monospace; box-shadow:0 20px 90px #000; transition:.3s; }
.fake-terminal.show { opacity:1; transform:translateX(-50%) translateY(0); }
.fake-terminal b { animation:termBlink .6s steps(1) infinite; }

.alphabet-soup, .amber-bubbles, .key-storm { position:fixed; inset:0; z-index:116; pointer-events:none; overflow:hidden; }
.alphabet-soup span { position:absolute; top:-8%; font-size:clamp(18px,3vw,36px); color:rgba(244,241,234,.65); animation:letterFall 2.4s linear forwards; animation-delay:calc(var(--i)*.025s); }
.amber-bubbles span { position:absolute; bottom:-20px; width:8px; height:8px; border-radius:50%; border:1px solid rgba(242,169,0,.6); animation:bubbleUp 2.3s ease-in forwards; animation-delay:calc(var(--i)*.02s); }
.key-storm span { position:absolute; color:rgba(244,241,234,.5); font:600 clamp(13px,2vw,24px) "Courier New"; animation:keyPop 1.8s ease forwards; animation-delay:calc(var(--i)*.018s); }
.keyboard-cat { left:50%; bottom:13vh; transform:translateX(-50%) translateY(20px); opacity:0; display:grid; grid-template-columns:auto auto; gap:5px 12px; align-items:center; color:rgba(244,241,234,.78); transition:.3s; }
.keyboard-cat.show { opacity:1; transform:translateX(-50%) translateY(0); }
.keyboard-cat span { font-size:36px; } .keyboard-cat b { font:600 20px monospace; } .keyboard-cat i { grid-column:1/-1; color:var(--muted); font:10px monospace; letter-spacing:.15em; }

.dead-pixels { position:fixed; inset:0; z-index:121; pointer-events:none; }
.dead-pixels i { position:absolute; display:block; box-shadow:0 0 1px currentColor; }
.middle-line { left:50%; top:0; bottom:0; width:1px; background:rgba(242,169,0,.3); opacity:0; }
.middle-line span { position:absolute; top:50%; left:0; transform:translate(-50%,-50%) rotate(-90deg); padding:5px 10px; background:#000; color:var(--accent); font-size:8px; letter-spacing:.2em; }
.middle-line.show { opacity:1; }
.centre-crosshair { position:fixed; left:50%; top:50%; z-index:46; width:72px; height:72px; transform:translate(-50%,-50%); border:1px solid rgba(242,169,0,.55); border-radius:50%; pointer-events:none; }
.centre-crosshair::before,.centre-crosshair::after { content:""; position:absolute; background:rgba(242,169,0,.5); }
.centre-crosshair::before { left:50%; top:-35px; width:1px; height:140px; } .centre-crosshair::after { top:50%; left:-35px; width:140px; height:1px; }
.trust-ring { position:fixed; left:50%; top:50%; z-index:45; width:min(62vw,620px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.18); border-radius:50%; pointer-events:none; box-shadow:0 0 70px rgba(255,255,255,.035), inset 0 0 70px rgba(255,255,255,.025); }

.orbit-effect { position:fixed; left:50%; top:50%; z-index:119; width:min(72vw,700px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.08); border-radius:50%; pointer-events:none; opacity:0; }
.orbit-effect.show { opacity:1; animation:orbitFade 2.3s ease forwards; }
.orbit-effect span { position:absolute; left:50%; top:-6px; width:12px; height:12px; background:var(--accent); border-radius:50%; box-shadow:0 0 24px var(--accent); transform-origin:0 calc(min(72vw,700px)/2 + 6px); animation:orbitDot 1.8s linear 1; }
.zorro-slash { position:fixed; inset:0; z-index:119; pointer-events:none; }
.zorro-slash i { position:absolute; height:2px; background:linear-gradient(90deg,transparent,var(--accent),#fff,transparent); transform-origin:left center; opacity:0; }
.zorro-slash i:nth-child(1){left:18%;top:25%;width:64%;}.zorro-slash i:nth-child(2){left:78%;top:25%;width:66%;transform:rotate(145deg);}.zorro-slash i:nth-child(3){left:18%;top:75%;width:64%;}.zorro-slash.show i{animation:slashDraw 1.3s ease forwards;}
.snake-wave { position:fixed; inset:0; z-index:115; pointer-events:none; }
.snake-wave i { position:absolute; left:calc(var(--i)*6% - 2%); top:50%; width:18px; height:18px; border:1px solid rgba(255,255,255,.35); border-radius:50%; animation:snakeDot 1.5s ease-in-out forwards; animation-delay:calc(var(--i)*.035s); }

.rocket-flight { position:fixed; inset:0; z-index:119; pointer-events:none; overflow:hidden; opacity:0; }
.rocket-flight.show { opacity:1; }
.rocket { position:absolute; left:-120px; top:58%; width:76px; height:22px; border-radius:3px 14px 14px 3px; background:#eee; transform:rotate(-12deg); animation:rocketFly 2s cubic-bezier(.1,.7,.25,1) forwards; }
.rocket::before { content:""; position:absolute; right:-14px; top:0; border-left:18px solid #eee; border-top:11px solid transparent; border-bottom:11px solid transparent; }
.rocket i { position:absolute; left:14px; top:5px; width:12px; height:12px; border-radius:50%; background:#111; border:2px solid var(--accent); }
.rocket b { position:absolute; left:-18px; top:2px; width:18px; height:18px; background:linear-gradient(90deg,#fff,var(--accent),transparent); clip-path:polygon(100% 0,100% 100%,0 50%); }
.rocket em { position:absolute; left:26px; bottom:-11px; width:20px; height:12px; background:#ccc; clip-path:polygon(0 0,100% 0,40% 100%); }
.rocket-trail { position:absolute; left:0; top:61%; height:2px; width:100%; background:linear-gradient(90deg,transparent,rgba(242,169,0,.45),transparent); transform:translateX(-100%); animation:trailFly 2s ease forwards; }
body.egg-slow-trail .stage { animation:slowTrail 3s ease; }

.precision-moment { left:50%; bottom:12vh; transform:translateX(-50%) scale(.9); opacity:0; display:flex; align-items:center; gap:14px; color:rgba(244,241,234,.88); transition:.25s; }
.precision-moment.show { opacity:1; transform:translateX(-50%) scale(1); }
.precision-moment strong { font-size:clamp(22px,5vw,60px); font-weight:300; letter-spacing:.08em; }
.precision-moment i { width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 22px var(--accent); }
.constellation-214 { position:fixed; inset:0; z-index:116; pointer-events:none; }
.constellation-214 span { position:absolute; font-size:clamp(60px,13vw,160px); color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.22); animation:constellation 2s var(--ease) forwards; }
.constellation-214 span:nth-child(1){left:12%;top:18%;}.constellation-214 span:nth-child(2){left:48%;top:62%;}.constellation-214 span:nth-child(3){right:10%;top:25%;}
.portal-flicker { position:fixed; inset:0; z-index:116; pointer-events:none; display:grid; place-items:center; }
.portal-flicker i { width:30px; aspect-ratio:1; border:1px solid var(--accent); border-radius:50%; animation:portalFlicker 1.6s steps(5) forwards; }
body.egg-long-way .stage { animation:longDrop 2.2s var(--ease); }
.depth-lines { position:fixed; inset:0; z-index:114; pointer-events:none; perspective:500px; overflow:hidden; }
.depth-lines i { position:absolute; left:50%; top:50%; width:1px; height:65vh; background:rgba(255,255,255,.08); transform-origin:top; transform:translate(-50%,-50%) rotate(calc(var(--i)*25.7deg)); }
.archive-214 { left:50%; bottom:11vh; transform:translateX(-50%) translateY(15px); opacity:0; text-align:center; transition:.3s; }
.archive-214.show { opacity:1; transform:translateX(-50%) translateY(0); }
.archive-214 span { display:block; font-size:clamp(46px,9vw,110px); font-weight:200; } .archive-214 small { color:var(--muted); letter-spacing:.22em; }
.bookends-effect { position:fixed; inset:0; z-index:43; pointer-events:none; }
.bookends-effect i { position:absolute; top:12%; bottom:12%; width:3px; background:var(--accent); box-shadow:0 0 30px rgba(242,169,0,.25); }
.bookends-effect i:first-child{left:7%;}.bookends-effect i:last-child{right:7%;}
.lucky-seven { left:50%; bottom:12vh; transform:translateX(-50%); display:flex; gap:7px; opacity:0; }
.lucky-seven.show { opacity:1; }
.lucky-seven span { width:60px; height:70px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); background:#080808; font-size:42px; animation:slotFlip .8s steps(5); }
.number-tiles { left:50%; bottom:12vh; transform:translateX(-50%) translateY(12px); display:flex; gap:8px; opacity:0; transition:.3s; }
.number-tiles.show { opacity:1; transform:translateX(-50%) translateY(0); }
.number-tiles span { width:clamp(42px,7vw,72px); aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(255,255,255,.14); font-size:clamp(24px,4vw,44px); font-weight:250; }
.thirteen-grid { position:fixed; left:50%; top:50%; z-index:116; width:min(60vmin,520px); aspect-ratio:1; transform:translate(-50%,-50%); display:grid; grid-template-columns:repeat(13,1fr); gap:2px; pointer-events:none; }
.thirteen-grid i { border:1px solid rgba(242,169,0,.12); animation:grid13 1.7s ease forwards; }
.square-frame-effect { position:fixed; left:50%; top:50%; z-index:43; width:min(76vmin,720px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.25); box-shadow:0 0 80px rgba(255,255,255,.035); pointer-events:none; }

@keyframes launchStrike{0%,100%{transform:translateY(0)}38%{transform:translateY(14px) scaleY(.94)}48%{transform:translateY(-6px) scaleY(1.03)}}
@keyframes holdStretch{0%,100%{transform:scaleX(1)}45%{transform:scaleX(1.28)}}
@keyframes caffeine{0%,100%{transform:translate(0)}10%{transform:translate(-3px,1px)}20%{transform:translate(4px,-2px)}30%{transform:translate(-5px,2px)}40%{transform:translate(3px,1px)}50%{transform:translate(-2px,-3px)}60%{transform:translate(5px,2px)}70%{transform:translate(-3px,-1px)}80%{transform:translate(2px,3px)}90%{transform:translate(-1px,-2px)}}
@keyframes escapeEgg{50%{transform:translate(45vw,-30vh) rotate(30deg)}100%{transform:none}} @keyframes escapeSound{50%{transform:translate(-35vw,25vh) rotate(-35deg)}100%{transform:none}}
@keyframes returnSender{0%,100%{transform:none;opacity:1}45%{transform:translateZ(-450px) scale(.5);opacity:.2}}
@keyframes portalPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}45%{opacity:1;transform:translate(-50%,-50%) scale(16)}100%{opacity:0;transform:translate(-50%,-50%) scale(25)}}
@keyframes plexSweep{to{left:115%}}
@keyframes numberBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}32%{opacity:.95}100%{opacity:0;transform:translate(calc(-50% + (var(--i) - 1)*28vw),calc(-50% + (var(--i) - 1)*-12vh)) scale(1.35)}}
@keyframes termBlink{50%{opacity:0}} @keyframes letterFall{to{transform:translateY(116vh) rotate(280deg);opacity:0}} @keyframes bubbleUp{to{transform:translateY(-112vh) scale(2);opacity:0}}
@keyframes keyPop{0%{transform:scale(.3) rotate(-20deg);opacity:0}35%{opacity:.8}100%{transform:scale(1.8) rotate(20deg);opacity:0}}
@keyframes orbitFade{0%,100%{opacity:0}15%,75%{opacity:1}} @keyframes orbitDot{to{transform:rotate(360deg)}}
@keyframes slashDraw{0%{opacity:0;clip-path:inset(0 100% 0 0)}20%{opacity:1}100%{opacity:0;clip-path:inset(0 0 0 0)}}
@keyframes snakeDot{0%,100%{transform:translateY(0);opacity:0}30%{opacity:1}50%{transform:translateY(var(--y));opacity:.8}}
@keyframes rocketFly{0%{left:-120px;top:68%}45%{top:36%}100%{left:calc(100% + 140px);top:18%}} @keyframes trailFly{to{transform:translateX(100%)}}
@keyframes slowTrail{0%,100%{filter:none}35%{filter:blur(3px);transform:scale(1.015)}65%{filter:blur(1px);transform:scale(.99)}}
@keyframes constellation{0%{opacity:0;transform:scale(.2) rotate(-12deg)}35%{opacity:.7}100%{opacity:0;transform:scale(1.4) rotate(8deg)}}
@keyframes portalFlicker{0%{transform:scale(.1);opacity:0}20%{opacity:1}80%{transform:scale(25);opacity:.5}100%{transform:scale(45);opacity:0}}
@keyframes longDrop{0%,100%{transform:none}45%{transform:translateY(48vh) scale(.78);filter:blur(2px)}}
@keyframes slotFlip{0%{transform:rotateX(0)}100%{transform:rotateX(1080deg)}}
@keyframes grid13{0%{opacity:0;transform:scale(.4)}40%{opacity:.6}100%{opacity:0;transform:scale(1)}}

@media (max-width:640px) {
  .egg-effect-message { bottom:88px; width:88vw; }
  .letterbox-overlay i { height:8vh; }
  .fake-terminal { bottom:90px; }
  .rocket { transform:scale(.8) rotate(-12deg); }
}


/* v0.6 persistent transforms compose instead of replacing each other. */
.stage {
  --egg-rotate: 0deg;
  --egg-tilt: 0deg;
  --egg-skew-x: 0deg;
  --egg-flip-x: 1;
  transform: rotate(calc(var(--egg-rotate) + var(--egg-tilt))) skewX(var(--egg-skew-x)) scaleX(var(--egg-flip-x));
}
body.egg-tilt-persist .stage { --egg-tilt: 3deg; }
body.egg-upside-persist .stage { --egg-rotate: 180deg; }
body.egg-shifty-persist .stage { --egg-skew-x: -7deg; }
body.egg-backwards-persist .stage,
body.egg-palindrome-persist .stage { --egg-flip-x: -1; }

.corner-frame-overlay,
.caps-grid-overlay,
.spotlight-overlay,
.edge-glow-overlay {
  position: fixed;
  inset: 0;
  z-index: 44;
  pointer-events: none;
}
.corner-frame-overlay {
  inset: 18px;
  background:
    linear-gradient(var(--accent),var(--accent)) left top/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) left top/1px 44px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right top/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right top/1px 44px no-repeat,
    linear-gradient(var(--accent),var(--accent)) left bottom/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) left bottom/1px 44px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right bottom/44px 1px no-repeat,
    linear-gradient(var(--accent),var(--accent)) right bottom/1px 44px no-repeat;
  opacity: .72;
}
.caps-grid-overlay {
  overflow: hidden;
  color: rgba(255,255,255,.055);
  font: 700 clamp(22px,5vw,72px)/1.5 Arial,sans-serif;
  letter-spacing: .12em;
  word-spacing: 1em;
}
.spotlight-overlay {
  z-index: 45;
  background: radial-gradient(circle 110px at 50% 50%, transparent 0 52%, rgba(0,0,0,.96) 100%);
}
.edge-glow-overlay {
  z-index: 45;
  box-shadow: inset 0 0 0 1px rgba(242,169,0,.85), inset 0 0 95px rgba(242,169,0,.26);
}


.egg-row.effect-active {
  box-shadow: inset 2px 0 0 rgba(242,169,0,.72);
  background: linear-gradient(90deg, rgba(242,169,0,.045), transparent 42%);
}
.egg-row.effect-active .egg-check { text-shadow: 0 0 16px rgba(242,169,0,.45); }


/* ---------------- v0.7 richer persistent / cross-device effects ---------------- */
.stage { touch-action: none; }

.egg-rain-persistent span {
  top: -32px;
  width: var(--egg-size, 18px);
  height: calc(var(--egg-size, 18px) * 1.28);
  border-radius: 52% 52% 48% 48% / 62% 62% 38% 38%;
  background: linear-gradient(145deg, rgba(242,169,0,.94), rgba(242,169,0,.24));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 0 14px rgba(242,169,0,.12);
  animation: eggFallPersistent 5s linear infinite;
}

.persistent-particles {
  position: fixed;
  inset: 0;
  z-index: 43;
  pointer-events: none;
  overflow: hidden;
}

.persistent-particles span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  animation-delay: var(--delay);
  animation-duration: var(--dur);
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.amber-bubble-field span {
  top: 110%;
  border: 1px solid rgba(242,169,0,.35);
  border-radius: 50%;
  background: rgba(242,169,0,.05);
  box-shadow: inset 0 0 10px rgba(242,169,0,.08), 0 0 12px rgba(242,169,0,.05);
  animation-name: bubbleRisePersistent;
}

.big-screen-stars span,
.night-stars span,
.star-drift span {
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 0 7px rgba(255,255,255,.28);
}
.big-screen-stars span { animation-name: starTwinkle; }
.night-stars {
  background: radial-gradient(circle at 72% 18%, rgba(164,188,255,.09), transparent 25%);
}
.night-stars span { animation-name: starTwinkle; opacity:.55; }
.star-drift span { animation-name: starDrift; opacity:.46; }

.ghost-tabs span {
  width: calc(80px + var(--size) * 10);
  height: calc(28px + var(--size) * 3);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 6px;
  background: rgba(255,255,255,.018);
  animation-name: ghostTabFloat;
}

.paper-rain span,
.printer-stream span {
  width: calc(8px + var(--size) * 1.8);
  height: calc(12px + var(--size) * 2.5);
  background: rgba(244,241,234,.22);
  border: 1px solid rgba(244,241,234,.18);
  animation-name: paperFall;
}
.printer-stream span { background: rgba(244,241,234,.32); animation-name: printerFall; }

.dust-motes span {
  border-radius: 50%;
  background: rgba(244,241,234,.22);
  filter: blur(.2px);
  animation-name: dustFloat;
}

body.egg-cinemascope-persist::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:41;
  pointer-events:none;
  box-shadow: inset 0 15vh 0 #000, inset 0 -15vh 0 #000;
}
body.egg-cinemascope-persist .stage { filter: contrast(1.06); }

body.egg-portrait-persist .countdown-view,
body.egg-portrait-persist .live-view {
  clip-path: inset(0 28vw);
}
body.egg-portrait-persist::after {
  content:"";
  position:fixed;
  left:50%;
  top:4vh;
  width:min(52vw,460px);
  height:92vh;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.10);
  pointer-events:none;
  z-index:42;
}

.stage {
  --egg-scale: 1;
  transform: rotate(calc(var(--egg-rotate) + var(--egg-tilt))) skewX(var(--egg-skew-x)) scaleX(var(--egg-flip-x)) scale(var(--egg-scale));
}
body.egg-postage-persist .stage { --egg-scale:.23; }
body.egg-postage-persist::after {
  content:"";
  position:fixed;
  left:50%;
  top:50%;
  width:31vw;
  height:25vh;
  transform:translate(-50%,-50%);
  border:8px dashed rgba(244,241,234,.18);
  pointer-events:none;
  z-index:40;
}
body.egg-pinch-in-persist .stage { --egg-scale:.72; }
body.egg-pinch-out-persist .stage { --egg-scale:1.22; }

body.egg-focus-persist .stage { animation: focusBreathe 4.8s ease-in-out infinite; }
body.egg-selection-persist::after {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:42;
  background: linear-gradient(180deg, transparent 0 45%, rgba(52,120,255,.11) 45% 52%, transparent 52% 100%);
  background-size:100% 180px;
  animation: selectionScan 4s linear infinite;
}
body.egg-reload-persist::after {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:42;
  background: repeating-linear-gradient(0deg, transparent 0 6px, rgba(255,255,255,.025) 7px);
  animation: reloadScan .9s linear infinite;
}
body.egg-dejavu-persist .countdown-view,
body.egg-dejavu-persist .live-view { text-shadow: 10px 0 0 rgba(77,116,255,.13), -10px 0 0 rgba(255,80,80,.10); }

.sunrise-overlay {
  position:fixed; inset:0; z-index:41; pointer-events:none; overflow:hidden;
  background:linear-gradient(to top, rgba(255,137,66,.17), transparent 48%);
}
.sunrise-overlay i {
  position:absolute; width:36vw; height:36vw; max-width:430px; max-height:430px;
  border-radius:50%; left:50%; bottom:-18vw; transform:translateX(-50%);
  background:radial-gradient(circle, rgba(255,197,95,.28), rgba(255,128,64,.10) 45%, transparent 70%);
  animation:sunrisePulse 5s ease-in-out infinite;
}
.sunrise-overlay span { position:absolute; inset:0; background:linear-gradient(180deg, rgba(126,149,255,.035), transparent 45%); }

body.egg-prime-persist {
  --accent:#ff4fd8;
}
body.egg-prime-persist .clock-row { text-shadow: 0 0 28px rgba(255,79,216,.30), 0 0 60px rgba(67,223,255,.12); }
body.egg-prime-persist::after {
  content:"";position:fixed;inset:0;pointer-events:none;z-index:41;
  background:linear-gradient(115deg, transparent 25%, rgba(67,223,255,.06) 49%, transparent 51%, rgba(255,79,216,.055) 72%, transparent);
  animation:primeSweep 4s linear infinite;
}

.lunch-orbit { position:fixed; inset:0; z-index:41; pointer-events:none; display:grid; place-items:center; }
.lunch-orbit i,.lunch-orbit span,.lunch-orbit b { position:absolute; border-radius:50%; }
.lunch-orbit i { width:180px;height:180px;border:1px solid rgba(242,169,0,.18);animation:orbitSpin 8s linear infinite; }
.lunch-orbit span { width:9px;height:9px;background:var(--accent);transform:translateX(90px);animation:orbitSpin 8s linear infinite;transform-origin:-90px 0; }
.lunch-orbit b { width:46px;height:46px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 30px rgba(242,169,0,.08); }

body.egg-sunday-persist::after {
  content:"";position:fixed;inset:0;pointer-events:none;z-index:42;
  background:radial-gradient(circle, transparent 30%, rgba(30,25,55,.18) 75%, rgba(0,0,0,.45));
  animation:sundayBreath 6s ease-in-out infinite;
}

.friday-spotlights { position:fixed; inset:0; pointer-events:none; z-index:41; overflow:hidden; }
.friday-spotlights i { position:absolute; top:-20%; width:22vw; height:140%; filter:blur(18px); opacity:.10; transform-origin:50% 0; }
.friday-spotlights i:nth-child(1){left:10%;background:linear-gradient(rgba(255,80,210,.8),transparent);animation:spotSweep 5s ease-in-out infinite;}
.friday-spotlights i:nth-child(2){left:40%;background:linear-gradient(rgba(80,220,255,.8),transparent);animation:spotSweep 6.5s ease-in-out -2s infinite;}
.friday-spotlights i:nth-child(3){left:70%;background:linear-gradient(rgba(242,169,0,.8),transparent);animation:spotSweep 5.7s ease-in-out -3s infinite;}

.floating-digits { position:fixed;inset:0;z-index:41;pointer-events:none;overflow:hidden; }
.floating-digits span { position:absolute;left:var(--x);top:var(--y);font-size:clamp(10px,1.2vw,18px);color:rgba(242,169,0,.22);letter-spacing:.18em;animation:digitDrift var(--dur) ease-in-out var(--delay) infinite; }

body.egg-2014-persist::after {
  content:"";position:fixed;inset:0;z-index:41;pointer-events:none;
  background-image:linear-gradient(rgba(242,169,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(242,169,0,.04) 1px,transparent 1px);
  background-size:20px 14px;animation:gridDrift 8s linear infinite;
}

.second-ring {position:fixed;left:50%;top:50%;width:min(70vw,560px);aspect-ratio:1;border:1px solid rgba(242,169,0,.14);border-radius:50%;transform:translate(-50%,-50%);z-index:41;pointer-events:none;}
.second-ring i{position:absolute;left:50%;top:50%;width:1px;height:48%;background:linear-gradient(var(--accent),transparent);transform-origin:50% 0;animation:secondHand 60s linear infinite;}
.second-ring span,.second-ring b{position:absolute;font-size:10px;letter-spacing:.18em;color:rgba(244,241,234,.28);font-weight:400;}
.second-ring span{left:50%;top:2%;transform:translateX(-50%)} .second-ring b{right:8%;bottom:18%;}

.watching-eyes {position:fixed;inset:0;z-index:41;pointer-events:none;}
.watching-eyes i {position:absolute;width:34px;height:14px;border:1px solid rgba(255,255,255,.10);border-radius:50%;left:calc(8% + var(--i)*13%);top:calc(15% + (var(--i)%3)*28%);animation:eyeBlink 5s steps(1) calc(var(--i)*-.63s) infinite;}
.watching-eyes b {position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(242,169,0,.55);left:50%;top:50%;transform:translate(-50%,-50%);}

.idle-screensaver {position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden;}
.idle-screensaver span {position:absolute;left:10%;top:16%;font:800 clamp(24px,5vw,72px)/1 Arial,sans-serif;color:rgba(242,169,0,.32);letter-spacing:-.08em;animation:dvdBounce 11s linear infinite alternate;}

.resolution-cards {position:fixed;inset:0;z-index:116;display:grid;place-items:center;pointer-events:none;opacity:0;}
.resolution-cards.show{opacity:1}
.resolution-cards i{position:absolute;border:1px solid rgba(244,241,234,.45);background:rgba(255,255,255,.025);box-shadow:0 0 60px rgba(255,255,255,.05)}
.resolution-cards .portrait-card{width:120px;height:210px;transform:translateX(-180px) rotate(-8deg)}
.resolution-cards .square-card{width:170px;height:170px}
.resolution-cards .wide-card{width:300px;height:110px;transform:translateX(210px) rotate(6deg)}
body.egg-resolution-revolution .stage{animation:resolutionFlip 2.5s var(--ease)}

.direction-sweep {position:fixed;inset:0;z-index:118;pointer-events:none;overflow:hidden;opacity:0}
.direction-sweep.show{opacity:1}
.direction-sweep i{position:absolute;background:linear-gradient(90deg,transparent,rgba(242,169,0,.22),transparent)}
.direction-sweep b{position:absolute;font-size:10px;letter-spacing:.28em;color:rgba(244,241,234,.32);font-weight:500}
.direction-sweep.left i,.direction-sweep.right i{top:0;bottom:0;width:55%;animation:sweepHorizontal 1.35s var(--ease) forwards}
.direction-sweep.left i{right:-55%}.direction-sweep.right i{left:-55%}
.direction-sweep.left b{right:9%;top:50%}.direction-sweep.right b{left:9%;top:50%}
.direction-sweep.up i,.direction-sweep.down i{left:0;right:0;height:55%;background:linear-gradient(0deg,transparent,rgba(242,169,0,.22),transparent);animation:sweepVertical 1.35s var(--ease) forwards}
.direction-sweep.up i{bottom:-55%}.direction-sweep.down i{top:-55%}
.direction-sweep.up b{left:50%;top:12%}.direction-sweep.down b{left:50%;bottom:12%}

.box-trace {position:fixed;inset:16px;z-index:44;pointer-events:none;}
.box-trace i{position:absolute;background:var(--accent);opacity:.55}
.box-trace i:nth-child(1),.box-trace i:nth-child(3){height:1px;width:0;animation:traceH 3.4s linear infinite}
.box-trace i:nth-child(2),.box-trace i:nth-child(4){width:1px;height:0;animation:traceV 3.4s linear infinite}
.box-trace i:nth-child(1){top:0;left:0}.box-trace i:nth-child(2){top:0;right:0;animation-delay:.85s}
.box-trace i:nth-child(3){bottom:0;right:0;animation-delay:1.7s}.box-trace i:nth-child(4){bottom:0;left:0;animation-delay:2.55s}

.tap-ripple-storm {position:fixed;inset:0;z-index:117;pointer-events:none}
.tap-ripple-storm span{position:absolute;width:12px;height:12px;border:1px solid rgba(242,169,0,.7);border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:tapRipple 1.5s var(--ease) var(--delay) forwards}

body.egg-longpress-persist .stage{filter:contrast(.94) brightness(.82)}
body.egg-longpress-persist .countdown-view{transform:scaleY(.93)}
body.egg-split-persist .stage::after{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:rgba(242,169,0,.35);box-shadow:0 0 30px rgba(242,169,0,.18)}
body.egg-split-persist .countdown-view{filter:drop-shadow(-16px 0 0 rgba(255,255,255,.055))}
body.egg-prism-persist .clock-row{text-shadow:-8px 0 rgba(255,50,70,.20),8px 0 rgba(50,140,255,.20),0 8px rgba(80,255,170,.13)}

.horizon-overlay{position:fixed;inset:0;z-index:41;pointer-events:none;overflow:hidden}
.horizon-overlay i{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(242,169,0,.32);box-shadow:0 0 28px rgba(242,169,0,.14)}
.horizon-overlay span{position:absolute;left:50%;top:50%;width:140vw;height:140vw;transform:translate(-50%,0) rotateX(70deg);background:repeating-linear-gradient(90deg,rgba(242,169,0,.035) 0 1px,transparent 1px 70px),repeating-linear-gradient(0deg,rgba(242,169,0,.035) 0 1px,transparent 1px 70px);transform-origin:50% 0}

.edge-comet{position:fixed;inset:0;z-index:118;pointer-events:none;overflow:hidden;opacity:0}.edge-comet.show{opacity:1}
.edge-comet span{position:absolute;left:-20%;top:18%;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 35px var(--accent);animation:cometFly 1.45s var(--ease) forwards}
.edge-comet i{position:absolute;left:-28%;top:calc(18% + 8px);width:28%;height:2px;background:linear-gradient(90deg,transparent,rgba(242,169,0,.5));animation:cometTrail 1.45s var(--ease) forwards}

.thumb-war{position:fixed;inset:0;z-index:117;pointer-events:none;opacity:0}.thumb-war.show{opacity:1}
.thumb-war i{position:absolute;top:50%;width:42%;height:2px;background:linear-gradient(90deg,transparent,var(--accent));}
.thumb-war i:nth-child(1){left:0;animation:warLeft 1.6s var(--ease)}.thumb-war i:nth-child(2){right:0;transform:scaleX(-1);animation:warRight 1.6s var(--ease)}
.thumb-war b{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 30px #fff;animation:warSpark 1.6s ease}

body.egg-onehand-persist::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:41;background:linear-gradient(90deg,rgba(242,169,0,.10) 0 50%,transparent 50%)}
body.egg-across-persist::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:41;background:linear-gradient(90deg,rgba(242,169,0,.06) 0 50%,rgba(70,170,255,.06) 50%);animation:acrossPulse 1.4s ease-in-out infinite alternate}

.beat-equalizer{position:fixed;left:50%;bottom:7vh;transform:translateX(-50%);width:min(70vw,640px);height:80px;z-index:42;display:flex;align-items:end;gap:5px;pointer-events:none}
.beat-equalizer i{flex:1;background:linear-gradient(var(--accent),rgba(242,169,0,.1));height:18%;animation:eqBeat .856s ease-in-out calc(var(--i)*-.067s) infinite alternate}

.heartbeat-line{position:fixed;left:8vw;right:8vw;bottom:9vh;height:70px;z-index:42;pointer-events:none;opacity:.5}
.heartbeat-line svg{width:100%;height:100%;overflow:visible}.heartbeat-line polyline{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1100;animation:heartTrace 2.14s linear infinite}

.quad-orbs{position:fixed;inset:0;z-index:41;pointer-events:none}
.quad-orbs i{position:absolute;width:18px;height:18px;border-radius:50%;border:1px solid rgba(242,169,0,.55);box-shadow:0 0 18px rgba(242,169,0,.18);animation:orbPulse 3s ease-in-out infinite}
.quad-orbs i:nth-child(1){left:12%;top:16%}.quad-orbs i:nth-child(2){right:12%;top:16%;animation-delay:-.7s}.quad-orbs i:nth-child(3){right:12%;bottom:16%;animation-delay:-1.4s}.quad-orbs i:nth-child(4){left:12%;bottom:16%;animation-delay:-2.1s}

.movie-pun, .live-view h1 { user-select:text; -webkit-user-select:text; }

@keyframes eggFallPersistent{0%{transform:translateY(-8vh) rotate(0);opacity:0}10%{opacity:.72}100%{transform:translateY(118vh) rotate(720deg);opacity:.15}}
@keyframes bubbleRisePersistent{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.55}50%{transform:translateY(-60vh) translateX(var(--drift))}100%{transform:translateY(-125vh) translateX(0);opacity:0}}
@keyframes starTwinkle{0%,100%{opacity:.12;transform:scale(.7)}50%{opacity:.82;transform:scale(1.4)}}
@keyframes starDrift{0%{transform:translate(-20px,20px);opacity:.05}50%{opacity:.55}100%{transform:translate(80px,-90px);opacity:.05}}
@keyframes ghostTabFloat{0%,100%{transform:translate(0,0) rotate(-2deg);opacity:.03}50%{transform:translate(var(--drift),-60px) rotate(2deg);opacity:.18}}
@keyframes paperFall{0%{transform:translateY(-25vh) rotate(0);opacity:0}10%{opacity:.45}100%{transform:translateY(120vh) translateX(var(--drift)) rotate(420deg);opacity:.05}}
@keyframes printerFall{0%{transform:translateY(-20vh);opacity:.15}100%{transform:translateY(120vh) rotate(30deg);opacity:.05}}
@keyframes dustFloat{0%,100%{transform:translate(0,0);opacity:.05}50%{transform:translate(var(--drift),-80px);opacity:.35}}
@keyframes focusBreathe{0%,100%{filter:blur(0)}50%{filter:blur(2px) brightness(.92)}}
@keyframes selectionScan{to{background-position:0 180px}}
@keyframes reloadScan{to{background-position:0 14px}}
@keyframes sunrisePulse{0%,100%{opacity:.5;transform:translateX(-50%) scale(.92)}50%{opacity:1;transform:translateX(-50%) scale(1.04)}}
@keyframes primeSweep{to{transform:translateX(100px)}}
@keyframes orbitSpin{to{rotate:360deg}}
@keyframes sundayBreath{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes spotSweep{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
@keyframes digitDrift{0%,100%{transform:translate(0,0) rotate(-3deg);opacity:.06}50%{transform:translate(30px,-35px) rotate(3deg);opacity:.28}}
@keyframes gridDrift{to{background-position:20px 14px}}
@keyframes secondHand{to{transform:rotate(360deg)}}
@keyframes eyeBlink{0%,88%,100%{transform:scaleY(1)}90%,94%{transform:scaleY(.05)}}
@keyframes dvdBounce{0%{left:4%;top:8%}25%{left:78%;top:70%}50%{left:58%;top:10%}75%{left:8%;top:76%}100%{left:82%;top:18%}}
@keyframes resolutionFlip{0%,100%{filter:none}25%{transform:scaleX(.55) scaleY(1.2)}50%{transform:scale(.7)}75%{transform:scaleX(1.35) scaleY(.65)}}
@keyframes sweepHorizontal{to{transform:translateX(calc(100vw + 110%))}}
@keyframes sweepVertical{to{transform:translateY(calc(100vh + 110%))}}
@keyframes traceH{0%{width:0}25%,100%{width:100%}}
@keyframes traceV{0%{height:0}25%,100%{height:100%}}
@keyframes tapRipple{0%{opacity:.8;transform:translate(-50%,-50%) scale(.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(12)}}
@keyframes cometFly{to{left:115%;top:68%;transform:rotate(18deg)}} @keyframes cometTrail{to{left:108%;top:68%;transform:rotate(18deg)}}
@keyframes warLeft{0%{transform:translateX(-100%)}65%{transform:translateX(65%)}} @keyframes warRight{0%{transform:scaleX(-1) translateX(-100%)}65%{transform:scaleX(-1) translateX(65%)}} @keyframes warSpark{0%,55%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(3)}100%{opacity:0;transform:scale(8)}}
@keyframes acrossPulse{to{filter:hue-rotate(80deg);opacity:.8}}
@keyframes eqBeat{to{height:100%}}
@keyframes heartTrace{from{stroke-dashoffset:1100}to{stroke-dashoffset:0}}
@keyframes orbPulse{0%,100%{transform:scale(.65);opacity:.25}50%{transform:scale(1.5);opacity:.9}}


/* v0.8 — richer persistent Easter-egg effects */
.creative-overlay { position:fixed; inset:0; z-index:32; pointer-events:none; overflow:hidden; }

body.egg-launch-persist .clock-row { text-shadow:0 0 24px rgba(242,169,0,.34); }
body.egg-launch-persist::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:24; background:repeating-linear-gradient(115deg,transparent 0 80px,rgba(242,169,0,.06) 82px 84px,transparent 86px 160px); animation:launchLanes 6s linear infinite; }
@keyframes launchLanes { to { transform:translateX(160px); } }
body.egg-hold-stretch-persist .clock-row { transform:scaleX(1.18); letter-spacing:-.02em; }
body.egg-caffeine-persist .stage { animation:caffeinePersist .22s steps(2,end) infinite; }
@keyframes caffeinePersist { 0%,100%{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)} }
body.egg-vertical-float-persist .countdown-view { animation:verticalFloat 3.2s ease-in-out infinite; }
@keyframes verticalFloat { 50%{transform:translateY(-22px)} }
body.egg-noir-persist { --fg:#ededed; --accent:#fff; filter:grayscale(1) contrast(1.12); }
body.egg-escape-persist .egg-button { animation:eggWander 5s ease-in-out infinite alternate; }
@keyframes eggWander { to { transform:translate(-70px,52px) rotate(-10deg); } }
body.egg-return-sender-persist .stage { transform:scaleX(-1); }
body.egg-middle-management-persist .stage { transform:scale(.88); border:1px solid rgba(255,255,255,.18); }
body.egg-reverse-spin-persist .stage { animation:slowReverseSpin 18s linear infinite reverse; }
@keyframes slowReverseSpin { to{transform:rotate(360deg)} }
body.egg-gravity-persist .stage { transform:translateY(17vh); }

.persistent-portal i { position:absolute; width:min(52vw,520px); aspect-ratio:1; border:2px solid rgba(110,70,255,.5); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 55px rgba(110,70,255,.35),inset 0 0 55px rgba(0,220,255,.16); animation:portalSpin 7s linear infinite; }
.persistent-portal b { position:absolute; width:14px; height:14px; border-radius:50%; background:var(--accent); left:50%; top:50%; animation:portalOrbit 3.5s linear infinite; }
@keyframes portalSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes portalOrbit{from{transform:rotate(0) translateX(220px)}to{transform:rotate(360deg) translateX(220px)}}

.page-tear .tear-left,.page-tear .tear-right { position:absolute; inset:0; background:rgba(0,0,0,.42); backdrop-filter:blur(1px); transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.page-tear .tear-left { clip-path:polygon(0 0,52% 0,48% 13%,53% 25%,47% 39%,52% 50%,46% 64%,51% 76%,47% 89%,50% 100%,0 100%); }
.page-tear .tear-right { clip-path:polygon(52% 0,100% 0,100% 100%,50% 100%,47% 89%,51% 76%,46% 64%,52% 50%,47% 39%,53% 25%,48% 13%); }
.page-tear.torn .tear-left{transform:translateX(-5vw) rotate(-.7deg)} .page-tear.torn .tear-right{transform:translateX(5vw) rotate(.7deg)}
.page-tear b { position:absolute; left:50%; top:-5%; width:3px; height:110%; background:linear-gradient(transparent,rgba(255,255,255,.7),transparent); transform:rotate(1deg); filter:blur(.6px); box-shadow:0 0 16px rgba(255,255,255,.38); }

.persistent-tabs { top:0; bottom:auto; height:58px; display:flex; gap:4px; padding:8px 10px; background:rgba(12,12,12,.92); border-bottom:1px solid rgba(255,255,255,.12); }
.persistent-tabs i { display:block; width:18vw; max-width:180px; height:34px; border-radius:8px 8px 0 0; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); }
.cat-paws i { position:absolute; width:25px;height:21px;border-radius:50% 50% 45% 45%;background:rgba(242,169,0,.18);border:1px solid rgba(242,169,0,.28); animation:pawWalk 5s linear infinite; }
.cat-paws i:nth-child(1){left:5%;top:70%}.cat-paws i:nth-child(2){left:25%;top:62%;animation-delay:-1s}.cat-paws i:nth-child(3){left:45%;top:73%;animation-delay:-2s}.cat-paws i:nth-child(4){left:65%;top:59%;animation-delay:-3s}.cat-paws i:nth-child(5){left:85%;top:68%;animation-delay:-4s}
@keyframes pawWalk{50%{transform:translateY(-18px) rotate(12deg)}}
.around-world-orbit i,.around-world-orbit b{position:absolute;left:50%;top:50%;border-radius:50%}.around-world-orbit i{width:min(70vw,720px);aspect-ratio:1;border:1px dashed rgba(255,255,255,.18);transform:translate(-50%,-50%)}.around-world-orbit b{width:18px;height:18px;background:var(--accent);animation:worldOrbit 5s linear infinite}@keyframes worldOrbit{from{transform:rotate(0) translateX(min(35vw,360px))}to{transform:rotate(360deg) translateX(min(35vw,360px))}}
.slash-scar i{position:absolute;left:18%;width:70%;height:2px;background:rgba(255,255,255,.38);box-shadow:0 0 14px rgba(255,255,255,.22);transform:rotate(-18deg)}.slash-scar i:nth-child(1){top:38%}.slash-scar i:nth-child(2){top:50%;transform:rotate(17deg)}.slash-scar i:nth-child(3){top:62%;transform:rotate(-12deg)}
.snake-trail-persist i{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(0,220,120,.65);top:50%;left:50%;animation:snakeOrbit 5s ease-in-out infinite;animation-delay:calc(var(--i,0)*-.2s)}.snake-trail-persist i:nth-child(2){--i:1}.snake-trail-persist i:nth-child(3){--i:2}.snake-trail-persist i:nth-child(4){--i:3}.snake-trail-persist i:nth-child(5){--i:4}.snake-trail-persist i:nth-child(6){--i:5}@keyframes snakeOrbit{0%,100%{transform:translate(-38vw,-15vh)}50%{transform:translate(38vw,15vh)}}
.slow-trail-persist i{position:absolute;width:9px;height:9px;border-radius:50%;border:1px solid rgba(242,169,0,.45);left:50%;top:50%;animation:slowDots 9s ease-in-out infinite;animation-delay:calc(var(--i,0)*-.7s)}.slow-trail-persist i:nth-child(2){--i:1}.slow-trail-persist i:nth-child(3){--i:2}.slow-trail-persist i:nth-child(4){--i:3}.slow-trail-persist i:nth-child(5){--i:4}@keyframes slowDots{0%,100%{transform:translate(-35vw,20vh)}50%{transform:translate(35vw,-20vh)}}
.portal-flicker-persist i,.portal-flicker-persist b,.portal-flicker-persist span{position:absolute;left:50%;top:50%;border:1px solid rgba(0,220,255,.35);border-radius:50%;animation:portalPulse 2.2s ease-in-out infinite}.portal-flicker-persist i{width:280px;height:280px}.portal-flicker-persist b{width:190px;height:190px;animation-delay:-.7s}.portal-flicker-persist span{width:90px;height:90px;animation-delay:-1.4s}@keyframes portalPulse{50%{transform:translate(-50%,-50%) scale(1.25);opacity:.2}0%,100%{transform:translate(-50%,-50%) scale(.8);opacity:.8}}
.archive-214-persist{display:flex;align-items:center;justify-content:space-around}.archive-214-persist b{font-size:clamp(80px,18vw,260px);font-weight:200;color:rgba(255,255,255,.035);animation:archive214Float 7s ease-in-out infinite}.archive-214-persist b:nth-child(2){animation-delay:-2.3s}.archive-214-persist b:nth-child(3){animation-delay:-4.6s}@keyframes archive214Float{50%{transform:translateY(-70px) rotate(4deg)}}
.lucky-seven-persist{display:flex;align-items:center;justify-content:space-around}.lucky-seven-persist b{font-size:80px;color:rgba(242,169,0,.08);animation:sevenBounce 2.5s ease-in-out infinite}.lucky-seven-persist b:nth-child(even){animation-delay:-1.2s}@keyframes sevenBounce{50%{transform:translateY(-40px)}}
.thirteen-persist b{position:absolute;font-size:70px;color:rgba(255,255,255,.045);animation:thirteenDrift 8s linear infinite}.thirteen-persist b:nth-child(1){left:8%;top:15%}.thirteen-persist b:nth-child(2){left:30%;top:72%}.thirteen-persist b:nth-child(3){left:53%;top:28%}.thirteen-persist b:nth-child(4){left:74%;top:63%}.thirteen-persist b:nth-child(5){left:88%;top:12%}@keyframes thirteenDrift{50%{transform:rotate(180deg) scale(1.3)}}

.text-rain span{position:absolute;left:var(--x);top:-10%;font:600 12px/1 monospace;color:rgba(242,169,0,.34);animation:textRain var(--dur) linear infinite;animation-delay:var(--delay)}@keyframes textRain{to{transform:translateY(120vh) rotate(180deg)}}
.device-bridge{display:flex;align-items:center;justify-content:center;gap:28px}.device-bridge .phone{width:42px;height:76px;border:2px solid rgba(242,169,0,.5);border-radius:8px}.device-bridge .desktop{width:100px;height:64px;border:2px solid rgba(242,169,0,.5);border-radius:5px}.device-bridge span{width:180px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:bridgePulse 1.2s linear infinite}@keyframes bridgePulse{50%{filter:brightness(2);box-shadow:0 0 18px var(--accent)}}
.morse-track{display:grid;place-items:center}.morse-track span{font:300 clamp(50px,10vw,140px)/1 monospace;letter-spacing:.25em;color:rgba(242,169,0,.12)}.morse-track i{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(242,169,0,.4),transparent);animation:morseScan 2s linear infinite}@keyframes morseScan{50%{transform:translateY(70px)}}
.sos-beacon{display:grid;place-items:center}.sos-beacon b{font-size:clamp(70px,14vw,190px);letter-spacing:.18em;color:rgba(255,50,50,.08)}.sos-beacon i{position:absolute;width:18px;height:18px;border-radius:50%;background:#f44;box-shadow:0 0 55px #f44;animation:sosBlink 1.5s steps(1,end) infinite}.sos-beacon i:nth-of-type(1){left:10%;top:10%}.sos-beacon i:nth-of-type(2){right:10%;bottom:10%;animation-delay:-.75s}@keyframes sosBlink{0%,15%,30%,45%{opacity:1}16%,31%,46%,100%{opacity:.08}}
.pi-spiral{display:grid;place-items:center}.pi-spiral b{font-size:min(55vw,620px);font-weight:200;color:rgba(255,255,255,.025);animation:piTurn 30s linear infinite}.pi-spiral span{position:absolute;width:70vw;text-align:center;font:12px monospace;letter-spacing:.5em;color:rgba(242,169,0,.18);animation:piTurn 18s linear infinite reverse}@keyframes piTurn{to{transform:rotate(360deg)}}
.golden-frame i{position:absolute;border:1px solid rgba(242,169,0,.16);left:50%;top:50%;transform:translate(-50%,-50%)}.golden-frame i:nth-child(1){width:72vw;height:44.5vw}.golden-frame i:nth-child(2){width:44.5vw;height:27.5vw}.golden-frame i:nth-child(3){width:27.5vw;height:17vw}.golden-frame i:nth-child(4){width:17vw;height:10.5vw}
.fibonacci-spiral i{position:absolute;border:1px solid rgba(0,220,255,.14);border-radius:0 100% 0 0;left:50%;top:50%;transform-origin:0 100%}.fibonacci-spiral i:nth-child(1){width:70px;height:70px}.fibonacci-spiral i:nth-child(2){width:113px;height:113px;transform:rotate(90deg)}.fibonacci-spiral i:nth-child(3){width:183px;height:183px;transform:rotate(180deg)}.fibonacci-spiral i:nth-child(4){width:296px;height:296px;transform:rotate(270deg)}.fibonacci-spiral i:nth-child(5){width:479px;height:479px}
.countdown-cascade{display:flex;justify-content:space-around;align-items:center}.countdown-cascade b{font-size:clamp(40px,8vw,110px);font-weight:200;color:rgba(255,255,255,.045);animation:countCascade 3s ease-in-out infinite}.countdown-cascade b:nth-child(odd){animation-delay:-1.5s}@keyframes countCascade{50%{transform:translateY(-50px);color:rgba(242,169,0,.14)}}
body.egg-odd-stripes-persist::after{content:"";position:fixed;inset:0;z-index:23;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 9vw,rgba(242,169,0,.055) 9vw 10vw)}
body.egg-even-checker-persist::after{content:"";position:fixed;inset:0;z-index:23;pointer-events:none;background:conic-gradient(from 90deg,rgba(255,255,255,.04) 25%,transparent 0 50%,rgba(255,255,255,.04) 0 75%,transparent 0);background-size:80px 80px}
.prime-constellation i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.prime-constellation i:nth-child(3n){left:18%;top:25%}.prime-constellation i:nth-child(3n+1){left:50%;top:70%}.prime-constellation i:nth-child(3n+2){left:82%;top:38%;transform:translate(calc(var(--i,0)*5px),0)}
body.egg-42-persist{--accent:#9be564;--fg:#e9ffd8}.dont-panic-overlay{display:grid;place-items:center}.dont-panic-overlay b{font-size:min(55vw,650px);color:rgba(155,229,100,.035)}.dont-panic-overlay span{position:absolute;bottom:10%;font-size:12px;letter-spacing:.5em;color:rgba(155,229,100,.35)}
.gigawatt-lightning b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(80px,18vw,240px);color:rgba(0,220,255,.06)}.gigawatt-lightning i{position:absolute;width:2px;height:70vh;left:50%;top:15%;background:rgba(0,220,255,.55);box-shadow:0 0 22px rgba(0,220,255,.9);clip-path:polygon(50% 0,100% 42%,62% 42%,88% 100%,0 55%,42% 55%);animation:lightningFlicker 2.1s steps(1) infinite}.gigawatt-lightning i:nth-child(2){left:25%;transform:scale(.7) rotate(15deg);animation-delay:-.7s}.gigawatt-lightning i:nth-child(3){left:75%;transform:scale(.6) rotate(-18deg);animation-delay:-1.3s}@keyframes lightningFlicker{0%,8%,12%,100%{opacity:0}9%,11%{opacity:1}}
body.egg-spoon-warp-persist .stage{transform:perspective(700px) rotateY(13deg) skewY(-2deg);border-radius:45% 12% 45% 12%}
.petal-rain span{position:absolute;left:var(--x);top:-8%;width:15px;height:24px;background:rgba(205,35,70,.65);border-radius:80% 20% 80% 20%;transform:rotate(var(--rot));animation:petalFall var(--dur) linear infinite;animation-delay:var(--delay)}@keyframes petalFall{to{transform:translate(15vw,115vh) rotate(720deg)}}
.upward-sparks span{animation-direction:reverse!important}.down-under-rain span{background:rgba(0,190,255,.35)!important}
body.egg-left-field-persist .stage{transform:translateX(-12vw) rotate(-1deg)}body.egg-right-on-persist .stage{transform:translateX(12vw) rotate(1deg)}
.compass-rose-overlay{display:grid;place-items:center}.compass-rose-overlay i{width:min(62vw,600px);aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:conic-gradient(from 45deg,transparent 0 11%,rgba(242,169,0,.15) 12% 13%,transparent 14% 36%,rgba(242,169,0,.15) 37% 38%,transparent 39% 61%,rgba(242,169,0,.15) 62% 63%,transparent 64% 86%,rgba(242,169,0,.15) 87% 88%,transparent 89%)}.compass-rose-overlay b{position:absolute;color:rgba(255,255,255,.3)}.compass-rose-overlay b:nth-of-type(1){top:14%}.compass-rose-overlay b:nth-of-type(2){right:16%}.compass-rose-overlay b:nth-of-type(3){bottom:14%}.compass-rose-overlay b:nth-of-type(4){left:16%}
body.egg-retro-game-persist .clock-row,body.egg-retro-game-persist .movie-pun{font-family:monospace;image-rendering:pixelated;text-shadow:4px 4px 0 rgba(242,169,0,.16)}body.egg-retro-game-persist{background-image:linear-gradient(rgba(0,255,100,.025) 50%,transparent 50%);background-size:100% 4px}
body.egg-godmode-persist{--accent:#ffd95a;filter:saturate(1.35)}.godmode-shield{display:grid;place-items:center}.godmode-shield i{width:min(50vw,480px);aspect-ratio:1;border:2px solid rgba(255,217,90,.25);border-radius:50%;box-shadow:0 0 80px rgba(255,217,90,.12);animation:shieldPulse 2s ease-in-out infinite}.godmode-shield b{position:absolute;bottom:12%;font-size:10px;letter-spacing:.5em;color:rgba(255,217,90,.4)}@keyframes shieldPulse{50%{transform:scale(1.1)}}
body.egg-debug-persist *:not(script):not(style){outline:1px solid rgba(0,255,170,.09)!important}body.egg-debug-persist::after{content:"DEBUG MODE";position:fixed;left:10px;bottom:10px;z-index:95;color:#00ffaa;font:10px monospace;letter-spacing:.2em}
.paint-splat i,.paint-splat b{position:absolute;left:50%;top:50%;background:rgba(242,169,0,.72);transform:translate(-50%,-50%) scale(0);transition:transform .45s cubic-bezier(.1,1.5,.4,1)}.paint-splat.hit i,.paint-splat.hit b{transform:translate(-50%,-50%) scale(1)}.paint-splat b{width:240px;height:190px;border-radius:48% 52% 44% 56%}.paint-splat i{width:50px;height:50px;border-radius:50%}.paint-splat i:nth-child(1){margin:-130px 0 0 -160px}.paint-splat i:nth-child(2){margin:120px 0 0 170px;width:28px;height:28px}.paint-splat i:nth-child(3){margin:-85px 0 0 190px;width:18px;height:18px}.paint-splat i:nth-child(4){margin:145px 0 0 -130px;width:35px;height:35px}.paint-splat i:nth-child(5){margin:-155px 0 0 70px;width:20px;height:20px}
.five-alive-orbs{display:flex;align-items:center;justify-content:space-evenly}.five-alive-orbs i{width:28px;height:28px;border-radius:50%;background:rgba(242,169,0,.22);box-shadow:0 0 30px rgba(242,169,0,.3);animation:alivePulse 2s ease-in-out infinite}.five-alive-orbs i:nth-child(2){animation-delay:-.4s}.five-alive-orbs i:nth-child(3){animation-delay:-.8s}.five-alive-orbs i:nth-child(4){animation-delay:-1.2s}.five-alive-orbs i:nth-child(5){animation-delay:-1.6s}@keyframes alivePulse{50%{transform:scale(2);opacity:.15}}
.tenacious-lines i,.one-fifty-lines i{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.12),transparent);animation:lineDrift 7s linear infinite}.tenacious-lines i:nth-child(n){left:calc(5% + (var(--i,0)*9%))}.one-fifty-lines i{left:calc(var(--i,0)*3.3%)}@keyframes lineDrift{50%{transform:translateX(25px)}}
.quarter-century-dots i{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(242,169,0,.25);left:calc(4% + (var(--i,0)*3.8%));top:calc(15% + ((var(--i,0)%5)*16%))}
body.egg-century-club-persist{--bg:#080400;--fg:#fff4df;--accent:#ffb000}body.egg-century-club-persist .clock-row{font-weight:700;text-shadow:0 0 30px rgba(255,176,0,.25)}
.two-hundred-particles span{background:rgba(242,169,0,.4)!important}.egg-almost-static-persist::before{opacity:.55!important;background-image:repeating-radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0 1px,transparent 1px 3px)!important;animation:staticMove .12s steps(2) infinite}@keyframes staticMove{to{transform:translate(2px,-2px)}}
body.egg-complete-persist{background:radial-gradient(circle at center,#241500,#000 55%);--accent:#ffd35a}body.egg-complete-persist .clock-row{filter:drop-shadow(0 0 24px #ffd35a)}
.mouseketeer-trails i{position:absolute;width:18px;height:28px;border:1px solid rgba(255,255,255,.18);border-radius:50% 50% 45% 45%;left:20%;top:30%;animation:mouseDrift 6s linear infinite}.mouseketeer-trails i:nth-child(2){left:40%;top:65%;animation-delay:-1s}.mouseketeer-trails i:nth-child(3){left:60%;top:20%;animation-delay:-2s}.mouseketeer-trails i:nth-child(4){left:78%;top:72%;animation-delay:-3s}.mouseketeer-trails i:nth-child(5){left:88%;top:42%;animation-delay:-4s}@keyframes mouseDrift{50%{transform:translate(60px,-40px) rotate(30deg)}}
.zen-particles span{background:rgba(255,255,255,.13)!important;animation-duration:18s!important}.clean-glass i{position:absolute;top:-20%;width:18vw;height:140%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:rotate(12deg);animation:glassSweep 5s linear infinite}.clean-glass i:nth-child(1){left:10%}.clean-glass i:nth-child(2){left:45%;animation-delay:-1.5s}.clean-glass i:nth-child(3){left:80%;animation-delay:-3s}@keyframes glassSweep{to{transform:translateX(20vw) rotate(12deg)}}
body.egg-pocket-player-persist .stage{width:min(390px,90vw);height:min(780px,90vh);margin:auto;border:2px solid rgba(255,255,255,.18);border-radius:34px;overflow:hidden;box-shadow:0 0 0 8px rgba(255,255,255,.03)}
.hint-breadcrumb i,.breadcrumbs-field i{position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(242,169,0,.32)}.hint-breadcrumb i:nth-child(n),.breadcrumbs-field i:nth-child(n){left:calc(5% + (var(--i,0)*4%));top:50%;animation:crumbPulse 2s ease-in-out infinite}@keyframes crumbPulse{50%{transform:scale(2);opacity:.2}}
.no-help-crown{display:grid;place-items:center}.no-help-crown b{font-size:min(48vw,520px);color:rgba(255,215,80,.025)}.no-help-crown span{position:absolute;bottom:12%;font-size:10px;letter-spacing:.45em;color:rgba(255,215,80,.28)}
.chain-reaction{display:flex;align-items:center;justify-content:center;gap:8px}.chain-reaction i{width:56px;height:28px;border:2px solid rgba(242,169,0,.18);border-radius:50%;margin-left:-16px;animation:chainPulse 2s ease-in-out infinite}.chain-reaction i:nth-child(even){transform:rotate(90deg)}@keyframes chainPulse{50%{border-color:rgba(242,169,0,.6);box-shadow:0 0 20px rgba(242,169,0,.25)}}
.hot-embers span{background:#ff6a22!important;box-shadow:0 0 8px #ff6a22}.egg-frost-persist::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:28;background:radial-gradient(circle at center,transparent 35%,rgba(185,225,255,.14));box-shadow:inset 0 0 90px rgba(185,225,255,.2)}body.egg-frost-persist .clock-row{filter:blur(.25px);text-shadow:0 0 20px rgba(190,230,255,.3)}
.archive-shelves{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:8vh 5vw}.archive-shelves i{border-bottom:2px solid rgba(255,255,255,.12);background:repeating-linear-gradient(90deg,rgba(242,169,0,.09) 0 7px,transparent 7px 11px);opacity:.6}.eggception-rings{display:grid;place-items:center}.eggception-rings i{position:absolute;border:1px solid rgba(242,169,0,.18);border-radius:50% 50% 46% 46% / 60% 60% 40% 40%;width:calc(80px + var(--i,0)*70px);height:calc(105px + var(--i,0)*90px);animation:eggRing 8s linear infinite}.eggception-rings i:nth-child(2){--i:1}.eggception-rings i:nth-child(3){--i:2}.eggception-rings i:nth-child(4){--i:3}.eggception-rings i:nth-child(5){--i:4}@keyframes eggRing{50%{transform:rotate(180deg)}}
body.egg-after-dark-persist{--bg:#020007;--fg:#f8efff;--accent:#ff3bd4;background:radial-gradient(circle at 50% 120%,rgba(90,0,255,.28),#000 58%)}body.egg-after-dark-persist .clock-row{text-shadow:4px 0 #ff3bd4,-4px 0 #00eaff}
.live-fireworks span{background:rgba(255,120,40,.75)!important;box-shadow:0 0 10px rgba(255,120,40,.8)}

@media(max-width:640px){.page-tear.torn .tear-left{transform:translateX(-8vw)}.page-tear.torn .tear-right{transform:translateX(8vw)}.device-bridge span{width:90px}.golden-frame i:nth-child(1){width:86vw;height:53vw}}


.return-user-overlay{display:grid;place-items:center}.return-user-overlay i{width:min(50vw,480px);aspect-ratio:1;border:1px dashed rgba(242,169,0,.22);border-radius:50%;animation:returnSpin 7s linear infinite}.return-user-overlay b{position:absolute;font-size:100px;color:rgba(242,169,0,.12)}@keyframes returnSpin{to{transform:rotate(-360deg)}}
.calendar-shift{display:flex;align-items:center;justify-content:center;gap:20px}.calendar-shift i{width:140px;height:170px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:linear-gradient(rgba(242,169,0,.14) 0 26%,transparent 26%)}.calendar-shift b{position:absolute;bottom:12%;font-size:11px;letter-spacing:.4em;color:rgba(255,255,255,.28)}
.binge-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8vw;padding:10vh 8vw}.binge-bars i{background:linear-gradient(180deg,transparent,rgba(242,169,0,.08),transparent);animation:bingeGlow 3s ease-in-out infinite}.binge-bars i:nth-child(2){animation-delay:-1s}.binge-bars i:nth-child(3){animation-delay:-2s}@keyframes bingeGlow{50%{background-color:rgba(242,169,0,.12)}}
.weekend-confetti span{background:rgba(255,120,210,.45)!important}.two-device-halo{display:grid;place-items:center}.two-device-halo .phone{width:45px;height:80px;border:2px solid rgba(242,169,0,.4);border-radius:8px;transform:translateX(-70px)}.two-device-halo .desktop{width:115px;height:72px;border:2px solid rgba(242,169,0,.4);border-radius:5px;transform:translateX(70px)}.two-device-halo b{position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(242,169,0,.16);animation:haloPulse 2s ease-in-out infinite}@keyframes haloPulse{50%{transform:scale(1.25);opacity:.25}}
.double-session-overlay i{position:absolute;inset:10%;border:1px solid rgba(0,220,255,.13)}.double-session-overlay i:nth-child(2){transform:translate(28px,22px);border-color:rgba(242,169,0,.16)}.double-session-overlay b{position:absolute;right:8%;bottom:8%;font-size:70px;color:rgba(255,255,255,.04)}
.everywhere-overlay i{position:absolute;width:22px;height:22px;border-radius:50%;background:rgba(242,169,0,.35);box-shadow:0 0 25px rgba(242,169,0,.3)}.everywhere-overlay i:nth-child(1){left:12%;top:20%}.everywhere-overlay i:nth-child(2){right:14%;top:35%}.everywhere-overlay i:nth-child(3){left:52%;bottom:15%}.everywhere-overlay b{position:absolute;left:50%;top:50%;font-size:300px;color:rgba(255,255,255,.02);transform:translate(-50%,-50%)}
body.egg-spin-cycle-persist .stage{animation:deviceSpinPersist 9s linear infinite}@keyframes deviceSpinPersist{to{transform:rotate(360deg)}}
.shake-cracks i{position:absolute;left:50%;top:50%;width:2px;height:45vh;background:linear-gradient(rgba(255,255,255,.55),transparent);transform-origin:top}.shake-cracks i:nth-child(1){transform:rotate(28deg)}.shake-cracks i:nth-child(2){transform:rotate(112deg)}.shake-cracks i:nth-child(3){transform:rotate(207deg)}.shake-cracks i:nth-child(4){transform:rotate(298deg)}
body.egg-device-tilt-persist .stage{transform:perspective(900px) rotateZ(-7deg) rotateY(8deg)}
.gyro-aurora i{position:absolute;inset:-30%;border-radius:50%;filter:blur(70px);opacity:.15;background:conic-gradient(from 0deg,transparent,#00eaff,transparent,#8a4dff,transparent);animation:gyroAurora 12s linear infinite}.gyro-aurora i:nth-child(2){animation-direction:reverse;animation-duration:18s}.gyro-aurora i:nth-child(3){animation-duration:25s;transform:scale(.7)}@keyframes gyroAurora{to{transform:rotate(360deg)}}


/* ---------------- v0.9: stickers + pop-culture/endgame effects ---------------- */

.egg-sticker{
  position:fixed;
  z-index:58;
  width:clamp(54px,7vw,86px);
  height:clamp(54px,7vw,86px);
  transform:translate(-50%,-50%) rotate(-4deg);
  display:grid;
  place-items:center;
  pointer-events:auto;
  cursor:grab;
  touch-action:none;
  user-select:none;
  border:3px solid rgba(255,255,255,.92);
  background:#f5f1e8;
  color:#111;
  border-radius:22px;
  box-shadow:0 8px 25px rgba(0,0,0,.42),0 0 0 2px rgba(0,0,0,.16) inset;
  font:800 12px/1 Arial,sans-serif;
  letter-spacing:.08em;
  transition:box-shadow .2s ease,filter .2s ease;
}
.egg-sticker::after{
  content:"";
  position:absolute;
  inset:-6px;
  border:2px solid rgba(255,255,255,.95);
  border-radius:inherit;
  z-index:-1;
}
.egg-sticker.dragging{cursor:grabbing;z-index:99;filter:brightness(1.05);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.sticker-egg{width:60px;height:78px;border-radius:50% 50% 46% 46% / 58% 58% 42% 42%;background:#fff4d8;color:#e49b00}
.sticker-cat{border-radius:50%;background:#191919;color:#fff}.sticker-cat span::before{content:"●  ●";display:block;font-size:8px;margin-bottom:5px}.sticker-cat span::after{content:"⌒";display:block;font-size:18px}
.sticker-rose{border-radius:50%;background:#7b1523;color:#fff}.sticker-rose span::before{content:"✿";display:block;font-size:28px;margin-bottom:3px}
.sticker-towel{width:90px;height:55px;border-radius:8px;background:#d6d0ba;color:#222;transform:translate(-50%,-50%) rotate(7deg)}
.sticker-cake{clip-path:polygon(5% 18%,95% 6%,78% 94%,14% 88%);border-radius:8px;background:#f3d8ca;color:#812b52}
.sticker-box{border-radius:4px;background:#997047;color:#2b1a0a}.sticker-box::before{content:"";position:absolute;inset:12px;border:2px dashed rgba(39,23,8,.45)}
.sticker-red-shell{border-radius:50% 50% 42% 42%;background:#d93031;color:white;box-shadow:inset 0 -18px 0 #f1e9dd,0 8px 25px rgba(0,0,0,.45)}
.sticker-ring{border-radius:50%;background:transparent;border:8px solid #dfb84a;color:#dfb84a;box-shadow:0 0 22px rgba(223,184,74,.36),inset 0 0 16px rgba(223,184,74,.2)}
.sticker-mushroom{border-radius:50% 50% 34% 34%;background:#d33;color:#fff;box-shadow:inset 0 -24px 0 #ede4d4}.sticker-mushroom::before{content:"";position:absolute;left:18px;top:14px;width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:30px 6px 0 #fff}
.sticker-eighty-eight{background:#171717;color:#ff7a2e;border-color:#fff3e9;font-size:22px}
.sticker-red-pill,.sticker-blue-pill{width:86px;height:44px;border-radius:999px;color:white}
.sticker-red-pill{background:#a71921}.sticker-blue-pill{background:#173f9d}
.sticker-beam-blue,.sticker-beam-force{border-radius:50%;color:#fff;font-size:28px}
.sticker-beam-blue{background:#1579dc;box-shadow:0 0 30px #168af7,0 0 70px rgba(22,138,247,.35)}
.sticker-beam-force{background:#f4efe1;color:#111;box-shadow:0 0 30px rgba(255,255,255,.75)}
.sticker-sunglasses{width:92px;height:48px;border-radius:14px;background:#050505;color:#fff;font-size:18px}
.sticker-zero{border-radius:50%;background:#050505;color:#fff;font-size:32px}
.sticker-drifter{border-radius:50%;background:#eee;color:#111;font-size:28px}

body.egg-cat-sticker-persist .movie-pun{letter-spacing:.4em}
body.egg-cake-persist .stage{filter:saturate(.72) contrast(1.06)}
body.egg-stealth-persist .stage{filter:brightness(.68) contrast(1.2)}
body.egg-racing-persist .stage{filter:saturate(1.2)}
body.egg-42-persist .stage{filter:sepia(.15)}
body.egg-hadouken-persist .clock-row{color:#9ed8ff;text-shadow:0 0 22px rgba(30,140,255,.42)}
body.egg-timewarp-persist .clock-row{text-shadow:-8px 0 rgba(0,200,255,.28),8px 0 rgba(255,90,35,.28)}
body.egg-redpill-persist{--accent:#e42f36} body.egg-bluepill-persist{--accent:#3276ff}
body.egg-redpill-persist .stage{filter:contrast(1.1) saturate(1.25)} body.egg-bluepill-persist .stage{filter:contrast(1.05) saturate(.95)}
body.egg-force-persist .stage{filter:brightness(.75)}
body.egg-hasta-persist .stage{filter:contrast(1.35) saturate(.7)}
body.egg-zero-persist .clock-row{font-variant-numeric:slashed-zero}
body.egg-drifter-persist .stage{filter:brightness(.92)}

.energy-ball-flight,.red-shell-flight,.transporter-beam,.time-lightning,.force-lift{
  position:fixed;inset:0;z-index:119;pointer-events:none;overflow:hidden;opacity:0
}
.energy-ball-flight.show,.red-shell-flight.show,.transporter-beam.show,.time-lightning.show,.force-lift.show{opacity:1}
.energy-ball-flight i{position:absolute;left:-90px;top:48%;width:56px;height:56px;border-radius:50%;background:#36a5ff;box-shadow:0 0 25px #36a5ff,0 0 75px #1488ff;animation:energyFly 1.5s cubic-bezier(.12,.55,.2,1) forwards}
.energy-ball-flight b{position:absolute;left:-260px;top:calc(48% + 25px);width:280px;height:5px;background:linear-gradient(90deg,transparent,#7bcaff);filter:blur(2px);animation:energyTrail 1.5s cubic-bezier(.12,.55,.2,1) forwards}
.red-shell-flight i{position:absolute;left:-100px;bottom:16%;width:62px;height:50px;border-radius:50% 50% 35% 35%;background:#d8282d;border-bottom:14px solid #eee;box-shadow:0 0 20px rgba(216,40,45,.5);animation:shellFly 1.8s cubic-bezier(.2,.7,.1,1) forwards}
.red-shell-flight b{position:absolute;left:-260px;bottom:calc(16% + 18px);height:4px;width:260px;background:linear-gradient(90deg,transparent,rgba(255,70,70,.8));animation:shellTrail 1.8s cubic-bezier(.2,.7,.1,1) forwards}
.transporter-beam i{position:absolute;top:-20%;bottom:-20%;width:14vw;max-width:150px;background:linear-gradient(90deg,transparent,rgba(120,210,255,.28),transparent);filter:blur(8px);animation:beamPulse 1.6s ease}
.transporter-beam i:nth-child(1){left:38%}.transporter-beam i:nth-child(2){left:52%}
.transporter-beam b{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 80px 35px rgba(120,210,255,.45);animation:beamDot 1.5s ease}
.time-lightning i{position:absolute;top:0;height:100%;width:2px;background:#8ae7ff;box-shadow:0 0 18px #8ae7ff;transform:skewX(-18deg);animation:timeBolt 1.7s ease}
.time-lightning i:nth-child(1){left:28%}.time-lightning i:nth-child(2){left:52%}.time-lightning i:nth-child(3){left:73%}
.time-lightning b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:18vw;color:rgba(255,115,50,.12);font-weight:900}
.force-lift i{position:absolute;bottom:-80px;width:28px;height:28px;border:1px solid rgba(255,255,255,.6);animation:forceRise 1.6s ease forwards}
.force-lift i:nth-child(1){left:30%}.force-lift i:nth-child(2){left:50%;animation-delay:.12s}.force-lift i:nth-child(3){left:70%;animation-delay:.23s}

body.egg-barrel-persist::after{content:"";position:fixed;inset:-30%;z-index:25;pointer-events:none;background:radial-gradient(circle,transparent 45%,rgba(30,90,160,.08) 46% 52%,transparent 53%);animation:barrelStars 8s linear infinite}
body.egg-barrel-roll-now .stage{animation:barrelRollNow 1.45s cubic-bezier(.2,.8,.2,1)}
body.egg-allbase-persist{font-family:"Courier New",monospace} body.egg-allbase-persist .clock-row{image-rendering:pixelated;text-shadow:4px 4px 0 rgba(242,169,0,.12)}
.all-base-overlay b,.all-base-overlay span{position:absolute;left:50%;transform:translateX(-50%);font-family:"Courier New",monospace;letter-spacing:.16em;color:rgba(242,169,0,.2)}
.all-base-overlay b{top:12%;font-size:clamp(22px,4vw,60px)}.all-base-overlay span{bottom:12%;font-size:11px}
body.egg-respects-persist .stage{filter:grayscale(1) brightness(.52)}
.respects-overlay b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25vw;color:rgba(255,255,255,.06)}.respects-overlay span{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);font-size:10px;letter-spacing:.35em;color:rgba(255,255,255,.28)}
body.egg-overwhelming-persist .stage{filter:brightness(1.18) contrast(1.18);text-shadow:0 0 20px rgba(255,220,90,.25)}
.power-overwhelming i{position:absolute;inset:-20%;background:conic-gradient(from calc(var(--i)*120deg),transparent,rgba(255,210,60,.07),transparent 22%);animation:raveSpin 7s linear infinite}
.cow-rain span::after{content:"MOO";font:800 9px/1 Arial;color:#eee;background:#191919;padding:5px 7px;border-radius:50%}
body.egg-leeroy-persist .stage{animation:leeroyShake .42s linear infinite}
.leeroy-charge i{position:absolute;left:-20%;width:140%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:leeroyLine 1.5s linear infinite}.leeroy-charge i:nth-child(1){top:35%}.leeroy-charge i:nth-child(2){top:65%;animation-delay:.4s}.leeroy-charge b{position:absolute;right:4%;top:50%;font-size:10vw;color:rgba(242,169,0,.08);transform:rotate(-8deg)}
.transporter-stars span{background:#bdeaff!important;box-shadow:0 0 12px #bdeaff}
body.egg-winter-persist .stage{filter:saturate(.55) brightness(.85)}.winter-snow i{position:absolute;top:-10px;width:4px;height:4px;border-radius:50%;background:#fff;left:calc(var(--i) * 2.08%);animation:snowFall calc(4s + var(--i)*.08s) linear infinite;opacity:.5}
body.egg-ringbearer-persist .stage{filter:sepia(.22) brightness(.82)}
.pass-barrier i{position:absolute;left:0;right:0;top:48%;height:4px;background:#ff7a1c;box-shadow:0 0 25px #ff7a1c,0 0 90px rgba(255,80,20,.35)}.pass-barrier i:nth-child(2){top:52%}.pass-barrier b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.35em;color:#ffb072}
.phone-home-scene .moon{position:absolute;right:12%;top:12%;width:150px;height:150px;border-radius:50%;background:rgba(235,240,225,.16);box-shadow:0 0 70px rgba(230,240,220,.08)}.phone-home-scene .bike{position:absolute;right:24%;top:28%;width:50px;height:22px;border-bottom:2px solid rgba(255,255,255,.35);transform:rotate(-8deg)}.phone-home-scene span{position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(10,30,50,.3))}
.clever-claws i{position:absolute;left:15%;top:-20%;width:2px;height:140%;background:rgba(255,255,255,.25);transform:rotate(18deg);box-shadow:0 0 10px rgba(255,255,255,.2)}.clever-claws i:nth-child(2){left:50%}.clever-claws i:nth-child(3){left:82%}
body.egg-finish-persist .stage{filter:saturate(.4) contrast(1.35)}.finish-overlay b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:18vw;color:rgba(210,20,25,.14);font-weight:900}.finish-overlay i{position:absolute;inset:0;border:18px solid rgba(210,20,25,.08)}
body.egg-fatality-persist{--accent:#d51b23}.fatality-overlay{background:linear-gradient(180deg,transparent 45%,rgba(90,0,0,.16))}.fatality-overlay i{position:absolute;top:-20%;width:6px;height:120%;background:linear-gradient(#a10b13,transparent);animation:drip 6s ease-in infinite}.fatality-overlay i:nth-child(1){left:28%}.fatality-overlay i:nth-child(2){left:73%;animation-delay:-2s}.fatality-overlay b{position:absolute;left:50%;top:16%;transform:translateX(-50%);font-size:8vw;color:rgba(200,20,28,.12);font-weight:900}
.over-nine-thousand b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:24vw;color:rgba(255,220,60,.09);font-weight:900}.over-nine-thousand i{position:absolute;left:50%;top:50%;border:2px solid rgba(255,230,100,.18);border-radius:50%;width:45vw;height:45vw;transform:translate(-50%,-50%);animation:powerRing 2s ease-in-out infinite}.over-nine-thousand i:nth-child(3){animation-delay:-1s}
.power-pellet-field::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:4px;background:repeating-linear-gradient(90deg,#f5e8b2 0 4px,transparent 4px 28px)}.power-pellet-field b{position:absolute;left:8%;top:calc(50% - 8px);width:18px;height:18px;border-radius:50%;background:#ffd85b;animation:pelletRun 4s linear infinite}
.warp-pipe-scene .pipe{position:absolute;left:50%;width:130px;height:180px;background:linear-gradient(90deg,#16652d,#43b35e,#16652d);transform:translateX(-50%);box-shadow:inset 10px 0 0 rgba(255,255,255,.08)}.warp-pipe-scene .top{top:-90px}.warp-pipe-scene .bottom{bottom:-90px}.warp-pipe-scene b{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 45px 18px rgba(100,255,130,.25);animation:pipeTravel 2s linear infinite}
.portal-pair-scene .portal{position:absolute;top:24%;width:85px;height:52%;border-radius:50%;border:8px solid}.portal-pair-scene .a{left:8%;border-color:#23a8ff;box-shadow:0 0 28px #23a8ff}.portal-pair-scene .b{right:8%;border-color:#ff8b24;box-shadow:0 0 28px #ff8b24}.portal-pair-scene b{position:absolute;left:12%;top:50%;width:20px;height:20px;background:#fff;border-radius:50%;animation:portalTravel 3s linear infinite}
.hidden-block-reveal b{position:absolute;left:50%;top:24%;width:70px;height:70px;display:grid;place-items:center;transform:translate(-50%,-50%);background:#d9a51f;border:5px solid #7f5b0d;color:#fff;font:900 36px/1 Arial;box-shadow:inset 0 0 0 4px #f8d55a}.hidden-block-reveal i{position:absolute;left:50%;top:24%;width:120px;height:120px;border:1px solid rgba(255,210,50,.18);border-radius:50%;transform:translate(-50%,-50%);animation:powerRing 2s infinite}
body.egg-mushroom-persist .stage{image-rendering:pixelated;filter:saturate(1.25)}
.opening-doors .door{position:absolute;top:0;bottom:0;width:50%;background:#050505;border:1px solid rgba(255,255,255,.08);animation:doorBreathe 4s ease-in-out infinite}.opening-doors .left{left:0}.opening-doors .right{right:0}.opening-doors b{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(242,169,0,.42);box-shadow:0 0 20px rgba(242,169,0,.3)}
.remote-control-overlay>div{position:absolute;right:7%;top:18%;width:110px;height:250px;border-radius:30px;background:#181818;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 50px rgba(0,0,0,.5);display:grid;place-items:center;padding:26px}.remote-control-overlay i{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.22)}.remote-control-overlay b{font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.buffering-rings i{position:absolute;left:50%;top:50%;width:12vw;height:12vw;min-width:100px;min-height:100px;border:1px solid rgba(242,169,0,.22);border-top-color:var(--accent);border-radius:50%;transform:translate(-50%,-50%);animation:raveSpin 3s linear infinite}.buffering-rings i:nth-child(2){width:18vw;height:18vw;animation-duration:5s;animation-direction:reverse}.buffering-rings i:nth-child(3){width:26vw;height:26vw;animation-duration:8s}.buffering-rings b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;letter-spacing:.25em;color:rgba(255,255,255,.32)}
body.egg-plexorcist-persist .stage{transform:rotate(180deg) scale(.96);filter:contrast(1.35) hue-rotate(120deg)}
.movie-marquee{border:10px solid transparent}.movie-marquee b{position:absolute;left:50%;top:10%;transform:translateX(-50%);font-size:clamp(20px,4vw,58px);letter-spacing:.18em;color:rgba(255,255,255,.17)}.movie-marquee i{position:absolute;left:3%;right:3%;height:1px;background:repeating-linear-gradient(90deg,#f6d88d 0 6px,transparent 6px 22px)}.movie-marquee i:nth-child(2){top:5%}.movie-marquee i:nth-child(3){bottom:5%}
.wilhelm-visual b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-9deg);font-size:18vw;color:rgba(255,255,255,.09);font-weight:900}.wilhelm-visual i{position:absolute;left:50%;top:50%;width:35vw;height:35vw;border:2px solid rgba(255,255,255,.1);border-radius:50%;transform:translate(-50%,-50%);animation:powerRing 1s ease-out infinite}
body.egg-dramatic-zoom-persist .stage{transform:scale(1.34)} body.egg-dramatic-zoom-persist .movie-pun{transform:scale(.7)}
.rickroll-dance i{position:absolute;bottom:8%;width:10px;height:22%;background:linear-gradient(transparent,rgba(242,169,0,.25));transform-origin:bottom;animation:danceBar .7s ease-in-out infinite alternate}.rickroll-dance i:nth-child(1){left:35%}.rickroll-dance i:nth-child(2){left:50%;animation-delay:-.25s}.rickroll-dance i:nth-child(3){left:65%;animation-delay:-.5s}.rickroll-dance b{position:absolute;left:50%;top:16%;font-size:8vw;color:rgba(242,169,0,.09)}
.green-portal-goo i{position:absolute;border-radius:50%;background:#6dff5a;box-shadow:0 0 30px #69ff55;filter:blur(1px);animation:gooOrbit 6s linear infinite}.green-portal-goo i:nth-child(1){width:18px;height:18px;left:20%;top:30%}.green-portal-goo i:nth-child(2){width:28px;height:28px;left:70%;top:65%;animation-delay:-2s}.green-portal-goo i:nth-child(3){width:12px;height:12px;left:52%;top:20%;animation-delay:-4s}
.father-vignette{background:radial-gradient(circle at center,transparent 25%,rgba(0,0,0,.82) 78%)}.father-vignette i{position:absolute;left:50%;top:50%;width:170px;height:210px;border-radius:52% 52% 44% 44%;transform:translate(-50%,-50%);background:linear-gradient(#080808,#161616);opacity:.45}.father-vignette b{position:absolute;left:50%;top:50%;width:120px;height:2px;background:#d31f2b;box-shadow:0 0 20px #d31f2b;transform:translate(-50%,80px)}
.broken-door-scene i{position:absolute;top:0;bottom:0;width:52%;background:linear-gradient(90deg,#27190f,#4c2e1b);border:1px solid rgba(255,255,255,.08)}.broken-door-scene i:nth-child(1){left:-3%;clip-path:polygon(0 0,100% 0,91% 24%,100% 39%,88% 52%,100% 66%,92% 82%,100% 100%,0 100%)}.broken-door-scene i:nth-child(2){right:-3%;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8% 82%,0 66%,12% 52%,0 39%,9% 24%)}.broken-door-scene b{position:absolute;left:50%;top:50%;width:5px;height:90%;background:rgba(255,255,255,.25);transform:translate(-50%,-50%) rotate(18deg)}
body.egg-terminator-persist{--accent:#d6282f} body.egg-terminator-persist .stage{filter:grayscale(.45) sepia(1) saturate(4) hue-rotate(310deg) contrast(1.3)} body.egg-terminator-persist::after{content:"TARGET ACQUIRED";position:fixed;right:4%;bottom:6%;z-index:45;color:rgba(255,40,40,.4);font:10px monospace;letter-spacing:.25em}
body.egg-corner-title-persist .countdown-view,body.egg-corner-title-persist .live-view{transform:scale(.45) translate(62vw,62vh);transform-origin:center}
.still-watching-overlay{z-index:70;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}.still-watching-overlay b,.still-watching-overlay span{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.still-watching-overlay b{top:43%;font-size:clamp(28px,6vw,80px);letter-spacing:.08em}.still-watching-overlay span{top:56%;font-size:11px;color:rgba(255,255,255,.45)}
.player-two-overlay b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:900 clamp(30px,8vw,110px)/1 Arial;color:rgba(242,169,0,.12)}.player-two-overlay i{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.15)}.player-two-overlay i:nth-child(2){left:33%}.player-two-overlay i:nth-child(3){right:33%}
.versus-overlay b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-9deg);font:900 14vw/1 Arial;color:rgba(255,255,255,.08)}
.dvd-corner-stamp b{position:absolute;right:3%;bottom:3%;font:800 11px/1 Arial;letter-spacing:.25em;color:rgba(242,169,0,.5);border:1px solid rgba(242,169,0,.24);padding:10px 14px}
.bsod-overlay{z-index:85;background:#0b45a4;color:#fff}.bsod-overlay b,.bsod-overlay span,.bsod-overlay small{position:absolute;left:10%;font-family:"Segoe UI",Arial,sans-serif}.bsod-overlay b{top:20%;font-size:10vw}.bsod-overlay span{top:48%;font-size:clamp(18px,3vw,38px)}.bsod-overlay small{top:58%;opacity:.65}
body.egg-gravity-well-persist .stage{transform:translateY(38vh) rotate(2deg) scale(.92)}
.crossed-streams-overlay i{position:absolute;left:-10%;top:50%;width:120%;height:5px;filter:blur(1px)}.crossed-streams-overlay i:nth-child(1){background:#3a9dff;transform:rotate(18deg);box-shadow:0 0 25px #3a9dff}.crossed-streams-overlay i:nth-child(2){background:#fff;transform:rotate(-18deg);box-shadow:0 0 25px #fff}.crossed-streams-overlay b{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 90px 45px rgba(255,255,255,.22)}
.pointer-web{position:fixed;inset:0;z-index:43;width:100%;height:100%;pointer-events:none}.pointer-web polyline{fill:none;stroke:rgba(242,169,0,.35);stroke-width:1;vector-effect:non-scaling-stroke}
.lava-floor{top:auto!important;height:35vh;background:linear-gradient(transparent,rgba(255,65,10,.18));overflow:visible}.lava-floor i{position:absolute;bottom:-20px;width:22px;height:80px;background:linear-gradient(#ffb22e,#ff3a0c,transparent);border-radius:50% 50% 20% 20%;filter:blur(2px);animation:lavaFlame 1.4s ease-in-out infinite alternate}.lava-floor i:nth-child(1){left:8%}.lava-floor i:nth-child(2){left:28%;animation-delay:-.4s}.lava-floor i:nth-child(3){left:48%;animation-delay:-.8s}.lava-floor i:nth-child(4){left:68%;animation-delay:-.2s}.lava-floor i:nth-child(5){left:88%;animation-delay:-.7s}
.pixel-magnifier i{position:absolute;left:50%;top:50%;width:4px;height:4px;background:#fff;box-shadow:0 0 0 40px rgba(255,255,255,.03),0 0 0 80px rgba(255,255,255,.02)}.pixel-magnifier b{position:absolute;left:50%;top:50%;width:180px;height:180px;border:1px solid rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%)}
.schrodinger-box>div{position:absolute;left:50%;top:50%;width:180px;height:140px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.25);background:#0d0d0d;display:grid;place-items:center}.schrodinger-box i{position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,rgba(255,255,255,.08) 49% 51%,transparent 52%)}.schrodinger-box b{font-size:62px;color:rgba(242,169,0,.4);animation:schrodinger 1.2s steps(1) infinite}
body.egg-bighead-persist .clock-row{font-size:clamp(95px,19vw,280px)} body.egg-bighead-persist .movie-pun{font-size:clamp(18px,3vw,42px)}
.time-rift-overlay i{position:absolute;inset:-20%;background:repeating-radial-gradient(circle,transparent 0 25px,rgba(50,200,255,.03) 26px 27px);animation:raveSpin 14s linear infinite}.time-rift-overlay i:nth-child(2){animation-direction:reverse;animation-duration:21s}.time-rift-overlay b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:8vw;color:rgba(60,210,255,.11)}

.secret-menu-overlay{position:fixed;inset:0;z-index:145;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);display:grid;place-items:center;pointer-events:auto}
.secret-menu-panel{width:min(420px,88vw);padding:22px;background:#090909;border:1px solid rgba(242,169,0,.24);box-shadow:0 30px 90px rgba(0,0,0,.7);display:grid;gap:8px}
.secret-menu-panel small{font-size:9px;letter-spacing:.25em;color:rgba(242,169,0,.55);margin-bottom:10px}
.secret-menu-panel button{height:44px;text-align:left;padding:0 14px;background:#111;border:1px solid rgba(255,255,255,.08);color:#eee;font:12px monospace;cursor:pointer}.secret-menu-panel button:hover{border-color:rgba(242,169,0,.4);background:#15120c}
.plex-os{position:fixed;inset:0;z-index:146;background:radial-gradient(circle at 65% 30%,#1a1a1a,#050505 62%);color:#eee;font:12px/1.4 "Segoe UI",Arial;pointer-events:auto}
.plex-os-menubar{height:34px;padding:0 14px;display:flex;align-items:center;gap:18px;background:rgba(0,0,0,.7);border-bottom:1px solid rgba(255,255,255,.12)}.plex-os-menubar span:last-child{margin-left:auto}
.plex-os-desktop{padding:32px;display:grid;grid-template-columns:repeat(3,95px);gap:18px}.plex-os-desktop button{background:none;border:0;color:#eee;display:grid;place-items:center;gap:5px}.plex-os-desktop i{width:52px;height:52px;border-radius:12px;background:#161616;border:1px solid rgba(242,169,0,.28);display:grid;place-items:center;color:var(--accent);font-style:normal;font-size:22px}
.plex-os-window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,78vw);padding:22px;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 80px rgba(0,0,0,.65)}.plex-os-window strong{color:var(--accent)}.plex-os-window p{font-family:monospace;color:#aaa}.plex-os-window .cursor{animation:blink 1s steps(1) infinite}

.terminal-challenge{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:155;width:min(660px,92vw);background:#050705;border:1px solid #1e5f2c;color:#79ee91;box-shadow:0 30px 100px rgba(0,0,0,.8);font:13px/1.5 monospace;padding:18px}
.terminal-challenge>div{display:flex;justify-content:space-between;border-bottom:1px solid #193d21;padding-bottom:8px}.terminal-challenge button{background:none;border:0;color:#79ee91;font-size:20px;cursor:pointer}.terminal-challenge pre{white-space:pre-wrap;color:#59b86b}.terminal-challenge label{display:flex;gap:8px}.terminal-challenge input{flex:1;background:transparent;border:0;border-bottom:1px solid #276c35;color:#b1ffc0;font:inherit;outline:none}.terminal-output{min-height:22px}
.zero-escape{position:fixed;left:0;top:0;z-index:154;width:48px;height:48px;border:1px solid rgba(242,169,0,.35);border-radius:50%;background:#070707;color:#fff;font:300 30px/1 Arial;box-shadow:0 0 24px rgba(242,169,0,.18);cursor:pointer;will-change:transform}

.doom-challenge,.pong-challenge,.snake-challenge{position:fixed;inset:0;z-index:154;background:rgba(0,0,0,.92);pointer-events:auto}
.doom-hud{position:absolute;left:0;right:0;top:0;height:54px;display:flex;align-items:center;padding:0 18px;gap:18px;border-bottom:1px solid rgba(180,30,20,.3);font-family:monospace;color:#d86b5c}.doom-hud span{opacity:.6}.doom-hud button{margin-left:auto;background:none;border:0;color:#d86b5c;font-size:22px}.doom-arena{position:absolute;inset:54px 0 0;background:radial-gradient(circle at center,#28100c,#080605 68%);overflow:hidden}.doom-target{position:absolute;width:58px;height:58px;transform:translate(-50%,-50%);border:0;background:transparent;cursor:crosshair}.doom-target i{position:absolute;inset:6px;border-radius:50% 50% 44% 44%;background:#6f211b;box-shadow:inset 0 -12px 0 #2a0b08}.doom-target b{position:absolute;left:17px;top:20px;width:8px;height:8px;border-radius:50%;background:#ffb12e;box-shadow:16px 0 #ffb12e}.doom-target.hit{animation:targetPop .1s ease forwards}
.pong-field{position:absolute;left:5%;right:5%;top:8%;bottom:8%;border:1px solid rgba(255,255,255,.28);overflow:hidden;background:#020202}.pong-field::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed rgba(255,255,255,.14)}.pong-field .paddle{position:absolute;width:10px;height:100px;background:#eee;transform:translateY(-50%)}.pong-field .player{left:3%;top:50%}.pong-field .cpu{right:3%;top:50%}.pong-ball{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.pong-field span{position:absolute;left:50%;top:12px;transform:translateX(-50%);font:10px monospace;color:rgba(255,255,255,.35)}.pong-field button,.snake-board button{position:absolute;right:12px;top:10px;background:none;border:0;color:#fff;font-size:22px;z-index:2}
.snake-board{position:absolute;left:8%;right:8%;top:9%;bottom:9%;background:repeating-linear-gradient(0deg,rgba(80,255,110,.04) 0 1px,transparent 1px 11.111%),repeating-linear-gradient(90deg,rgba(80,255,110,.04) 0 1px,transparent 1px 7.142%);border:1px solid rgba(80,255,110,.25)}.snake-head{position:absolute;width:18px;height:18px;border-radius:4px;background:#62ff78;transform:translate(-50%,-50%);box-shadow:0 0 14px #62ff78}.snake-key,.snake-exit{position:absolute;transform:translate(-50%,-50%);font-style:normal;color:#ffdd52}.snake-exit{border:1px solid rgba(255,255,255,.35);padding:5px 8px;font:9px monospace;color:#fff}.snake-board>span{position:absolute;left:50%;top:10px;transform:translateX(-50%);font:10px monospace;color:rgba(100,255,120,.4)}

.hidden-block-target{position:fixed;left:50%;top:30%;transform:translate(-50%,-50%);z-index:61;width:46px;height:46px;border:0;background:transparent;opacity:0;cursor:default}
.one-pixel-target{position:fixed;z-index:61;width:2px;height:2px;padding:0;border:0;background:#050505;opacity:.1;cursor:default}.long-con-drifter{position:fixed;z-index:61;width:12px;height:12px;padding:0;border:0;background:transparent;color:rgba(255,255,255,.09);font-size:12px;cursor:default}

.skyrim-wagon{position:fixed;inset:0;z-index:150;overflow:hidden;background:linear-gradient(#7f8991 0 46%,#43484a 47% 100%);color:#e9e6dd;pointer-events:auto;perspective:1000px}
.skyrim-sky{position:absolute;inset:0 0 54%;background:linear-gradient(#7f8991,#a7afb2)}.skyrim-sky i{position:absolute;width:28vw;height:7vw;min-height:40px;border-radius:50%;background:rgba(240,240,235,.12);filter:blur(16px);animation:cloudDrift 18s linear infinite}.skyrim-sky i:nth-child(1){left:-20%;top:16%}.skyrim-sky i:nth-child(2){left:38%;top:24%;animation-delay:-7s}.skyrim-sky i:nth-child(3){left:72%;top:8%;animation-delay:-13s}
.skyrim-mountains{position:absolute;left:-10%;right:-10%;bottom:43%;height:35%;overflow:hidden}.skyrim-mountains i{position:absolute;bottom:-12%;width:46%;height:90%;background:#5d6465;clip-path:polygon(50% 0,100% 100%,0 100%)}.skyrim-mountains i::after{content:"";position:absolute;left:32%;top:14%;width:36%;height:35%;background:#d8d9d3;clip-path:polygon(50% 0,100% 100%,0 100%)}.skyrim-mountains i:nth-child(1){left:0}.skyrim-mountains i:nth-child(2){left:32%;height:110%;background:#51595b}.skyrim-mountains i:nth-child(3){right:0}
.skyrim-pines{position:absolute;left:-5%;right:-5%;bottom:35%;height:30%;display:flex;align-items:end;justify-content:space-around;animation:pineParallax 7s linear infinite}.skyrim-pines i{width:5vw;min-width:35px;height:18vw;max-height:210px;background:#283432;clip-path:polygon(50% 0,66% 24%,58% 24%,76% 50%,65% 50%,88% 82%,58% 82%,58% 100%,42% 100%,42% 82%,12% 82%,35% 50%,24% 50%,42% 24%,34% 24%);opacity:.8}
.wagon-road{position:absolute;left:-15%;right:-15%;bottom:-10%;height:54%;background:linear-gradient(#454541,#282824);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);background-image:repeating-linear-gradient(15deg,transparent 0 35px,rgba(255,255,255,.025) 36px 38px)}
.wagon-frame{position:absolute;inset:auto 4% 0;height:35%;border-top:12px solid #3b2818;animation:wagonRumble .55s ease-in-out infinite alternate}.wagon-frame i{position:absolute;bottom:-30px;width:130px;height:130px;border:14px solid #2b1c12;border-radius:50%;background:transparent}.wagon-frame i:nth-child(1){left:6%}.wagon-frame i:nth-child(2){right:6%}.wagon-frame b{position:absolute;left:12%;right:12%;top:25%;height:20px;background:#49311d;box-shadow:0 55px 0 #3d2819}
.wagon-passenger{position:absolute;right:15%;bottom:24%;width:130px;height:220px}.wagon-passenger .head{position:absolute;left:42px;top:0;width:52px;height:58px;border-radius:48%;background:#786452}.wagon-passenger .body{position:absolute;left:25px;top:52px;width:92px;height:128px;border-radius:35% 35% 20% 20%;background:#4a3b31}.knee-target{position:absolute;left:20px;bottom:12px;width:34px;height:34px;border-radius:50%;border:2px dashed rgba(242,169,0,.8);box-shadow:0 0 20px rgba(242,169,0,.35);animation:kneePulse 1.4s ease-in-out infinite}
.wagon-copy{position:absolute;left:6%;top:8%;max-width:min(520px,72vw);text-shadow:0 2px 4px rgba(0,0,0,.6)}.wagon-copy small{display:block;font-size:9px;letter-spacing:.3em;opacity:.55}.wagon-copy strong{display:block;margin-top:12px;font:300 clamp(24px,4.2vw,58px)/1.05 Georgia,serif}.wagon-copy span{display:block;margin-top:12px;font-size:10px;opacity:.5}
.wagon-arrow{left:18%;top:78%;background:#2d231b;color:#f0eadc;border-radius:12px;width:90px;height:42px;font-size:30px}.wagon-arrow span{transform:rotate(-10deg)}
.wagon-exit{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.25);color:#fff;font-size:24px;z-index:4}
.skyrim-wagon.arrow-hit .knee-target,.skyrim-wagon.knee-complete-scene .knee-target{background:rgba(160,20,20,.35);border-style:solid}.skyrim-wagon.arrow-hit{animation:kneeImpact .35s linear}
.knee-complete{position:fixed;left:50%;bottom:7%;transform:translateX(-50%);z-index:158;padding:14px 20px;background:rgba(8,8,8,.82);border:1px solid rgba(242,169,0,.3);backdrop-filter:blur(8px);text-align:center;pointer-events:none}.knee-complete b{display:block;font-size:10px;letter-spacing:.24em;color:var(--accent)}.knee-complete span{display:block;margin-top:6px;font-size:9px;color:rgba(255,255,255,.45)}

body.egg-inspect-persist .stage{outline:1px dashed rgba(0,220,255,.28);outline-offset:-10px}.inspect-grid{background:repeating-linear-gradient(0deg,rgba(0,220,255,.04) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(0,220,255,.04) 0 1px,transparent 1px 40px)}.inspect-grid b{position:absolute;left:12px;bottom:12px;font:9px monospace;color:rgba(0,220,255,.45)}
.idle-screensaver span{left:0!important;top:0!important;animation:none!important;will-change:transform}

@media (pointer:coarse){
  .one-pixel-target{width:8px;height:8px;opacity:.035}
  .egg-sticker{width:64px;height:64px}
}
@media(max-width:640px){
  .wagon-passenger{right:6%;transform:scale(.8);transform-origin:bottom right}
  .wagon-copy{left:5%;top:7%;max-width:78vw}
  .wagon-copy strong{font-size:30px}
  .skyrim-pines i{min-width:24px}
  .secret-menu-panel{max-height:82vh;overflow:auto}
}

@keyframes energyFly{to{left:calc(100% + 80px);transform:scale(1.25)}}@keyframes energyTrail{to{left:calc(100% + 60px)}}
@keyframes shellFly{20%{bottom:19%}55%{bottom:13%}to{left:calc(100% + 100px);bottom:17%}}@keyframes shellTrail{to{left:calc(100% + 40px)}}
@keyframes beamPulse{0%,100%{opacity:0}40%,70%{opacity:1}}@keyframes beamDot{0%{transform:scale(8);opacity:0}45%{transform:scale(1);opacity:1}100%{transform:scale(10);opacity:0}}
@keyframes timeBolt{0%,100%{opacity:0}15%,35%,60%{opacity:1}25%,48%,75%{opacity:.12}}@keyframes forceRise{to{bottom:110%;transform:rotate(240deg)}}
@keyframes barrelRollNow{to{transform:rotate(360deg)}}@keyframes barrelStars{to{transform:rotate(360deg)}}@keyframes leeroyShake{0%,100%{transform:translate(0)}25%{transform:translate(-2px,1px)}75%{transform:translate(2px,-1px)}}@keyframes leeroyLine{from{transform:translateX(-40%)}to{transform:translateX(40%)}}
@keyframes snowFall{from{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(220deg)}}@keyframes drip{0%{transform:translateY(-40%);opacity:0}25%{opacity:.5}to{transform:translateY(45%);opacity:0}}
@keyframes powerRing{0%{transform:translate(-50%,-50%) scale(.6);opacity:.4}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}@keyframes pelletRun{to{left:90%}}
@keyframes pipeTravel{0%{top:30%;opacity:0}30%{opacity:1}to{top:70%;opacity:0}}@keyframes portalTravel{0%{left:12%;opacity:0}20%{opacity:1}48%{left:8%;opacity:0}52%{left:88%;opacity:0}70%{opacity:1}to{left:82%;opacity:0}}
@keyframes doorBreathe{50%{transform:translateX(var(--door,0))}}@keyframes danceBar{to{transform:scaleY(.25)}}@keyframes gooOrbit{to{transform:rotate(360deg) translateX(80px) rotate(-360deg)}}
@keyframes lavaFlame{to{height:130px;transform:skewX(8deg)}}@keyframes schrodinger{50%{content:"!"}}@keyframes blink{50%{opacity:0}}@keyframes targetPop{to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
@keyframes cloudDrift{from{transform:translateX(-20vw)}to{transform:translateX(120vw)}}@keyframes pineParallax{to{transform:translateX(-4vw)}}@keyframes wagonRumble{to{transform:translateY(3px) rotate(.15deg)}}@keyframes kneePulse{50%{box-shadow:0 0 38px rgba(242,169,0,.65)}}@keyframes kneeImpact{25%{transform:translate(6px,-3px)}50%{transform:translate(-5px,2px)}75%{transform:translate(3px,1px)}}
.leeroy-callout{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:0}.leeroy-callout.show{opacity:1}.leeroy-callout b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-10deg);font:900 15vw/1 Arial;color:rgba(242,169,0,.16)}.leeroy-callout i{position:absolute;left:-20%;right:-20%;top:52%;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:leeroyLine 1.3s linear}

/* v1.0 — video-driven Skyrim endgame */
.skyrim-video-scene{
  position:fixed;
  inset:0;
  z-index:150;
  overflow:hidden;
  background:#000;
  color:#f0eee8;
  pointer-events:auto;
  opacity:0;
  transition:opacity .65s ease;
}
.skyrim-video-scene.scene-ready{opacity:1}
.skyrim-video-scene::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:6;
  box-shadow:inset 0 0 140px rgba(0,0,0,.82);
}
.skyrim-media-frame{
  position:absolute;
  left:50%;
  top:50%;
  width:min(100vw,177.777778vh);
  height:min(100vh,56.25vw);
  transform:translate(-50%,-50%);
  overflow:hidden;
  background:#030303;
  box-shadow:0 0 80px rgba(0,0,0,.8);
  isolation:isolate;
}
.skyrim-opening-video,
.skyrim-puzzle-still{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.skyrim-opening-video{
  z-index:1;
  opacity:1;
  transition:opacity .65s ease,filter .7s ease;
}
.skyrim-puzzle-still{
  z-index:2;
  opacity:0;
  transform:scale(1.012);
  filter:saturate(.88) contrast(1.04) brightness(.92);
  transition:opacity .75s ease,transform 6s ease;
  user-select:none;
  pointer-events:none;
}
.skyrim-video-vignette{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 48%,transparent 0 56%,rgba(0,0,0,.34) 82%,rgba(0,0,0,.72) 100%),
    linear-gradient(to bottom,rgba(0,0,0,.18),transparent 18%,transparent 78%,rgba(0,0,0,.34));
  mix-blend-mode:multiply;
}
.skyrim-video-scene.puzzle-mode .skyrim-opening-video{opacity:0;filter:blur(3px)}
.skyrim-video-scene.puzzle-mode .skyrim-puzzle-still{opacity:1;transform:scale(1)}
.skyrim-loading{
  position:absolute;
  left:50%;
  top:50%;
  z-index:8;
  transform:translate(-50%,-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:18px 22px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(0,0,0,.48);
  backdrop-filter:blur(10px);
  font-size:9px;
  letter-spacing:.26em;
  transition:opacity .3s ease,transform .3s ease;
}
.skyrim-loading i{
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.18);
  border-top-color:rgba(255,255,255,.86);
  border-radius:50%;
  animation:skyrimLoadSpin .85s linear infinite;
}
.skyrim-loading.hidden{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.96)}
.skyrim-loading.needs-play{cursor:pointer;border-color:rgba(255,255,255,.28)}
.skyrim-loading.error{border-color:rgba(242,169,0,.42)}
.skyrim-controls{
  position:absolute;
  left:50%;
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:12;
  display:flex;
  gap:8px;
  transform:translateX(-50%);
  opacity:.58;
  transition:opacity .2s ease;
}
.skyrim-controls:hover{opacity:1}
.skyrim-controls button,
.wagon-exit{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.52);
  color:rgba(255,255,255,.82);
  backdrop-filter:blur(12px);
  cursor:pointer;
  letter-spacing:.18em;
  font-size:9px;
}
.skyrim-controls button{
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
}
.skyrim-controls button:disabled{opacity:.35;cursor:default}
.skyrim-sound.sound-off{color:rgba(255,255,255,.52)}
.wagon-exit{
  position:absolute;
  right:max(18px,env(safe-area-inset-right));
  top:max(18px,env(safe-area-inset-top));
  z-index:14;
  width:42px;
  height:42px;
  border-radius:50%;
  font-size:23px;
  letter-spacing:0;
}
.skyrim-puzzle-copy{
  position:absolute;
  left:5.5%;
  top:7%;
  z-index:7;
  max-width:min(470px,58%);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  text-shadow:0 2px 10px rgba(0,0,0,.8);
  transition:opacity .7s ease .35s,transform .7s ease .35s;
}
.skyrim-puzzle-copy small{
  display:block;
  font-size:9px;
  letter-spacing:.3em;
  color:rgba(255,255,255,.5);
}
.skyrim-puzzle-copy strong{
  display:block;
  margin-top:10px;
  font:300 clamp(24px,3.2vw,48px)/1.02 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
}
.skyrim-puzzle-copy span{
  display:block;
  margin-top:10px;
  font-size:10px;
  color:rgba(255,255,255,.5);
  letter-spacing:.08em;
}
.skyrim-video-scene.puzzle-mode .skyrim-puzzle-copy{opacity:1;transform:none}
.skyrim-video-scene .knee-target{
  position:absolute;
  left:31.8%;
  top:65.5%;
  width:11.5%;
  height:20%;
  z-index:6;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  opacity:0;
  pointer-events:none;
}
.skyrim-video-scene.needs-knee-hint .knee-target{
  opacity:1;
  background:radial-gradient(circle,rgba(242,169,0,.09),transparent 58%);
  box-shadow:0 0 0 1px rgba(242,169,0,.15),0 0 34px rgba(242,169,0,.16);
  animation:kneeHintBreath 1.8s ease-in-out infinite;
}
.skyrim-video-scene .wagon-arrow{
  position:absolute;
  left:79%;
  top:78%;
  z-index:10;
  width:clamp(96px,10.5vw,180px);
  height:auto;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(18,15,12,.76);
  box-shadow:0 10px 34px rgba(0,0,0,.45);
  opacity:0;
  transform:translate(-50%,-50%) rotate(-12deg) scale(.88);
  cursor:grab;
  touch-action:none;
  user-select:none;
  pointer-events:none;
  transition:opacity .45s ease .72s,transform .45s ease .72s,box-shadow .2s ease;
}
.skyrim-video-scene.puzzle-mode .wagon-arrow{
  opacity:1;
  transform:translate(-50%,-50%) rotate(-12deg) scale(1);
  pointer-events:auto;
}
.skyrim-video-scene .wagon-arrow.dragging{
  cursor:grabbing;
  box-shadow:0 14px 44px rgba(0,0,0,.62),0 0 20px rgba(242,169,0,.16);
  transition:none;
}
.skyrim-video-scene .wagon-arrow svg{display:block;width:100%;height:auto;overflow:visible}
.skyrim-video-scene .wagon-arrow .arrow-shaft,
.skyrim-video-scene .wagon-arrow .arrow-head,
.skyrim-video-scene .wagon-arrow .arrow-feather{
  fill:none;
  stroke:#ece5d7;
  stroke-width:3.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.skyrim-video-scene .wagon-arrow .arrow-head{fill:#ece5d7;stroke-width:1.4}
.skyrim-video-scene .wagon-arrow.arrow-embedded{
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  transition:transform .16s cubic-bezier(.2,.9,.2,1),left .16s ease,top .16s ease;
}
.skyrim-video-scene.arrow-hit .skyrim-media-frame{animation:skyrimKneeImpact .34s linear}
.skyrim-video-scene.arrow-hit::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:11;
  pointer-events:none;
  background:radial-gradient(circle at 36% 75%,rgba(255,238,214,.34),transparent 10%);
  animation:skyrimImpactFlash .6s ease-out forwards;
}
.skyrim-video-scene.knee-complete-scene .skyrim-puzzle-copy strong{text-decoration:line-through;text-decoration-thickness:1px}
.knee-complete{
  position:fixed;
  left:50%;
  bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px));
  z-index:158;
  min-width:min(360px,calc(100vw - 30px));
  transform:translateX(-50%);
  padding:14px 20px;
  border:1px solid rgba(242,169,0,.3);
  background:rgba(8,8,8,.84);
  backdrop-filter:blur(12px);
  text-align:center;
  pointer-events:none;
  box-shadow:0 18px 60px rgba(0,0,0,.45);
}
.knee-complete b{display:block;font-size:10px;letter-spacing:.23em;color:var(--accent)}
.knee-complete span{display:block;margin-top:7px;font-size:9px;letter-spacing:.06em;color:rgba(255,255,255,.46)}

@keyframes skyrimLoadSpin{to{transform:rotate(360deg)}}
@keyframes kneeHintBreath{50%{opacity:.42;transform:scale(1.04)}}
@keyframes skyrimKneeImpact{0%,100%{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% + 8px),calc(-50% - 3px))}55%{transform:translate(calc(-50% - 7px),calc(-50% + 2px))}78%{transform:translate(calc(-50% + 3px),-50%)}}
@keyframes skyrimImpactFlash{0%{opacity:0}12%{opacity:1}100%{opacity:0}}

@media (max-width:640px){
  .skyrim-controls{bottom:max(12px,env(safe-area-inset-bottom));gap:5px;width:calc(100vw - 112px);justify-content:center}
  .skyrim-controls button{padding:0 9px;font-size:8px;letter-spacing:.11em}
  .wagon-exit{right:12px;top:12px;width:38px;height:38px}
  .skyrim-puzzle-copy{left:5%;top:5.5%;max-width:72%}
  .skyrim-puzzle-copy strong{font-size:clamp(20px,6.3vw,31px)}
  .skyrim-puzzle-copy span{font-size:9px}
  .skyrim-video-scene .wagon-arrow{width:clamp(90px,24vw,132px);left:76%;top:80%;padding:7px 8px}
}
