/* Loader original (INICIALIZANDO...) com a identidade nova */
.boot{--b-lime:#d5ff39;--b-dim:rgba(213,255,57,.4);color:var(--b-lime);overflow:hidden;
  background:radial-gradient(circle at 85% 10%,rgba(138,5,190,.13),transparent 28%),radial-gradient(circle at 10% 90%,rgba(53,243,255,.08),transparent 24%),#090909}
.boot:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
.boot-inner{position:relative;animation:bootIn .35s steps(5) both}
@keyframes bootIn{0%{opacity:0;transform:scaleY(.03)}60%{opacity:1;transform:scaleY(.03)}100%{transform:none}}
.boot-line{font-family:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;color:var(--b-dim)}
.boot-big{color:#f5f2e9;font-size:clamp(26px,4.4vw,58px);text-shadow:-3px 0 rgba(255,0,90,.45),3px 0 rgba(53,243,255,.45);animation:bootGlitch 1.4s steps(1,end) infinite}
.boot-big:after{content:"";display:inline-block;width:.32em;height:.78em;margin-left:.12em;vertical-align:-.04em;background:var(--b-lime);animation:bootBlink .5s steps(1) infinite}
@keyframes bootBlink{50%{opacity:0}}
@keyframes bootGlitch{0%,100%{clip-path:none;transform:none}8%{clip-path:inset(15% 0 55% 0);transform:translateX(-7px) skewX(-8deg)}12%{clip-path:inset(60% 0 8% 0);transform:translateX(6px)}16%{clip-path:none;transform:none}62%{clip-path:inset(35% 0 40% 0);transform:translateX(5px)}66%{clip-path:none;transform:none}}
.boot .progress{height:12px;background:transparent;border:1px solid var(--b-dim);padding:2px;position:relative;overflow:hidden}
.boot .progress i{position:relative;background:var(--b-lime)}
.boot .progress i:after{content:"";position:absolute;top:0;bottom:0;left:100%;width:60px;background:repeating-linear-gradient(-45deg,var(--b-lime) 0 3px,transparent 3px 7px)}
.boot.off{opacity:1;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.7,0,.3,1),visibility 0s .6s}
@media(prefers-reduced-motion:reduce){.boot-inner,.boot-big,.boot-big:after{animation:none}}
.boot .progress i{animation:load 2s cubic-bezier(.4,0,.2,1) forwards}
/* ===== Textura de TV antiga (CRT) por cima de tudo ===== */
.boot{animation:crtFlicker 3s steps(1,end) infinite}
@keyframes crtFlicker{0%,100%{filter:brightness(1)}12%{filter:brightness(1.08)}13%{filter:brightness(.92)}47%{filter:brightness(1.04)}48%{filter:brightness(.96)}81%{filter:brightness(1.1) contrast(1.05)}82%{filter:brightness(1)}}
/* scanlines + grade RGB */
.boot:before{z-index:3;background:
  repeating-linear-gradient(0deg,rgba(0,0,0,.42) 0 1px,transparent 1px 3px),
  repeating-linear-gradient(90deg,rgba(255,0,60,.06) 0 1px,rgba(0,255,90,.05) 1px 2px,rgba(40,120,255,.06) 2px 3px)}
/* vinheta + tela curva + faixa rolando */
.boot:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.55) 85%,rgba(0,0,0,.92) 100%);
  box-shadow:inset 0 0 120px rgba(0,0,0,.85),inset 0 0 18px rgba(213,255,57,.05)}
.boot .crt-roll{position:absolute;left:0;right:0;top:-30%;height:22%;z-index:3;pointer-events:none;
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.05) 45%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.05) 55%,transparent);
  animation:crtRoll 2.6s linear infinite}
@keyframes crtRoll{to{transform:translateY(600%)}}
/* chuvisco */
.boot .crt-noise{position:absolute;inset:-50%;z-index:3;pointer-events:none;opacity:.06;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:crtNoise .22s steps(4) infinite}
@keyframes crtNoise{0%{transform:translate(0,0)}25%{transform:translate(-7%,4%)}50%{transform:translate(5%,-6%)}75%{transform:translate(-3%,-3%)}100%{transform:translate(6%,5%)}}
/* leve borrão de fósforo no texto */
.boot-inner{z-index:2;filter:blur(.35px) drop-shadow(0 0 6px rgba(213,255,57,.18))}
@media(prefers-reduced-motion:reduce){.boot,.boot .crt-roll,.boot .crt-noise{animation:none}}
