.de-entry-loader {
  position: fixed;
  z-index: 120;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  pointer-events: auto;
}

.de-entry-loader__panels {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background-color: #06120f;
  transition: background-color 140ms linear 70ms;
}

.de-entry-loader__panel {
  position: absolute;
  left: -12vw;
  width: 124vw;
  height: 84vh;
  background:
    radial-gradient(circle at 50% 50%, rgba(245, 181, 21, 0.09), transparent 24rem),
    linear-gradient(180deg, #071611 0%, #06120f 100%);
  will-change: transform;
}

.de-entry-loader__panel--top {
  top: -27vh;
  transform: rotate(-6deg) translate3d(0, 0, 0);
  transform-origin: center bottom;
}

.de-entry-loader__panel--bottom {
  bottom: -27vh;
  transform: rotate(-6deg) translate3d(0, 0, 0);
  transform-origin: center top;
}

.de-entry-loader__visual {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(78vw, 23rem);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 240ms ease,
    transform 360ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.de-entry-loader__mark-wrap {
  position: relative;
  width: clamp(5.2rem, 18vw, 7rem);
  aspect-ratio: 1;
  filter: drop-shadow(0 0 1.6rem rgba(245, 181, 21, 0.08));
}

.de-entry-loader__mark {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.de-entry-loader__mark--ghost {
  opacity: 0.11;
  filter: grayscale(1) brightness(2.6);
  transform: scale(0.965);
}

.de-entry-loader__mark--live {
  clip-path: inset(100% 0 0 0);
  opacity: 0;
  transform: scale(0.94) rotate(-1.5deg);
  animation: de-loader-mark-energize 760ms cubic-bezier(0.2, 0.72, 0.2, 1) 140ms forwards;
}

.de-entry-loader__spark {
  position: absolute;
  left: 13%;
  top: 77%;
  width: 1.15rem;
  height: 2px;
  border-radius: 999px;
  background: #ffd36c;
  box-shadow:
    0 0 0.7rem rgba(255, 198, 42, 0.95),
    0 0 1.35rem rgba(245, 181, 21, 0.68);
  opacity: 0;
  transform: rotate(-38deg) translate3d(0, 0, 0);
  animation: de-loader-spark 760ms cubic-bezier(0.2, 0.72, 0.2, 1) 165ms forwards;
}

.de-entry-loader__wordmark {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0.8rem;
  line-height: 1;
}

.de-entry-loader__name {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(1.24rem, 4.9vw, 1.7rem);
  font-weight: 700;
  letter-spacing: 0.44em;
  padding-left: 0.21em;
  opacity: 0;
  transform: translateY(0.5rem) scale(0.985);
  animation: de-loader-name-settle 560ms cubic-bezier(0.2, 0.72, 0.2, 1) 700ms forwards;
}

.de-entry-loader__trade {
  margin-top: 0.44rem;
  font-family: "DM Sans", sans-serif;
  font-size: clamp(0.7rem, 2.8vw, 0.86rem);
  font-weight: 700;
  letter-spacing: 0.42em;
  padding-left: 0.42em;
  color: #f5b515;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translateY(0.3rem);
  animation: de-loader-trade-reveal 480ms cubic-bezier(0.2, 0.72, 0.2, 1) 930ms forwards;
}

.de-entry-loader__energy-track {
  position: relative;
  width: min(100%, 18rem);
  height: 1px;
  margin-top: 1.45rem;
  overflow: visible;
  background: rgba(255, 255, 255, 0.075);
  opacity: 0;
  animation: de-loader-track-in 220ms ease 1320ms forwards;
}

.de-entry-loader__energy-line {
  position: absolute;
  inset: 0 auto 0 50%;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 0%, #f5b515 18%, #ffd86f 50%, #f5b515 82%, transparent 100%);
  box-shadow: 0 0 1.1rem rgba(245, 181, 21, 0.5);
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  animation: de-loader-energy-sweep 640ms cubic-bezier(0.2, 0.72, 0.2, 1) 1360ms forwards;
}

.de-entry-loader__cut-line {
  position: absolute;
  z-index: 4;
  left: -18vw;
  top: 50%;
  width: 136vw;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent 0%, #f5b515 13%, #ffd86f 48%, #f5b515 85%, transparent 100%);
  box-shadow:
    0 0 1.2rem rgba(245, 181, 21, 0.78),
    0 0 3rem rgba(245, 181, 21, 0.3);
  opacity: 0;
  transform: rotate(-6deg) scaleX(0.2);
  transform-origin: center;
  pointer-events: none;
}

.de-entry-loader__status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.de-entry-loader--exit .de-entry-loader__panels {
  background-color: transparent;
}

.de-entry-loader--exit .de-entry-loader__visual {
  opacity: 0;
  transform: scale(0.975);
}

.de-entry-loader--exit .de-entry-loader__panel--top {
  animation: de-loader-panel-top 720ms cubic-bezier(0.74, 0, 0.2, 1) forwards;
}

.de-entry-loader--exit .de-entry-loader__panel--bottom {
  animation: de-loader-panel-bottom 720ms cubic-bezier(0.74, 0, 0.2, 1) forwards;
}

.de-entry-loader--exit .de-entry-loader__cut-line {
  animation: de-loader-aperture-pulse 720ms cubic-bezier(0.32, 0.05, 0.18, 1) forwards;
}

@keyframes de-loader-mark-energize {
  0% {
    clip-path: inset(100% 0 0 0);
    opacity: 0;
    transform: scale(0.94) rotate(-1.5deg);
  }
  42% { opacity: 1; }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
    transform: scale(1) rotate(0deg);
    filter: drop-shadow(0 0 0.5rem rgba(245, 181, 21, 0.26));
  }
}

@keyframes de-loader-spark {
  0% {
    opacity: 0;
    transform: rotate(-38deg) translate3d(-0.7rem, 0.9rem, 0) scaleX(0.35);
  }
  16% { opacity: 1; }
  80% { opacity: 1; }
  100% {
    opacity: 0;
    transform: rotate(-38deg) translate3d(3.65rem, -4.35rem, 0) scaleX(1.45);
  }
}

@keyframes de-loader-name-settle {
  0% {
    opacity: 0;
    letter-spacing: 0.44em;
    transform: translateY(0.5rem) scale(0.985);
  }
  100% {
    opacity: 1;
    letter-spacing: 0.21em;
    transform: translateY(0) scale(1);
  }
}

@keyframes de-loader-trade-reveal {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translateY(0.3rem);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
  }
}

@keyframes de-loader-track-in { to { opacity: 1; } }

@keyframes de-loader-energy-sweep {
  0% { transform: translateX(-50%) scaleX(0); }
  62% { transform: translateX(-50%) scaleX(1); }
  100% { transform: translateX(-50%) scaleX(1.06); }
}

@keyframes de-loader-panel-top {
  0%, 7% { transform: rotate(-6deg) translate3d(0, 0, 0); }
  100% { transform: rotate(-6deg) translate3d(5vw, -125%, 0); }
}

@keyframes de-loader-panel-bottom {
  0%, 7% { transform: rotate(-6deg) translate3d(0, 0, 0); }
  100% { transform: rotate(-6deg) translate3d(-5vw, 125%, 0); }
}

@keyframes de-loader-aperture-pulse {
  0% { opacity: 0; transform: rotate(-6deg) scaleX(0.2); }
  12% { opacity: 1; transform: rotate(-6deg) scaleX(0.72); }
  55% { opacity: 1; transform: rotate(-6deg) scaleX(1.04); }
  100% { opacity: 0; transform: rotate(-6deg) scaleX(1.12); }
}

@media (max-width: 30rem) {
  .de-entry-loader__visual { width: min(76vw, 19rem); }
  .de-entry-loader__energy-track { margin-top: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .de-entry-loader__mark--live,
  .de-entry-loader__name,
  .de-entry-loader__trade,
  .de-entry-loader__energy-track,
  .de-entry-loader__energy-line { animation: none; }

  .de-entry-loader__mark--live {
    clip-path: inset(0);
    opacity: 1;
    transform: none;
  }

  .de-entry-loader__spark,
  .de-entry-loader__cut-line { display: none; }

  .de-entry-loader__name,
  .de-entry-loader__trade,
  .de-entry-loader__energy-track {
    opacity: 1;
    transform: none;
    clip-path: none;
  }

  .de-entry-loader__name { letter-spacing: 0.21em; }
  .de-entry-loader__energy-line { transform: translateX(-50%) scaleX(1); }

  .de-entry-loader--exit .de-entry-loader__visual {
    opacity: 0;
    transform: none;
    transition-duration: 120ms;
  }

  .de-entry-loader--exit .de-entry-loader__panel--top,
  .de-entry-loader--exit .de-entry-loader__panel--bottom {
    animation: de-loader-panel-fade 150ms linear forwards;
  }
}

@keyframes de-loader-panel-fade { to { opacity: 0; } }

/* Installed employee startup only; shared parser/React visual language. */
html[data-employee-pwa-boot],html[data-employee-pwa-boot] body{background:#071611}
.employee-pwa-welcome{position:fixed;inset:0;box-sizing:border-box;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;padding:max(24px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));background:#071611;color:#fffdf4;font-family:'DM Sans',system-ui,sans-serif;opacity:1;transition:opacity 180ms ease}
.employee-pwa-welcome[open],#employee-pwa-boot{display:flex;align-items:stretch;justify-content:center;overflow:auto}
#employee-pwa-boot{z-index:200}
.employee-pwa-welcome::backdrop{background:transparent}
.employee-pwa-welcome[data-leaving='true']{opacity:0}
.employee-pwa-welcome-content{width:min(100%,32rem);min-height:calc(100dvh - 48px);display:flex;flex-direction:column;text-align:left}
.employee-pwa-welcome[data-stage='splash'] .employee-pwa-welcome-content{justify-content:center;align-items:center}
.employee-pwa-welcome-lockup{display:flex;align-items:center;gap:12px;width:fit-content}
.employee-pwa-welcome-mark{display:block;width:60px;height:60px;object-fit:contain}
.employee-pwa-welcome-brand{margin:0;font-size:1.4rem;line-height:1.2;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.employee-pwa-welcome-brand span{display:block;color:#f5b515;font-size:.7rem;letter-spacing:.35em;margin-top:5px}
.employee-pwa-welcome[data-stage='welcome']{color:#173124;background:linear-gradient(180deg,#fffdf4 0%,#fffdf4 43%,#fff2ca 66%,#f5b515 100%)}
.employee-pwa-welcome[data-stage='welcome'] .employee-pwa-welcome-mark{width:36px;height:36px}
.employee-pwa-welcome[data-stage='welcome'] .employee-pwa-welcome-brand{font-size:.9rem}
.employee-pwa-welcome[data-stage='welcome'] .employee-pwa-welcome-brand span{font-size:.52rem;color:#846200}
.employee-pwa-welcome-message{margin-top:clamp(80px,17vh,150px)}
.employee-pwa-welcome h1{margin:0;font-family:'Space Grotesk','DM Sans',system-ui,sans-serif;font-size:clamp(2.4rem,11vw,3.5rem);font-weight:700;line-height:1.12;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;color:#173124}
.employee-pwa-welcome h1 span{display:block;min-height:1.12em;margin-top:10px}
.employee-pwa-welcome-copy{margin:20px 0 0;color:#52634f;font-size:1rem;line-height:1.5}
.employee-pwa-welcome-progress{display:grid;justify-items:center;gap:20px;margin-top:auto;padding-top:40px;padding-bottom:64px;font-size:.8rem;line-height:1.5;color:#31482f}
.employee-pwa-welcome-track{display:block;width:34px;height:34px;border:2px solid #17312430;border-top-color:#173124;border-right-color:#173124;border-radius:50%;animation:employee-welcome-spin 900ms linear infinite}
.employee-pwa-welcome button{margin-top:1.5rem;min-height:44px;padding:.75rem 1.5rem;border:1px solid #9aa98e;border-radius:14px;font-size:1rem;font-weight:700;background:#183d2c;color:#fffdf4}
.employee-pwa-welcome:focus{outline:0}
.employee-pwa-welcome button:focus-visible{outline:3px solid #f5b515;outline-offset:4px}
.employee-pwa-welcome-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes employee-welcome-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.employee-pwa-welcome{transition:none}.employee-pwa-welcome-track{animation:none}}
@media(max-height:560px){.employee-pwa-welcome-message{margin-top:32px}.employee-pwa-welcome-progress{padding-bottom:16px}.employee-pwa-welcome h1{font-size:2.2rem}}
