/* ============================================================================
   LIGHTWORKS — real app loader, ported to the access layer.
   Faithful to the desk's 2/25 "Beam Reveal · SVG backdrop" boot:
   topographic contour rings, a travelling beam revealing LIGHTWORKS letter by
   letter, a growing underline, and a quiet state line. Institutional palette.
   ========================================================================= */
.boot{
  position:fixed;inset:0;z-index:100;overflow:hidden;
  background:
    radial-gradient(90% 70% at 50% 42%,rgba(198,164,81,.055),transparent 68%),
    radial-gradient(70% 60% at 8% 0%,rgba(21,29,40,.55),transparent 70%),
    var(--bg);
  transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease);
}
.boot::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(232,237,243,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(232,237,243,.018) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(78% 68% at 50% 45%,#000,transparent 88%);
}
.boot-topo{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5;
  -webkit-mask-image:radial-gradient(ellipse 62% 56% at 50% 44%,#000 0%,rgba(0,0,0,.6) 45%,transparent 86%);
  mask-image:radial-gradient(ellipse 62% 56% at 50% 44%,#000 0%,rgba(0,0,0,.6) 45%,transparent 86%);
}
.boot-topo .ln{
  stroke:var(--gold);stroke-dasharray:1;stroke-dashoffset:1;
  animation:topoDraw 3s linear forwards;
}
@keyframes topoDraw{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
#bootCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.boot-in{position:absolute;inset:0}

.boot-meta{
  position:absolute;top:clamp(22px,4vh,38px);left:clamp(22px,4vw,54px);right:clamp(22px,4vw,54px);
  display:flex;justify-content:space-between;align-items:center;
  color:var(--dim-2);font-family:var(--mono);font-size:8.5px;letter-spacing:.24em;
}
.boot-meta .secure{color:var(--gold)}
.boot-meta .secure .dot{width:4px;height:4px;margin-right:9px}
.lwboot-state{
  position:absolute;bottom:10%;left:50%;transform:translateX(-50%);
  color:var(--dim);font-family:var(--mono);font-size:9px;letter-spacing:.3em;
  text-transform:uppercase;white-space:nowrap;opacity:.75;
}
.boot-track{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hair)}
.boot-track i{
  display:block;height:1px;width:0%;
  background:linear-gradient(90deg,rgba(198,164,81,.2),var(--gold) 75%,var(--gold-2));
  box-shadow:0 0 12px rgba(198,164,81,.5);
  transition:width .12s linear;
}
.boot.is-leaving{opacity:0;filter:blur(12px);transform:scale(1.02);pointer-events:none}
@media (max-width:600px){
  .boot-meta{font-size:7px;letter-spacing:.16em}
  .boot-meta span:last-child{display:none}
  .lwboot-state{font-size:8px;letter-spacing:.2em}
}
@media (prefers-reduced-motion:reduce){
  .boot-topo .ln{animation:none;stroke-dashoffset:0;opacity:1}
}
