:root{--mt-bg:#06140f;--mt-bg2:#0e2c21;--mt-ink:#f6fff9;--mt-muted:#b8d5c6;--mt-accent:#9cedaa;--mt-gold:#f2d28a;--mt-gold2:#c99632;--mt-rose:#ff6f8e;--mt-track:#ffffff14;--mt-glass:#ffffff0d;--mt-border:#ffffff1f}
.vf-maintenance-open{overflow:hidden}
.vf-maintenance{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:28px 20px;background:radial-gradient(120% 80% at 50% 0%,var(--mt-bg2),var(--mt-bg) 70%);color:var(--mt-ink);font-family:-apple-system,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;box-sizing:border-box;overflow:auto;isolation:isolate;animation:vf-mt-in .9s cubic-bezier(.2,.8,.2,1) both}
.vf-maintenance::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(circle at 50% 35%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 35%,#000 20%,transparent 75%);animation:vf-mt-grid 18s linear infinite;pointer-events:none}
.vf-maintenance-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.vf-aurora{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(70px);opacity:.35;mix-blend-mode:screen;animation:vf-mt-aur 16s ease-in-out infinite alternate}
.vf-aurora.a1{background:#1fa36b;left:-30vmax;top:-30vmax}.vf-aurora.a2{background:#c99632;right:-35vmax;top:10vmax;animation-duration:20s;opacity:.22}.vf-aurora.a3{background:#2b6cff;left:-10vmax;bottom:-45vmax;animation-duration:24s;opacity:.18}
.vf-maintenance-fx b{position:absolute;left:var(--x);bottom:-30px;width:6px;height:6px;border-radius:50%;background:var(--mt-gold);box-shadow:0 0 12px var(--mt-gold);opacity:0;transform:scale(var(--s));animation:vf-mt-rise var(--d) linear var(--w) infinite;color:var(--mt-rose);font-size:14px;line-height:6px;text-indent:-4px}
.vf-maintenance-fx b:not(:empty){background:none;box-shadow:none;text-shadow:0 0 10px var(--mt-rose)}
.vf-maintenance-box{width:100%;max-width:440px;text-align:center;box-sizing:border-box;position:relative;padding:26px 22px 24px;border-radius:30px;background:linear-gradient(160deg,#ffffff12,#ffffff04);border:1px solid var(--mt-border);box-shadow:0 30px 80px #000a,inset 0 1px 0 #ffffff26;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.vf-maintenance-box::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--vf-ang,0deg),transparent 0 70%,var(--mt-gold) 80%,var(--mt-accent) 88%,transparent 95%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:vf-mt-border 6s linear infinite;pointer-events:none}
@property --vf-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.vf-maintenance-brand span{font-size:20px;font-weight:900;letter-spacing:.32em;padding-left:.32em;background:linear-gradient(90deg,var(--mt-accent),#fff,var(--mt-gold),var(--mt-accent));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vf-mt-sheen 5s linear infinite;filter:drop-shadow(0 0 14px #9cedaa55)}
.vf-maintenance-art{position:relative;width:230px;height:230px;margin:6px auto 0}
.vf-maint-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 18px 30px #0008)}
.vf-maint-svg *{transform-box:fill-box}
.vf-halo{animation:vf-mt-pulse 3.6s ease-in-out infinite;transform-origin:center}
.vf-orbit{transform-origin:130px 150px;transform-box:view-box}.vf-orbit.o1{animation:vf-mt-tilt 9s ease-in-out infinite}.vf-orbit.o2{animation:vf-mt-tilt 7s ease-in-out infinite reverse}
.vf-spark{filter:drop-shadow(0 0 6px currentColor);animation:vf-mt-blink 1.6s ease-in-out infinite}
.vf-bottle{transform-origin:center bottom;animation:vf-mt-bottle 4.5s cubic-bezier(.45,0,.55,1) infinite}
.vf-shadow{transform-origin:center;animation:vf-mt-shadow 4.5s cubic-bezier(.45,0,.55,1) infinite}
.vf-wave{animation:vf-mt-wave 2.8s linear infinite}
.vf-bub{animation:vf-mt-bub 3s ease-in infinite}.vf-bub.b2{animation-delay:1s}.vf-bub.b3{animation-delay:2s}
.vf-shine{animation:vf-mt-shine 3.8s ease-in-out infinite}
.vf-heart{transform-origin:center;animation:vf-mt-beat 1.2s ease-in-out infinite;filter:drop-shadow(0 0 6px #ff6f8e)}
.vf-g.g1{animation:vf-mt-spin 8s linear infinite}.vf-g.g2{animation:vf-mt-spin 5s linear infinite reverse}.vf-g.g3{animation:vf-mt-spin 6s linear infinite reverse}
.vf-g{transform-box:view-box}
.vf-wrench{transform-origin:74px 130px;transform-box:view-box;animation:vf-mt-wrench 2.4s ease-in-out infinite}
.vf-twinkles path{transform-origin:center;animation:vf-mt-twinkle 2.2s ease-in-out infinite}.vf-twinkles path+path{animation-delay:1.1s}
.vf-maintenance-tag{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:6px 14px;border-radius:99px;background:#f2d28a14;border:1px solid #f2d28a40;font-size:11px;letter-spacing:.14em;color:var(--mt-gold);font-weight:800}
.vf-maintenance-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mt-gold);box-shadow:0 0 0 0 #f2d28a99;animation:vf-mt-ping 1.6s ease-out infinite}
.vf-maintenance h2{margin:14px 0 10px;font-size:32px;line-height:1.15;font-weight:900;letter-spacing:-.01em;overflow-wrap:anywhere;background:linear-gradient(180deg,#fff,#cfe9db);-webkit-background-clip:text;background-clip:text;color:transparent}
.vf-maintenance p{margin:0;color:var(--mt-muted);font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-height:24dvh;overflow:auto;mask-image:linear-gradient(#000 85%,transparent);-webkit-mask-image:linear-gradient(#000 85%,transparent)}
.vf-maintenance strong{display:block;margin-top:22px;font-size:56px;font-weight:900;letter-spacing:.02em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff 30%,var(--mt-gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px #f2d28a40);animation:vf-mt-glow 2s ease-in-out infinite}
.vf-maintenance small{display:block;font-size:12px;letter-spacing:.06em;color:var(--mt-muted);margin-top:4px}
.vf-maintenance-progress{position:relative;width:82%;height:8px;margin:20px auto 0;border-radius:99px;background:var(--mt-track);overflow:hidden;box-shadow:inset 0 1px 2px #0008}
.vf-maintenance-progress::before{content:"";position:absolute;inset:0;width:calc(var(--vf-p,0)*100%);border-radius:inherit;background:linear-gradient(90deg,var(--mt-accent),var(--mt-gold));box-shadow:0 0 14px var(--mt-accent);transition:width .25s linear}
.vf-maintenance-progress::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff70,transparent);width:40%;animation:vf-mt-run 2s ease-in-out infinite}
.vf-maintenance progress{position:absolute;opacity:0;width:1px;height:1px}
@keyframes vf-mt-in{from{opacity:0;transform:scale(1.04)}}
@keyframes vf-mt-grid{to{background-position:56px 56px}}
@keyframes vf-mt-aur{to{transform:translate(12vmax,8vmax) scale(1.15)}}
@keyframes vf-mt-rise{0%{opacity:0;transform:translateY(0) scale(var(--s))}10%{opacity:.9}100%{opacity:0;transform:translateY(-110vh) translateX(30px) scale(var(--s))}}
@keyframes vf-mt-border{to{--vf-ang:360deg}}
@keyframes vf-mt-sheen{to{background-position:300% 0}}
@keyframes vf-mt-pulse{50%{transform:scale(1.08);opacity:.7}}
@keyframes vf-mt-tilt{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes vf-mt-blink{50%{opacity:.35}}
@keyframes vf-mt-bottle{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-12px) rotate(7deg)}}
@keyframes vf-mt-shadow{0%,100%{transform:scaleX(1);opacity:.35}50%{transform:scaleX(.8);opacity:.2}}
@keyframes vf-mt-wave{to{transform:translateX(-80px)}}
@keyframes vf-mt-bub{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-55px);opacity:0}}
@keyframes vf-mt-shine{0%,30%{transform:skewX(-18deg) translateX(0)}70%,100%{transform:skewX(-18deg) translateX(130px)}}
@keyframes vf-mt-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.2)}30%{transform:scale(.95)}45%{transform:scale(1.12)}}
@keyframes vf-mt-spin{to{transform:rotate(360deg)}}
@keyframes vf-mt-wrench{0%,100%{transform:rotate(0)}50%{transform:rotate(-28deg)}}
@keyframes vf-mt-twinkle{0%,100%{transform:scale(.4) rotate(0);opacity:.3}50%{transform:scale(1.15) rotate(45deg);opacity:1}}
@keyframes vf-mt-ping{to{box-shadow:0 0 0 10px #f2d28a00}}
@keyframes vf-mt-glow{50%{filter:drop-shadow(0 0 28px #f2d28a70)}}
@keyframes vf-mt-run{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
@media(prefers-reduced-motion:reduce){.vf-maintenance *,.vf-maintenance *::before,.vf-maintenance *::after{animation:none!important}}
@media(max-height:720px){.vf-maintenance{padding:14px}.vf-maintenance-art{width:170px;height:170px}.vf-maintenance strong{margin-top:14px;font-size:44px}.vf-maintenance h2{font-size:25px}}
