/*
 * MDesk — animação de abertura (splash) da tela de login.
 * Usada só em index.php; escopo isolado dos tokens gerais do ds-tokens.css
 * (variáveis prefixadas --intro- para nunca colidir com --md-*).
 */
:root{
  --intro-bg:#04070c;
  --intro-bg2:#07101b;
  --intro-gold:#f5b91f;
  --intro-gold2:#ffe69a;
  --intro-silver:#f2f4f7;
  --intro-muted:#8f99a7;
}
body.mdesk-loading{ overflow:hidden; }
body.mdesk-loading .md-auth-page,
body.mdesk-revealing .md-auth-page{
  display:block;
  min-height:100vh;
  transform-origin:center;
  will-change:filter,transform,opacity;
}
body.mdesk-loading .md-auth-page{ filter:blur(15px) brightness(.48); transform:scale(1.025); opacity:.74; }
body.mdesk-revealing .md-auth-page{
  filter:blur(0) brightness(1); transform:scale(1); opacity:1;
  transition:filter 1.05s cubic-bezier(.22,1,.36,1), transform 1.25s cubic-bezier(.22,1,.36,1), opacity .75s ease;
}
body.mdesk-loading .md-auth-right{ opacity:0; transform:translateY(30px) scale(.975); }
body.mdesk-loading .md-auth-left{ opacity:0; transform:translateY(18px); }
body.mdesk-revealing .md-auth-right,
body.mdesk-revealing .md-auth-left{
  opacity:1; transform:none;
  transition:opacity .9s ease .08s, transform 1.08s cubic-bezier(.22,1,.36,1) .08s;
}

#mdesk-morya-intro{
  position:fixed; inset:0; z-index:2147483000; overflow:hidden;
  background:
    radial-gradient(55% 42% at 50% 34%,rgba(34,53,78,.36),transparent 72%),
    radial-gradient(40% 28% at 50% 84%,rgba(245,185,31,.10),transparent 72%),
    linear-gradient(180deg,#04070c 0%,#07101a 51%,#03060a 100%);
  color:#f7f8fa; font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  isolation:isolate; opacity:1; transform:scale(1); will-change:opacity,transform,filter;
}
#mdesk-morya-intro::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.22;
  background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:68px 68px;
  -webkit-mask-image:radial-gradient(circle at 50% 55%,#000 0%,transparent 78%);
  mask-image:radial-gradient(circle at 50% 55%,#000 0%,transparent 78%);
}
#mdesk-morya-intro.mdesk-out{
  opacity:0; transform:scale(1.035); filter:blur(7px);
  transition:opacity .82s ease, transform 1.1s cubic-bezier(.22,1,.36,1), filter .82s ease;
  pointer-events:none;
}
.md-vignette{ position:absolute; inset:-10%; pointer-events:none; background:radial-gradient(circle at center,transparent 48%,rgba(0,0,0,.78) 96%); z-index:20; }
.md-halo{ position:absolute; left:50%; top:45%; width:620px; height:350px; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(ellipse,rgba(245,185,31,.13),transparent 67%); filter:blur(22px); opacity:0; }
.md-rings{ position:absolute; left:50%; bottom:-300px; width:1080px; height:640px; transform:translateX(-50%) rotateX(68deg); transform-origin:center; border-radius:50%; border:1px solid rgba(245,185,31,.15); box-shadow:0 0 0 48px rgba(245,185,31,.032),0 0 0 104px rgba(245,185,31,.024),0 0 0 172px rgba(245,185,31,.016); opacity:0; }
.md-rings::after{ content:""; position:absolute; inset:112px; border-radius:50%; border:1px solid rgba(255,255,255,.045); }
.md-particle{ position:absolute; width:3px; height:3px; border-radius:50%; background:var(--intro-gold); box-shadow:0 0 11px rgba(245,185,31,.82); opacity:0; }
.md-skip{ position:absolute; right:26px; top:22px; border:1px solid rgba(255,255,255,.13); background:rgba(0,0,0,.2); color:#8f99a7; padding:9px 14px; border-radius:999px; font:500 11px/1 'Inter',sans-serif; letter-spacing:.13em; text-transform:uppercase; z-index:30; cursor:pointer; opacity:.76; backdrop-filter:blur(8px); }
.md-skip:hover{ color:#fff; border-color:rgba(245,185,31,.48); }
.md-logo-group{ position:absolute; left:50%; top:48%; width:540px; height:170px; transform:translate(-50%,-50%); transform-style:preserve-3d; perspective:1000px; z-index:5; }
.md-mark{ position:absolute; left:0; top:0; width:160px; height:160px; transform-style:preserve-3d; }
.md-module{ position:absolute; width:70px; height:70px; border-radius:20px; background:linear-gradient(145deg,#ffe99b 0%,#e5ab24 32%,#75500e 72%,#f8cc57 100%); padding:4px; box-shadow:0 15px 35px rgba(0,0,0,.58),0 0 26px rgba(245,185,31,.24); transform-style:preserve-3d; opacity:0; }
.md-module::before{ content:""; display:block; width:100%; height:100%; border-radius:16px; background:linear-gradient(145deg,#121b29,#04070c 72%); box-shadow:inset 0 2px 8px rgba(255,255,255,.13),inset 0 -8px 18px rgba(0,0,0,.72); }
.md-module::after{ content:""; position:absolute; inset:1px; border-radius:19px; border:1px solid rgba(255,244,186,.34); pointer-events:none; }
.md-m1{ left:0; top:0; } .md-m2{ left:88px; top:0; } .md-m3{ left:0; top:88px; } .md-m4{ left:88px; top:88px; }
.md-wordmark{ position:absolute; left:198px; top:45px; display:flex; gap:18px; align-items:center; perspective:900px; }
.md-letter{ font-size:68px; font-weight:500; line-height:1; letter-spacing:.02em; color:transparent; background:linear-gradient(180deg,#fff 0%,#aeb5bf 48%,#f8fafc 64%,#77818e 100%); -webkit-background-clip:text; background-clip:text; filter:drop-shadow(0 12px 18px rgba(0,0,0,.45)); opacity:0; transform-origin:center; }
.md-letter:first-child{ background:linear-gradient(180deg,#fff1a5 0%,#e3ad2c 50%,#85590f 100%); -webkit-background-clip:text; background-clip:text; }
.md-shine{ position:absolute; left:-120px; top:-20px; width:90px; height:210px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent); transform:skewX(-18deg); filter:blur(5px); opacity:0; pointer-events:none; mix-blend-mode:screen; }
.md-system{ position:absolute; left:50%; top:67%; transform:translate(-50%,-50%); width:620px; text-align:center; z-index:6; opacity:0; }
.md-progress-track{ position:relative; margin:0 auto; width:470px; height:2px; background:rgba(255,255,255,.08); border-radius:20px; }
.md-progress-fill{ position:absolute; left:0; top:0; height:2px; width:0; background:linear-gradient(90deg,#75500e,#edbd46,#fff0a8); box-shadow:0 0 14px rgba(245,185,31,.76); border-radius:20px; }
.md-progress-dot{ position:absolute; top:50%; left:0; width:8px; height:8px; border-radius:50%; background:#fff3b8; box-shadow:0 0 18px 5px rgba(245,185,31,.55); transform:translate(-50%,-50%); }
.md-status{ margin-top:22px; font-size:13px; letter-spacing:.22em; text-transform:uppercase; color:#aab3c0; min-height:18px; }
.md-status strong{ color:#f2c452; font-weight:500; }
.md-client{ position:absolute; left:50%; top:75%; transform:translate(-50%,12px); display:flex; align-items:center; gap:13px; padding:10px 17px; border:1px solid rgba(245,185,31,.22); border-radius:999px; background:rgba(4,8,14,.45); backdrop-filter:blur(10px); opacity:0; z-index:7; color:#8792a1; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.md-client strong{ color:#f4c750; font-weight:600; letter-spacing:.21em; }
.md-client-dot{ width:6px; height:6px; border-radius:50%; background:#f5b91f; box-shadow:0 0 12px rgba(245,185,31,.8); }
.md-footer{ position:absolute; left:50%; bottom:38px; transform:translateX(-50%); display:flex; align-items:center; gap:12px; color:#7d8794; font-size:13px; opacity:0; z-index:7; }
.md-move-mark{ display:inline-grid; grid-template-columns:repeat(2,8px); gap:2px; transform:rotate(45deg); margin:0 3px; }
.md-move-mark i{ width:8px; height:8px; border:2px solid #e4b647; border-radius:2px; display:block; }
.md-move-name{ color:#e8bc4f; letter-spacing:.22em; font-weight:650; }
@media (max-width:760px){
  .md-logo-group{ width:360px; height:120px; } .md-mark{ width:112px; height:112px; }
  .md-module{ width:50px; height:50px; border-radius:14px; padding:3px; } .md-module::before{ border-radius:11px; }
  .md-m2,.md-m4{ left:62px; } .md-m3,.md-m4{ top:62px; }
  .md-wordmark{ left:140px; top:32px; gap:10px; } .md-letter{ font-size:44px; }
  .md-system{ width:92vw; } .md-progress-track{ width:min(76vw,420px); } .md-client{ top:72%; }
}
@media (prefers-reduced-motion:reduce){ .md-skip{ display:none; } }
