.story-motion-canvas{position:relative;line-height:0;width:fit-content;max-width:100%;margin-inline:auto}
.story-motion-layer{--motion-delay:0s;position:absolute;inset:0;z-index:1;width:100%;height:100%;
  pointer-events:none;overflow:hidden}
.story-motion-layer *{transform-box:fill-box;transform-origin:center}
.story-motion-video{position:absolute;z-index:2;left:var(--motion-left);top:var(--motion-top);
  width:var(--motion-width);height:var(--motion-height);object-fit:fill;pointer-events:none;
  opacity:0;clip-path:var(--motion-clip);-webkit-clip-path:var(--motion-clip);
  transition:opacity .14s ease;contain:paint}
.story-motion-video.is-active{opacity:1;will-change:opacity}
.motion-controls{max-width:1080px;margin:.3rem auto 0;display:flex;align-items:center;justify-content:flex-end;gap:.35rem}
.motion-control{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.42rem .62rem;
  border:1px solid rgba(244,212,138,.72);border-radius:3px;background:rgba(31,40,51,.92);
  color:#fff8e8;font:600 .7rem/1.2 'Literata',Georgia,serif;letter-spacing:.025em;cursor:pointer}
.motion-control[hidden]{display:none}.motion-control:hover{background:rgba(76,45,40,.94)}
.motion-control[aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--gold-bright)}
.reader-preferences{max-width:1080px;margin:.25rem auto 0;display:flex;justify-content:flex-end;align-items:center;gap:.35rem;flex-wrap:wrap}
.reader-preferences a,.reader-preferences button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.42rem .62rem;border:1px solid rgba(224,169,60,.52);border-radius:3px;background:rgba(31,40,51,.9);color:var(--paper);font:inherit;font-size:.72rem;cursor:pointer}
.reader-preferences [hidden]{display:none}.reader-preferences [aria-pressed="true"]{box-shadow:inset 0 -3px 0 var(--gold-bright)}
.reader-preferences a:focus-visible,.reader-preferences button:focus-visible{outline:3px solid #fff1c2;outline-offset:3px}
.story-motion.is-paused .story-motion-layer *{animation-play-state:paused!important}
.closing-spark{opacity:0;animation:closing-spark-rise 3s cubic-bezier(.2,.65,.3,1)
  var(--motion-delay) 1 both paused}
.closing-dome-glow{opacity:0;animation:closing-dome-breathe 9s ease-in-out 1 both paused}
.story-motion.is-visible .closing-spark,.story-motion.is-visible .closing-dome-glow,
.story-motion.is-visible .promise-light,.story-motion.is-visible .promise-thread,
.story-motion.is-visible .memory-flash,.story-motion.is-visible .memory-lightning,
.story-motion.is-visible .memory-trace,.story-motion.is-visible .memory-dome-glow,
.story-motion.is-visible .dew-drop,.story-motion.is-visible .dew-gather,
.story-motion.is-visible .dew-glint,.story-motion.is-visible .shadow-echo,
.story-motion.is-visible .shadow-lens,.story-motion.is-visible .lantern-mote,
.story-motion.is-visible .lantern-warmth,.story-motion.is-visible .rain-drop,
.story-motion.is-visible .rain-ripple,.story-motion.is-visible .rain-lantern,
.story-motion.is-visible .ring-flame,.story-motion.is-visible .ring-ember,
.story-motion.is-visible .ring-hearth-glow,.story-motion.is-visible .bridge-water,
.story-motion.is-visible .bridge-center-glow,.story-motion.is-visible .maker-flame,
.story-motion.is-visible .maker-ember,.story-motion.is-visible .maker-rest,
.story-motion.is-visible .maker-needle,.story-motion.is-visible .maker-hearth,
.story-motion.is-visible .badger-ripple,.story-motion.is-visible .badger-acorn-glint,
.story-motion.is-visible .shepherd-snow,.story-motion.is-visible .shepherd-lantern,
.story-motion.is-visible .siren-signal-trace,.story-motion.is-visible .siren-rain,
.story-motion.is-visible .siren-lens,.story-motion.is-visible .quarrel-steam-wisp,
.story-motion.is-visible .quarrel-ripple{
  animation-play-state:running}
@keyframes closing-spark-rise{
  0%{opacity:0;transform:translate(0,14px) scale(.4)}
  15%{opacity:.45}
  38%{opacity:1;transform:translate(0,-18px) scale(2.4)}
  100%{opacity:0;transform:translate(var(--spark-x),-96px) scale(.6)}
}
@keyframes closing-dome-breathe{
  0%,48%,100%{opacity:0;transform:scale(.94)}
  62%{opacity:.5;transform:scale(1.08)}
  80%{opacity:.14;transform:scale(1)}
}
.promise-light{opacity:0;animation:promise-light-pulse 9s ease-in-out
  var(--motion-delay) 1 both paused}
.promise-thread{opacity:0;stroke-dasharray:.085 .915;stroke-dashoffset:1;
  animation:promise-thread-glint 9s ease-in-out 1 both paused}
@keyframes promise-light-pulse{
  0%,10%,100%{opacity:0;transform:translate(0,0) scale(.62)}
  26%{opacity:.3}
  38%{opacity:1;transform:translate(var(--drift-x),var(--drift-y)) scale(2.6)}
  55%{opacity:.18;transform:translate(var(--return-x),var(--return-y)) scale(.9)}
  72%{opacity:.88;transform:translate(0,0) scale(1.65)}
  86%{opacity:.1}
}
@keyframes promise-thread-glint{
  0%,18%,100%{opacity:0;stroke-dashoffset:1}
  28%{opacity:.28}
  42%,62%{opacity:1}
  78%{opacity:0;stroke-dashoffset:-.1}
}
.memory-flash{opacity:0;animation:memory-halo-flash 7s ease-out 1 both paused}
.memory-lightning{opacity:0;animation:memory-lightning-hold 7s ease-out 1 both paused}
.memory-trace{stroke-dasharray:.16 .84;stroke-dashoffset:1;
  animation:memory-trace 4s ease-in-out 1 both paused}
.memory-dome-glow{opacity:0;animation:memory-dome-warm 7s ease-in-out 1 both paused}
@keyframes memory-halo-flash{
  0%,13%,100%{opacity:0}
  16%{opacity:.04}
  18%{opacity:.32}
  21%{opacity:.02}
  24%{opacity:.09}
  28%{opacity:0}
}
@keyframes memory-lightning-hold{
  0%,13%,100%{opacity:0}
  17%{opacity:.28}
  22%,44%{opacity:1}
  58%{opacity:0}
}
@keyframes memory-trace{
  0%,10%{opacity:0;stroke-dashoffset:1}
  20%{opacity:1}
  75%{opacity:1}
  100%{opacity:0;stroke-dashoffset:-.18}
}
@keyframes memory-dome-warm{
  0%,34%,100%{opacity:0;transform:scale(.96)}
  56%{opacity:.48;transform:scale(1.08)}
  78%{opacity:.14;transform:scale(1)}
}
.dew-drop{opacity:0;filter:drop-shadow(0 0 5px rgba(230,246,255,.95));
  animation:dew-drop 8s ease-in-out 1 both paused}
.dew-gather{opacity:0;animation:dew-gather 8s ease-in-out 1 both paused}
.dew-glint{opacity:0;animation:dew-glint 8s ease-in-out 1 both paused}
@keyframes dew-drop{
  0%,22%,100%{opacity:0;transform:translateY(0) scale(.65)}
  34%{opacity:.9;transform:translateY(0) scale(1)}
  68%{opacity:1;transform:translateY(52px) scale(1.4)}
  84%{opacity:0;transform:translateY(58px) scale(.85)}
}
@keyframes dew-gather{
  0%,16%,100%{opacity:0;transform:translateY(-3px) scale(.72,.58)}
  46%{opacity:.32}
  66%{opacity:.95;transform:translateY(5px) scale(1.32,1.42)}
  84%{opacity:.2;transform:translateY(2px) scale(1,1.05)}
}
@keyframes dew-glint{
  0%,48%,100%{opacity:0;transform:scale(.6)}
  66%{opacity:1;transform:scale(1.55)}
  78%{opacity:.12;transform:scale(.9)}
}
.shadow-echo{opacity:0;transform-box:view-box;transform-origin:948px 454px;
  animation:shadow-twin-breathe 7.4s cubic-bezier(.22,.62,.26,1) 1 both paused}
.shadow-lens{opacity:0;transform-origin:50% 50%;
  animation:shadow-lens-wonder 7.4s ease-in-out 1 both paused}
@keyframes shadow-twin-breathe{
  0%,9%,100%{opacity:0;transform:translate(0,0)}
  19%{opacity:.12;transform:translate(-2px,-1px)}
  38%{opacity:.28;transform:translate(-7px,-4px)}
  56%{opacity:.18;transform:translate(-4px,-2px)}
  72%{opacity:.09;transform:translate(-1px,-1px)}
  88%{opacity:0;transform:translate(0,0)}
}
@keyframes shadow-lens-wonder{
  0%,12%,100%{opacity:0;transform:scale(.72)}
  21%{opacity:.38;transform:scale(1.04)}
  32%{opacity:.14;transform:scale(.92)}
  49%{opacity:.58;transform:scale(1.14)}
  63%{opacity:.2;transform:scale(.98)}
  79%{opacity:.39;transform:scale(1.06)}
  90%{opacity:0;transform:scale(1)}
}
.lantern-mote{opacity:0;animation:lantern-mote-dance var(--mote-duration)
  cubic-bezier(.3,.12,.3,1) var(--motion-delay) 1 both paused}
.lantern-warmth{opacity:0;transform-origin:50% 52%;
  animation:lantern-warmth-breathe 8.4s ease-in-out 1 both paused}
@keyframes lantern-mote-dance{
  0%,7%,100%{opacity:0;transform:translate(0,0) scale(.45)}
  16%{opacity:.95;transform:translate(var(--mote-x1),var(--mote-y1)) scale(.94)}
  31%{opacity:.32;transform:translate(var(--mote-x2),var(--mote-y2)) scale(.68)}
  47%{opacity:1;transform:translate(var(--mote-x3),var(--mote-y3)) scale(1.14)}
  66%{opacity:.62;transform:translate(var(--mote-x4),var(--mote-y4)) scale(.82)}
  82%{opacity:.98;transform:translate(var(--mote-x5),var(--mote-y5)) scale(1.05)}
  94%{opacity:0;transform:translate(var(--mote-x6),var(--mote-y6)) scale(.5)}
}
@keyframes lantern-warmth-breathe{
  0%,8%,100%{opacity:0;transform:scale(.88)}
  24%{opacity:.18;transform:scale(1.025)}
  42%{opacity:.08;transform:scale(.98)}
  66%{opacity:.25;transform:scale(1.06)}
  82%{opacity:.1;transform:scale(1.01)}
  94%{opacity:0;transform:scale(1)}
}
.rain-drop{opacity:0;transform-box:view-box;
  animation:rain-drop-fall var(--drop-duration) cubic-bezier(.18,.55,.32,1)
  var(--motion-delay) 1 both paused}
.rain-ripple{opacity:0;transform-origin:50% 50%;
  animation:rain-ripple-open 1.35s ease-out var(--motion-delay) 1 both paused}
.rain-lantern{opacity:0;transform-origin:50% 56%;
  animation:rain-lantern-steady 7.6s ease-in-out 1 both paused}
@keyframes rain-drop-fall{
  0%{opacity:0;transform:translate(0,0)}
  12%{opacity:.68}
  72%{opacity:.54}
  100%{opacity:0;transform:translate(var(--drop-x),var(--drop-y))}
}
@keyframes rain-ripple-open{
  0%{opacity:0;transform:scale(.22)}
  18%{opacity:.55}
  72%{opacity:.17;transform:scale(1.25,.7)}
  100%{opacity:0;transform:scale(1.65,.84)}
}
@keyframes rain-lantern-steady{
  0%,8%,100%{opacity:0;transform:scale(.96)}
  22%{opacity:.16;transform:scale(1.02)}
  46%{opacity:.08;transform:scale(.99)}
  68%{opacity:.2;transform:scale(1.035)}
  88%{opacity:.06;transform:scale(1)}
}
.ring-flame{opacity:0;transform-origin:50% 100%;
  animation:ring-flame-answer 3.05s cubic-bezier(.18,.62,.28,1)
  var(--motion-delay) 1 both paused}
.ring-ember{opacity:0;transform-box:view-box;
  animation:ring-ember-rise 2.4s cubic-bezier(.2,.62,.25,1)
  var(--motion-delay) 1 both paused}
.ring-hearth-glow{opacity:0;transform-origin:50% 50%;
  animation:ring-hearth-gather 3.4s ease-in-out 3.5s 1 both paused}
@keyframes ring-flame-answer{
  0%,8%,100%{opacity:0;transform:translateY(4px) rotate(-2deg) scale(.62,.52)}
  23%{opacity:.72;transform:translateY(-4px) rotate(3deg) scale(.94,1.2)}
  39%{opacity:.9;transform:translateY(-8px) rotate(-2deg) scale(1.08,1.42)}
  57%{opacity:.58;transform:translateY(-3px) rotate(1.2deg) scale(.92,1.04)}
  74%{opacity:.7;transform:translateY(-5px) rotate(-.7deg) scale(1.02,1.18)}
  91%{opacity:.08;transform:translateY(-1px) rotate(0) scale(.96,1)}
}
@keyframes ring-ember-rise{
  0%,10%{opacity:0;transform:translate(0,0) scale(.5)}
  24%{opacity:.86}
  55%{opacity:.48;transform:translate(var(--ember-x1),-24px) scale(.9)}
  100%{opacity:0;transform:translate(var(--ember-x2),-62px) scale(.42)}
}
@keyframes ring-hearth-gather{
  0%,100%{opacity:0;transform:scale(.94)}
  34%{opacity:.13;transform:scale(1.025)}
  62%{opacity:.08;transform:scale(1.05)}
  86%{opacity:.02;transform:scale(1.01)}
}
.broom-straw{opacity:0;transform-box:view-box;transform-origin:1126px 376px;
  animation:broom-listen 6.8s cubic-bezier(.2,.62,.26,1) 1 both paused}
.broom-art-sway{opacity:0;transform-box:view-box;transform-origin:1127px 375px;
  animation:broom-art-listen 6.8s cubic-bezier(.18,.64,.24,1) 1 both paused}
.broom-dust{opacity:0;transform-box:view-box;
  animation:broom-dust-rise var(--dust-duration) cubic-bezier(.22,.55,.3,1)
  var(--motion-delay) 1 both paused}
.broom-ember{opacity:0;transform-box:view-box;
  animation:broom-ember-rise 2.4s cubic-bezier(.16,.62,.24,1)
  var(--motion-delay) 1 both paused}
.broom-hearth{opacity:0;transform-origin:50% 56%;
  animation:broom-hearth-breathe 7.2s ease-in-out 1 both paused}
@keyframes broom-listen{
  0%,8%,100%{opacity:0;transform:rotate(0) translate(0,0)}
  17%{opacity:.58;transform:rotate(-1.2deg) translate(-1px,1px)}
  31%{opacity:.88;transform:rotate(2.7deg) translate(3px,-1px)}
  47%{opacity:.72;transform:rotate(-1.5deg) translate(-2px,1px)}
  62%{opacity:.63;transform:rotate(.7deg) translate(1px,0)}
  78%{opacity:.38;transform:rotate(-.2deg) translate(0,0)}
  90%{opacity:0;transform:rotate(0) translate(0,0)}
}
@keyframes broom-art-listen{
  0%,7%{opacity:1;transform:rotate(0) translate(0,0)}
  18%{opacity:1;transform:rotate(-1.5deg) translate(-2px,1px)}
  32%{opacity:1;transform:rotate(3.4deg) translate(4px,-2px)}
  49%{opacity:1;transform:rotate(-2.1deg) translate(-3px,1px)}
  64%{opacity:1;transform:rotate(1.05deg) translate(2px,0)}
  78%{opacity:1;transform:rotate(-.35deg) translate(-1px,0)}
  92%{opacity:1;transform:rotate(0) translate(0,0)}
  100%{opacity:0;transform:rotate(0) translate(0,0)}
}
@keyframes broom-dust-rise{
  0%,8%{opacity:0;transform:translate(0,0) scale(.45)}
  22%{opacity:.68}
  58%{opacity:.42;transform:translate(var(--dust-x1),var(--dust-y1)) scale(.9)}
  100%{opacity:0;transform:translate(var(--dust-x2),var(--dust-y2)) scale(.35)}
}
@keyframes broom-ember-rise{
  0%,10%{opacity:0;transform:translate(0,0) scale(.4)}
  26%{opacity:.9}
  62%{opacity:.52;transform:translate(var(--ember-x1),-34px) scale(.86)}
  100%{opacity:0;transform:translate(var(--ember-x2),-78px) scale(.3)}
}
@keyframes broom-hearth-breathe{
  0%,8%,100%{opacity:0;transform:scale(.94)}
  26%{opacity:.14;transform:scale(1.025)}
  45%{opacity:.06;transform:scale(.99)}
  67%{opacity:.19;transform:scale(1.045)}
  88%{opacity:.04;transform:scale(1)}
}
.gate-spark{opacity:0;transform-box:view-box;
  animation:gate-forge-spark var(--spark-duration) cubic-bezier(.16,.64,.24,1)
  var(--motion-delay) 1 both paused}
.gate-bell-art{opacity:0;transform-box:view-box;transform-origin:1385px 132px;
  animation:gate-bell-art-ring 6.4s cubic-bezier(.18,.68,.24,1) 1 both paused}
.gate-clapper{opacity:0;transform-box:view-box;transform-origin:1387px 190px;
  animation:gate-bell-answer 6.4s cubic-bezier(.2,.66,.25,1) 1 both paused}
.gate-bell-echo{opacity:0;stroke-dasharray:12 20;
  animation:gate-bell-echo 6.4s ease-out 1 both paused}
.gate-sensor{opacity:0;transform-origin:50% 50%;
  animation:gate-sensor-warm 6.8s ease-in-out 1 both paused}
@keyframes gate-forge-spark{
  0%,8%{opacity:0;transform:translate(0,0) scale(.4)}
  20%{opacity:.95}
  64%{opacity:.58;transform:translate(var(--spark-x1),var(--spark-y1)) scale(.9)}
  100%{opacity:0;transform:translate(var(--spark-x2),var(--spark-y2)) scale(.25)}
}
@keyframes gate-bell-art-ring{
  0%,16%{opacity:1;transform:rotate(0)}
  23%{opacity:1;transform:rotate(-5.5deg)}
  31%{opacity:1;transform:rotate(4.7deg)}
  40%{opacity:1;transform:rotate(-3.1deg)}
  50%{opacity:1;transform:rotate(1.8deg)}
  62%{opacity:1;transform:rotate(-.7deg)}
  78%,92%{opacity:1;transform:rotate(0)}
  100%{opacity:0;transform:rotate(0)}
}
@keyframes gate-bell-answer{
  0%,14%,100%{opacity:0;transform:rotate(0)}
  20%{opacity:.76;transform:rotate(-7deg)}
  30%{opacity:.88;transform:rotate(6deg)}
  41%{opacity:.74;transform:rotate(-3.8deg)}
  52%{opacity:.6;transform:rotate(2deg)}
  65%{opacity:.42;transform:rotate(-.8deg)}
  80%{opacity:.16;transform:rotate(.2deg)}
  90%{opacity:0;transform:rotate(0)}
}
@keyframes gate-bell-echo{
  0%,17%,72%,100%{opacity:0;stroke-dashoffset:0}
  25%{opacity:.62}
  48%{opacity:.22;stroke-dashoffset:-38}
  68%{opacity:0;stroke-dashoffset:-62}
}
@keyframes gate-sensor-warm{
  0%,18%,100%{opacity:0;transform:scale(.78)}
  31%{opacity:.22;transform:scale(1.04)}
  49%{opacity:.08;transform:scale(.96)}
  67%{opacity:.38;transform:scale(1.13)}
  85%{opacity:.08;transform:scale(1)}
}
.bridge-water{opacity:0;stroke-dasharray:.09 .91;stroke-dashoffset:1;
  animation:bridge-water-travel 7.8s ease-in-out 1 both paused}
.bridge-center-glow{opacity:0;transform-origin:50% 50%;
  animation:bridge-center-answer 4.8s ease-in-out var(--motion-delay) 1 both paused}
@keyframes bridge-water-travel{
  0%,8%,100%{opacity:0;stroke-dashoffset:1}
  20%{opacity:.18}
  45%{opacity:.58}
  72%{opacity:.28;stroke-dashoffset:-.18}
  90%{opacity:0;stroke-dashoffset:-.45}
}
@keyframes bridge-center-answer{
  0%,14%,100%{opacity:0;transform:scale(.86)}
  30%{opacity:.26;transform:scale(1.03)}
  47%{opacity:.09;transform:scale(.98)}
  65%{opacity:.4;transform:scale(1.1)}
  83%{opacity:.1;transform:scale(1)}
  94%{opacity:0;transform:scale(1)}
}
.chain-sway{opacity:0;transform-box:view-box;transform-origin:1420px 401px;
  animation:giant-chain-settle 7.1s cubic-bezier(.2,.62,.26,1) 1 both paused}
.giant-chain-art{opacity:0;transform-box:view-box;transform-origin:1392px 350px;
  animation:giant-chain-art-settle 7.1s cubic-bezier(.18,.66,.24,1) 1 both paused}
.chain-link-glint{opacity:0;stroke-dasharray:24 230;stroke-dashoffset:236;
  animation:giant-chain-glint 7.1s ease-in-out 1 both paused}
.giant-eye{opacity:0;transform-origin:50% 50%;
  animation:giant-eyes-soften 7.6s ease-in-out 1 both paused}
.giant-leaf{opacity:0;transform-box:view-box;
  animation:giant-leaf-fall var(--leaf-duration) cubic-bezier(.18,.58,.3,1)
  var(--motion-delay) 1 both paused}
@keyframes giant-chain-settle{
  0%,10%,100%{opacity:0;transform:rotate(0) translate(0,0)}
  19%{opacity:.62;transform:rotate(4.2deg) translate(2px,0)}
  34%{opacity:.84;transform:rotate(-3deg) translate(-2px,2px)}
  49%{opacity:.68;transform:rotate(1.7deg) translate(1px,4px)}
  64%{opacity:.5;transform:rotate(-.7deg) translate(0,6px)}
  80%{opacity:.25;transform:rotate(.15deg) translate(0,7px)}
  91%{opacity:0;transform:rotate(0) translate(0,7px)}
}
@keyframes giant-chain-art-settle{
  0%,10%{opacity:1;transform:rotate(0) translate(0,0)}
  20%{opacity:1;transform:rotate(4.8deg) translate(2px,0)}
  34%{opacity:1;transform:rotate(-3.5deg) translate(-2px,2px)}
  49%{opacity:1;transform:rotate(2deg) translate(1px,4px)}
  64%{opacity:1;transform:rotate(-.85deg) translate(0,6px)}
  81%{opacity:1;transform:rotate(.2deg) translate(0,7px)}
  92%{opacity:1;transform:rotate(0) translate(0,7px)}
  100%{opacity:0;transform:rotate(0) translate(0,7px)}
}
@keyframes giant-chain-glint{
  0%,12%,82%,100%{opacity:0;stroke-dashoffset:236}
  24%{opacity:.16}
  47%{opacity:.8}
  72%{opacity:.24;stroke-dashoffset:-34}
  81%{opacity:0;stroke-dashoffset:-72}
}
@keyframes giant-eyes-soften{
  0%,9%,100%{opacity:0;transform:scale(.78)}
  23%{opacity:.24;transform:scale(1.04)}
  43%{opacity:.1;transform:scale(.96)}
  65%{opacity:.39;transform:scale(1.12)}
  84%{opacity:.08;transform:scale(1)}
}
@keyframes giant-leaf-fall{
  0%,8%{opacity:0;transform:translate(0,0) rotate(0) scale(.7)}
  22%{opacity:.7}
  58%{opacity:.46;transform:translate(var(--leaf-x1),44px) rotate(var(--leaf-r1)) scale(.9)}
  100%{opacity:0;transform:translate(var(--leaf-x2),96px) rotate(var(--leaf-r2)) scale(.55)}
}
.spare-frost{opacity:0;transform-box:view-box;
  animation:spare-frost-drift var(--frost-duration) cubic-bezier(.22,.52,.28,1)
  var(--motion-delay) 1 both paused}
.spare-pear-art{opacity:0;transform-box:view-box;transform-origin:645px 404px;
  animation:spare-pear-turn 8s cubic-bezier(.18,.62,.26,1) 1 both paused}
.spare-lens{opacity:0;transform-origin:50% 50%;
  animation:spare-lens-wake 8s ease-in-out 1 both paused}
.spare-pear{opacity:0;transform-origin:50% 50%;
  animation:spare-pear-glint 8s ease-in-out 1 both paused}
@keyframes spare-frost-drift{
  0%,7%{opacity:0;transform:translate(0,0) rotate(0) scale(.45)}
  18%{opacity:.82}
  54%{opacity:.48;transform:translate(var(--frost-x1),var(--frost-y1)) rotate(var(--frost-r1)) scale(.85)}
  100%{opacity:0;transform:translate(var(--frost-x2),var(--frost-y2)) rotate(var(--frost-r2)) scale(.32)}
}
@keyframes spare-pear-turn{
  0%,33%{opacity:1;transform:rotate(0) translate(0,0)}
  45%{opacity:1;transform:rotate(-2.8deg) translate(-2px,-2px)}
  58%{opacity:1;transform:rotate(2.1deg) translate(2px,-1px)}
  70%{opacity:1;transform:rotate(-.7deg) translate(0,0)}
  84%,94%{opacity:1;transform:rotate(0) translate(0,0)}
  100%{opacity:0;transform:rotate(0) translate(0,0)}
}
@keyframes spare-lens-wake{
  0%,10%,100%{opacity:0;transform:scale(.72)}
  24%{opacity:.22;transform:scale(1.02)}
  38%{opacity:.08;transform:scale(.94)}
  58%{opacity:.5;transform:scale(1.16)}
  74%{opacity:.18;transform:scale(.98)}
  88%{opacity:.04;transform:scale(1)}
}
@keyframes spare-pear-glint{
  0%,43%,100%{opacity:0;transform:translate(-8px,7px) scale(.5)}
  58%{opacity:.88;transform:translate(0,0) scale(1.2)}
  69%{opacity:.12;transform:translate(7px,-7px) scale(.72)}
}
.maker-flame{opacity:0;transform-origin:50% 100%;
  animation:maker-fire-breathe 7.5s cubic-bezier(.18,.58,.27,1) 1 both paused}
.maker-ember{opacity:0;transform-box:view-box;
  animation:maker-ember-rise 2.6s cubic-bezier(.18,.62,.25,1)
  var(--motion-delay) 1 both paused}
.maker-rest{opacity:0;transform-origin:50% 50%;
  animation:maker-light-rest 8.4s ease-in-out 1 both paused}
.maker-needle{opacity:0;transform-origin:50% 50%;
  animation:maker-needle-glint 2.5s ease-in-out 4.5s 1 both paused}
.maker-hearth{opacity:0;transform-origin:50% 58%;
  animation:maker-hearth-warm 8.2s ease-in-out 1 both paused}
@keyframes maker-fire-breathe{
  0%,8%,100%{opacity:0;transform:translateY(2px) rotate(0) scale(.78,.72)}
  18%{opacity:.64;transform:translateY(-2px) rotate(-2deg) scale(.94,1.08)}
  31%{opacity:.84;transform:translateY(-5px) rotate(2.5deg) scale(1.06,1.24)}
  46%{opacity:.52;transform:translateY(-2px) rotate(-1.4deg) scale(.92,.98)}
  62%{opacity:.7;transform:translateY(-4px) rotate(1deg) scale(1.02,1.16)}
  78%{opacity:.34;transform:translateY(-1px) rotate(-.3deg) scale(.95,1.02)}
  91%{opacity:0;transform:translateY(0) rotate(0) scale(1)}
}
@keyframes maker-ember-rise{
  0%,10%{opacity:0;transform:translate(0,0) scale(.4)}
  24%{opacity:.88}
  58%{opacity:.44;transform:translate(var(--ember-x1),-32px) scale(.82)}
  100%{opacity:0;transform:translate(var(--ember-x2),-76px) scale(.28)}
}
@keyframes maker-light-rest{
  0%,9%,100%{opacity:0;transform:scale(.76)}
  23%{opacity:.32;transform:scale(1.05)}
  41%{opacity:.16;transform:scale(.97)}
  59%{opacity:.26;transform:scale(1.02)}
  78%{opacity:.1;transform:scale(.96)}
  91%{opacity:0;transform:scale(.9)}
}
@keyframes maker-needle-glint{
  0%,100%{opacity:0;transform:translate(-9px,8px) scale(.45)}
  38%{opacity:.9;transform:translate(0,0) scale(1.22)}
  67%{opacity:.14;transform:translate(9px,-8px) scale(.7)}
}
@keyframes maker-hearth-warm{
  0%,8%,100%{opacity:0;transform:scale(.94)}
  27%{opacity:.16;transform:scale(1.03)}
  47%{opacity:.06;transform:scale(.99)}
  69%{opacity:.2;transform:scale(1.05)}
  88%{opacity:.04;transform:scale(1)}
}
.siren-rain{opacity:0;transform-box:view-box;
  animation:weather-rain-fall var(--rain-duration,4.8s) linear var(--motion-delay,0s) 1 both paused}
.siren-signal-trace{opacity:0;stroke-dasharray:.11 .89;stroke-dashoffset:1;
  animation:siren-signal-pass 7.6s cubic-bezier(.2,.58,.28,1) var(--motion-delay) 1 both paused}
@keyframes weather-rain-fall{
  0%{opacity:0;transform:translate(0,-26px)}
  10%{opacity:.62}
  76%{opacity:.45}
  100%{opacity:0;transform:translate(var(--rain-x),92px)}
}
@keyframes siren-signal-pass{
  0%,12%,100%{opacity:0;stroke-dashoffset:1}
  24%{opacity:.18}
  46%{opacity:.62}
  71%{opacity:.22;stroke-dashoffset:0}
  86%{opacity:0;stroke-dashoffset:-.55}
}
.badger-ripple{opacity:0;stroke-dasharray:14 18;
  animation:badger-ripple-pass 7.8s ease-in-out 1 both paused}
.badger-acorn-glint{opacity:0;transform-origin:50% 50%;
  animation:badger-acorn-glint 2.5s ease-in-out 3.35s 1 both paused}
@keyframes badger-ripple-pass{
  0%,10%,100%{opacity:0;stroke-dashoffset:80}
  27%{opacity:.2}
  54%{opacity:.72;stroke-dashoffset:0}
  82%{opacity:.12;stroke-dashoffset:-70}
}
@keyframes badger-acorn-glint{
  0%,100%{opacity:0;transform:translate(-8px,7px) scale(.45)}
  38%{opacity:.82;transform:translate(0,0) scale(1.16)}
  68%{opacity:.1;transform:translate(8px,-7px) scale(.7)}
}
.shepherd-snow{opacity:0;transform-box:view-box;
  animation:weather-snow-fall var(--snow-duration) linear var(--motion-delay) 1 both paused}
.shepherd-lantern{opacity:0;transform-origin:50% 50%;
  animation:shepherd-lantern-answer 8.2s ease-in-out var(--motion-delay) 1 both paused}
@keyframes weather-snow-fall{
  0%{opacity:0;transform:translate(0,-34px) rotate(0)}
  12%{opacity:.8}
  72%{opacity:.58}
  100%{opacity:0;transform:translate(var(--snow-x),112px) rotate(var(--snow-r))}
}
@keyframes shepherd-lantern-answer{
  0%,10%,100%{opacity:0;transform:scale(.8)}
  25%{opacity:.24;transform:scale(1.04)}
  47%{opacity:.1;transform:scale(.96)}
  67%{opacity:.35;transform:scale(1.12)}
  86%{opacity:.06;transform:scale(1)}
}
.siren-lens{opacity:0;transform-origin:50% 50%;
  animation:siren-lens-answer 8.2s ease-in-out 1 both paused}
@keyframes siren-lens-answer{
  0%,18%,100%{opacity:0;transform:scale(.76)}
  34%{opacity:.2;transform:scale(1.02)}
  54%{opacity:.08;transform:scale(.96)}
  72%{opacity:.42;transform:scale(1.15)}
  89%{opacity:.06;transform:scale(1)}
}
.quarrel-steam-wisp{opacity:0;transform-box:view-box;
  animation:quarrel-steam-rise 6.8s cubic-bezier(.2,.55,.28,1) var(--motion-delay) 1 both paused}
.quarrel-ripple{opacity:0;stroke-dasharray:14 22;
  animation:quarrel-ripple-pass 7.8s ease-in-out 1 both paused}
@keyframes quarrel-steam-rise{
  0%,10%{opacity:0;transform:translate(0,14px)}
  24%{opacity:.52;transform:translate(-2px,0)}
  52%{opacity:.38;transform:translate(5px,-29px)}
  78%{opacity:.16;transform:translate(-3px,-58px)}
  100%{opacity:0;transform:translate(6px,-86px)}
}
@keyframes quarrel-ripple-pass{
  0%,8%,100%{opacity:0;stroke-dashoffset:90}
  26%{opacity:.22}
  53%{opacity:.76;stroke-dashoffset:0}
  82%{opacity:.1;stroke-dashoffset:-76}
}

.motion-mobile{display:none}
.story-motion.is-visible .motion-acted{animation-play-state:running}
.route-main .story-motion{overflow:visible;background:transparent;box-shadow:none}
.route-main .story-motion-canvas{width:100%;overflow:hidden;border-radius:4px;
  background:#dfd0b4;box-shadow:0 12px 36px rgba(43,36,30,.2)}
.route-main .motion-controls{justify-content:flex-end;margin-top:.4rem}
.route-main .motion-control{font-size:.8rem;background:transparent;color:var(--rubric);
  border-color:transparent;padding:.4rem .2rem;text-decoration:underline;text-underline-offset:3px}
.route-main .motion-control:hover{background:#ede0c8}
.route-main .motion-control:focus-visible{outline:3px solid #8e3d29;outline-offset:3px}
.route-main .motion-control:disabled{opacity:.7;cursor:default}
@media(max-width:640px){.motion-wide{display:none}.motion-mobile{display:block}}
@media(prefers-reduced-motion:reduce){.story-motion-layer,.story-motion-video{display:none}}
@media print{.motion-controls,.story-motion-layer,.story-motion-video{display:none!important}}
