/* Geometry supplied by ledger-lamp.js; --worker-y is the worker's feet. */
.ledger-lamp {
  --lamp-cone-height: max(0px, calc(var(--worker-y) - var(--rim-y)));
  position: fixed;
  inset: 0;
  z-index: 0;
  opacity: 0;
}
.ledger-lamp, .ledger-lamp * { pointer-events: none; }
.ledger-lamp.is-on { opacity: 1; }
.ledger-lamp__lens, .ledger-lamp__glow, .ledger-lamp__cone {
  position: absolute;
  left: var(--lamp-x);
}
.ledger-lamp__lens {
  top: var(--lamp-y);
  width: var(--lens-w);
  height: var(--lens-h);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  overflow: hidden;
}
.ledger-lamp__lens::after {
  content: '';
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--mist-2) 85%, transparent);
}
.ledger-lamp__core, .ledger-lamp__filament {
  position: absolute;
  opacity: 0;
}
.ledger-lamp__core {
  inset: 0;
  background: radial-gradient(ellipse, var(--lamp-warm), var(--lamp-warm-soft) 60%, transparent 75%);
}
.ledger-lamp__filament {
  width: 140%;
  height: 140%;
  left: -20%;
  top: -20%;
  background: conic-gradient(var(--lamp-warm), transparent 60deg, var(--lamp-warm) 120deg, transparent 180deg, var(--lamp-warm) 240deg, transparent 300deg, var(--lamp-warm));
  mask-image: radial-gradient(ellipse, transparent 32%, var(--ink) 46%, var(--ink) 58%, transparent 72%);
  filter: blur(2px);
}
.ledger-lamp__glow {
  top: var(--lamp-y);
  width: calc(var(--lens-w) * 2.4);
  height: calc(var(--lens-h) * 3);
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse, var(--lamp-warm), var(--lamp-warm-soft) 40%, transparent 72%);
  filter: blur(12px);
  mix-blend-mode: normal;
  opacity: 0;
}
.ledger-lamp__cone {
  top: var(--rim-y);
  width: calc(var(--lens-w) * 3.4);
  height: var(--lamp-cone-height);
  transform: translateX(-50%);
  background: linear-gradient(to bottom, color-mix(in srgb, var(--lamp-warm) 55%, transparent), var(--lamp-warm-soft) 45%, transparent);
  clip-path: polygon(35.294% 0, 64.706% 0, 100% 100%, 0 100%);
  mask-image: linear-gradient(to bottom, var(--ink), transparent), linear-gradient(to right, transparent, var(--ink) 28%, var(--ink) 72%, transparent);
  mask-composite: intersect;
  filter: blur(10px);
  opacity: 0;
}
.ledger-lamp.is-on .ledger-lamp__lens::after { animation: lamp-cover 1.1s steps(1, end) both; }
.ledger-lamp.is-on .ledger-lamp__core { animation: lamp-ignite 1.1s steps(1, end) both, lamp-breathe 5s 1.1s ease-in-out infinite; }
.ledger-lamp.is-on .ledger-lamp__filament { opacity: .65; animation: lamp-ignite 1.1s steps(1, end) both, lamp-coil 9s linear infinite; }
.ledger-lamp.is-on .ledger-lamp__glow,
.ledger-lamp.is-on .ledger-lamp__cone { animation: lamp-ignite 1.1s steps(1, end) both; }
.ledger-lamp__motes { position: absolute; inset: 0; overflow: hidden; }
.ledger-lamp__motes i {
  position: absolute;
  top: var(--rim-y);
  left: calc(var(--lamp-x) + var(--mote-x) * var(--lens-w));
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--lamp-warm);
  opacity: 0;
}
.ledger-lamp.is-on .ledger-lamp__motes i { animation: lamp-mote var(--mote-t) var(--mote-d) linear infinite; }
.ledger-lamp__worker {
  position: absolute;
  left: var(--lamp-x);
  top: var(--worker-y);
  width: var(--worker-size);
  height: var(--worker-size);
  transform: translate(-50%, -100%);
  color: var(--ink);
  fill: var(--ink);
}
.ledger-lamp__worker::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: calc(var(--lens-w) * 3);
  height: calc(var(--lens-w) * .35);
  transform: translate(-50%, 50%);
  background: radial-gradient(ellipse, color-mix(in srgb, var(--lamp-warm) 50%, transparent), transparent 70%);
  filter: blur(6px);
}
.ledger-lamp__worker svg { position: relative; display: block; width: 100%; height: 100%; }
.ledger-lamp .w-arm-l, .ledger-lamp .w-arm-r { transform-box: fill-box; transform-origin: 15% 15%; }
.ledger-lamp .w-arm-r { transform-origin: 85% 15%; }
.ledger-lamp .w-screen { fill: var(--lamp-warm); }
.ledger-lamp.is-on .w-arm-l { animation: lamp-type 260ms ease-in-out infinite alternate; }
.ledger-lamp.is-on .w-arm-r { animation: lamp-type 260ms -260ms ease-in-out infinite alternate-reverse; }
.ledger-lamp.is-on .w-head { animation: lamp-nod 1.2s ease-in-out infinite; }
.ledger-lamp.is-on .w-screen { animation: lamp-screen 1.8s ease-in-out infinite; }
.ledger-lamp__chips {
  --chip-rise: calc(var(--lamp-y) - var(--worker-y) + var(--worker-size) * .5);
  position: absolute;
  left: calc(var(--lamp-x) + var(--worker-size) * .2);
  top: calc(var(--worker-y) - var(--worker-size) * .5);
}
.ledger-lamp__chip {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--glass-edge);
  background: color-mix(in srgb, var(--glass) 25%, transparent);
  color: var(--ink);
  font: 400 11px/1.4 var(--mono);
  white-space: nowrap;
  animation: lamp-result 2.6s ease-out both;
}
.ledger-lamp--inline { display: none; }
.zero-home .ledger-journey {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 24px 0 12px;
  color: var(--ink-2);
}
.ledger-journey > .mono { flex-shrink: 0; }
.ledger-journey__dots { display: inline-flex; gap: 5px; }
.ledger-journey__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--amber);
  animation: journey-dot 1.8s ease-in-out infinite;
}
.ledger-journey__dots i:nth-child(2) { animation-delay: 200ms; }
.ledger-journey__dots i:nth-child(3) { animation-delay: 400ms; }
.ledger-journey::after {
  content: '';
  flex: 1;
  min-width: 12px;
  height: 1px;
  background: var(--line);
  transform-origin: left;
  animation: journey-path 4s ease-in-out infinite;
}
.zero-home .ledger-note { max-width: 52ch; color: var(--ink-2); margin: 0; }
@keyframes lamp-cover {
  0% { opacity: 1; } 13% { opacity: .2; } 27% { opacity: .9; }
  49% { opacity: .1; } 68% { opacity: .6; } 100% { opacity: 0; }
}
@keyframes lamp-ignite {
  0% { opacity: 0; } 13% { opacity: .8; } 27% { opacity: .1; }
  49% { opacity: .9; } 68% { opacity: .4; } 100% { opacity: 1; }
}
@keyframes lamp-breathe { 0%, 100% { opacity: 1; } 50% { opacity: .85; } }
@keyframes lamp-coil { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes lamp-mote {
  0% { opacity: 0; transform: translate(0, 0); }
  20% { opacity: .6; }
  75% { opacity: .3; }
  100% { opacity: 0; transform: translate(calc(var(--mote-x) * var(--lens-w)), var(--lamp-cone-height)); }
}
@keyframes lamp-type { from { transform: rotate(-6deg); } to { transform: rotate(6deg); } }
@keyframes lamp-nod { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(1px); } }
@keyframes lamp-screen { 0%, 100% { opacity: 1; } 45% { opacity: .7; } }
@keyframes lamp-result {
  0% { opacity: 0; transform: translate(-50%, 0); }
  15%, 60% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% - var(--worker-size) * .2), var(--chip-rise)); }
}
@keyframes journey-dot {
  0%, 70%, 100% { opacity: .35; transform: translateY(0); }
  30% { opacity: 1; transform: translateY(-2px); }
}
@keyframes journey-path { 0%, 100% { transform: scaleX(.65); } 50% { transform: scaleX(1); } }
@media (max-width: 767px) {
  .ledger-lamp { display: none; }
  .ledger-lamp.ledger-lamp--inline {
    display: block;
    position: relative;
    inset: auto;
    width: 100%;
    height: 300px;
    margin-top: 24px;
    overflow: hidden;
    z-index: 0;
  }
  .zero-home .ledger-journey { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ledger-lamp *, .ledger-lamp *::after, .ledger-journey__dots i, .ledger-journey::after { animation: none !important; }
  .ledger-lamp.is-on .ledger-lamp__lens::after { opacity: 0; }
  .ledger-lamp.is-on .ledger-lamp__core,
  .ledger-lamp.is-on .ledger-lamp__filament,
  .ledger-lamp.is-on .ledger-lamp__glow,
  .ledger-lamp.is-on .ledger-lamp__cone { opacity: 1; }
  .ledger-lamp__chips, .ledger-lamp__motes { display: none; }
  .ledger-journey__dots i { opacity: 1; transform: none; }
  .ledger-journey::after { transform: scaleX(1); }
}
