/* ============================================================
   TRANSITION OVERLAY — «станок работает» при переходе по страницам
   ============================================================ */
.tr-overlay{
  position:fixed;inset:0;z-index:9999;display:none;
  background:rgba(7,8,10,.97);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  flex-direction:column;
  font-family:Consolas,Menlo,monospace;
  color:var(--steel,#9AA4AE);
}
.tr-overlay.show{display:flex;animation:tr-fade .18s ease}
@keyframes tr-fade{from{opacity:0}to{opacity:1}}

.tr-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(18px,3vw,40px);
  border-bottom:1px solid var(--line,#262B31);
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}
.tr-file{display:flex;align-items:center;gap:10px}
.tr-file i{
  width:7px;height:7px;background:var(--amber,#FF7A00);rotate:45deg;
}
.tr-run{
  display:flex;align-items:center;gap:8px;
  color:var(--amber,#FF7A00);
}
.tr-run b{
  width:7px;height:7px;border-radius:50%;background:var(--amber,#FF7A00);
  animation:tr-blink .5s steps(1) infinite;
}
@keyframes tr-blink{50%{opacity:0}}

.tr-term{
  flex:1;overflow:hidden;position:relative;
  padding:18px clamp(18px,3vw,40px);
  line-height:1.65;font-size:clamp(12px,1.15vw,14px);
}
.tr-term::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px);
}
.tr-l{white-space:pre;opacity:0;transform:translateY(2px);animation:tr-line .12s ease forwards}
@keyframes tr-line{to{opacity:1;transform:none}}
.tr-l .c{color:var(--amber,#FF7A00)}
.tr-l .r{color:var(--teal,#12B8A6)}
.tr-l .d{color:rgba(122,133,145,.45)}
.tr-l .w{color:#E8EDF1}

.tr-caret{
  display:inline-block;width:9px;height:16px;background:var(--amber,#FF7A00);
  animation:tr-caret .7s steps(1) infinite;vertical-align:-2px;
}
@keyframes tr-caret{50%{opacity:0}}

.tr-foot{
  padding:14px clamp(18px,3vw,40px);
  border-top:1px solid var(--line,#262B31);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;
}
.tr-prog{font-size:13px;letter-spacing:.1em;color:var(--chalk-hi,#E8EDF1)}
.tr-prog em{font-style:normal;color:var(--amber,#FF7A00)}
.tr-bar{
  height:3px;background:var(--line,#262B31);overflow:hidden;position:relative;
}
.tr-bar i{
  position:absolute;left:0;top:0;bottom:0;width:0%;
  background:linear-gradient(90deg,var(--teal,#12B8A6),var(--amber,#FF7A00));
  box-shadow:0 0 12px var(--amber,#FF7A00);
  transition:width .05s linear;
}
.tr-pct{font-size:13px;letter-spacing:.08em;min-width:3ch;text-align:right}