/* ============================================================
   MisterMELI 2.0 — TEMA CENTRAL (identidade oumais.dev)
   Preto + branco + verde neon. Modo noturno (padrao) e modo dia.
   Toda tela do sistema herda destas variaveis.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700;800&family=Ubuntu+Mono:wght@400;700&family=VT323&display=swap');

/* ---------- MODO NOTURNO (padrao — a cara do oumais.dev) ---------- */
:root,
:root[data-theme="dark"] {
  --verde:        #84E61C;   /* verde neon da marca */
  --verde-claro:  #A6FF3A;
  --verde-escuro: #5CB80E;
  --verde-rgb:    132,230,28;
  --glow:         0 0 18px rgba(var(--verde-rgb),.45);

  --bg:        #000000;
  --bg-2:      #0a0d0a;
  --surface:   #0e120e;
  --surface-2: #20271f;
  --borda:     rgba(255,255,255,.09);
  --texto:     #ffffff;
  --texto-dim: #97a397;
  --texto-fraco:#5f6b5f;

  --btn-bg:    var(--verde);
  --btn-txt:   #06140a;

  --erro:  #ff5b5b;
  --pos:     #33cc44;   /* verde POSITIVO — fixo, NÃO muda com o tema */
  --pos-rgb: 51,204,68;
  --neg:     #ff5b5b;   /* vermelho NEGATIVO — fixo */
  --neg-rgb: 255,91,91;
  --ok:    var(--verde);
  --aviso: #ffb23e;

  --sombra: 0 8px 30px rgba(0,0,0,.55);
  --raio: 14px;
}

/* ---------- MODO DIA ---------- */
:root[data-theme="light"] {
  --verde:        #4FA80A;   /* verde mais fechado, legivel no branco */
  --verde-claro:  #6cc41f;
  --verde-escuro: #3c7e08;
  --verde-rgb:    79,168,10;
  --glow:         0 0 14px rgba(var(--verde-rgb),.28);

  --bg:        #eef1ee;
  --bg-2:      #e3e7e3;
  --surface:   #ffffff;
  --surface-2: #f5f7f5;
  --borda:     rgba(0,0,0,.10);
  --texto:     #131813;
  --texto-dim: #5a655a;
  --texto-fraco:#9aa39a;

  --btn-bg:    var(--verde);
  --btn-txt:   #ffffff;

  --erro:  #c0392b;
  --pos:     #1f9d2f;
  --pos-rgb: 31,157,47;
  --neg:     #c0392b;
  --neg-rgb: 192,57,43;
  --ok:    var(--verde-escuro);
  --aviso: #b9770f;

  --sombra: 0 6px 22px rgba(0,0,0,.10);
  --raio: 14px;
}

/* ---------- TEMA LINUX (terminal rodando: verde + azul, monospace, CRT) ---------- */
:root[data-theme="linux"] {
  --verde:        #2EE65A;   /* verde de terminal (prompt) */
  --verde-claro:  #5BFF82;
  --verde-escuro: #18A33C;
  --verde-rgb:    46,230,90;
  --glow:         0 0 12px rgba(var(--verde-rgb),.55);

  --bg:        #020503;      /* preto quase absoluto */
  --bg-2:      #050a06;
  --surface:   #07100a;
  --surface-2: #0c1a11;
  --borda:     rgba(46,230,90,.22);   /* linhas esverdeadas tipo grid CRT */
  --texto:     #c9ffd6;      /* fosforo verde claro */
  --texto-dim: #6fb585;      /* azulado-esverdeado fraco */
  --texto-fraco:#3f7a54;

  --btn-bg:    var(--verde);
  --btn-txt:   #021006;

  --erro:  #ff5b5b;
  --pos:     #2EE65A;
  --pos-rgb: 46,230,90;
  --neg:     #ff5b5b;
  --neg-rgb: 255,91,91;
  --ok:    var(--verde);
  --aviso: #ffd866;

  /* acento secundario AZUL de terminal — usado em focos e detalhes */
  --azul-term:     #4FB8FF;
  --azul-term-rgb: 79,184,255;

  --sombra: 0 0 0 1px rgba(46,230,90,.10), 0 0 22px rgba(0,0,0,.7);
  --raio: 4px;               /* cantos quase retos */
}
:root[data-theme="linux"] html,
:root[data-theme="linux"] body {
  font-family: 'Ubuntu Mono', 'JetBrains Mono', ui-monospace, monospace !important;
}
/* tudo monoespaçado + brilho fosforo sutil no texto (look CRT) */
[data-theme="linux"] body {
  text-shadow: 0 0 1px rgba(var(--verde-rgb),.25);
}
[data-theme="linux"] *,
[data-theme="linux"] input,
[data-theme="linux"] select,
[data-theme="linux"] textarea,
[data-theme="linux"] button {
  font-family: 'Ubuntu Mono', 'JetBrains Mono', ui-monospace, monospace !important;
}
/* acento secundario azul: foco dos inputs vira azul terminal */
[data-theme="linux"] input:focus,
[data-theme="linux"] select:focus,
[data-theme="linux"] textarea:focus {
  border-color: var(--azul-term) !important;
  box-shadow: 0 0 0 3px rgba(var(--azul-term-rgb),.20) !important;
}
[data-theme="linux"] .btn-ghost:hover { border-color: var(--azul-term); color: var(--azul-term); }
[data-theme="linux"] a:hover { color: var(--azul-term); }
/* leve varredura/scanline CRT no fundo da pagina */
[data-theme="linux"] body::before {
  content: ""; position: fixed; inset: 0; z-index: 9999; pointer-events: none;
  background: repeating-linear-gradient(
    to bottom, rgba(0,0,0,0) 0, rgba(0,0,0,0) 2px, rgba(0,0,0,.10) 3px, rgba(0,0,0,0) 4px);
  mix-blend-mode: overlay; opacity:.5;
}

/* ---------- TEMA DOS (MS-DOS: preto/branco/cinza, quadradão, sem brilho) ---------- */
:root[data-theme="dos"] {
  --verde:        #e8e8e8;   /* "acento" = branco/cinza claro (sem cor) */
  --verde-claro:  #ffffff;
  --verde-escuro: #b8b8b8;
  --verde-rgb:    232,232,232;
  --glow:         none;

  --bg:        #000000;
  --bg-2:      #000000;
  --surface:   #0a0a0a;
  --surface-2: #141414;
  --borda:     #c8c8c8;       /* borda branca dura */
  --texto:     #e8e8e8;
  --texto-dim: #a8a8a8;
  --texto-fraco:#707070;

  --btn-bg:    #e8e8e8;
  --btn-txt:   #000000;

  --erro:  #ffffff;
  --pos:     #ffffff;
  --pos-rgb: 255,255,255;
  --neg:     #bdbdbd;
  --neg-rgb: 189,189,189;
  --ok:    #ffffff;
  --aviso: #ffffff;

  --sombra: none;
  --raio: 0px;               /* tudo quadrado */
}
:root[data-theme="dos"] html,
:root[data-theme="dos"] body {
  font-family: 'VT323', 'JetBrains Mono', ui-monospace, monospace !important;
}
/* zera todo arredondamento, sombra e glow — cara de terminal antigo */
[data-theme="dos"] *,
[data-theme="dos"] *::before,
[data-theme="dos"] *::after {
  box-shadow: none !important;
  border-radius: 0 !important;
  text-shadow: none !important;
  font-family: 'VT323', 'JetBrains Mono', ui-monospace, monospace !important;
}
[data-theme="dos"] .card,
[data-theme="dos"] input,
[data-theme="dos"] select,
[data-theme="dos"] textarea,
[data-theme="dos"] .topbar { border-color: #c8c8c8 !important; }
[data-theme="dos"] input:focus,
[data-theme="dos"] select:focus,
[data-theme="dos"] textarea:focus {
  border-color: #ffffff !important; box-shadow: none !important;
  outline: 1px solid #ffffff !important;
}
[data-theme="dos"] .btn { border: 1px solid #ffffff; }
[data-theme="dos"] .btn-ghost:hover { border-color: #ffffff; color: #ffffff; }
[data-theme="dos"] a:hover { color: #ffffff; text-decoration: underline; }
/* cursor de bloco piscando ao lado da marca, tipo prompt DOS */
[data-theme="dos"] .topbar .marca b::after,
[data-theme="dos"] .topbar .marca::after {
  content: "_"; color: #e8e8e8; font-weight: 700;
  animation: dos-blink 1s steps(1) infinite; margin-left: 2px;
}
@keyframes dos-blink { 50% { opacity: 0; } }

* { box-sizing: border-box; }

html, body {
  margin: 0;
  background: var(--bg);
  color: var(--texto);
  font-family: 'JetBrains Mono', ui-monospace, 'Cascadia Code', Menlo, monospace;
  transition: background .25s ease, color .25s ease;
}

a { color: var(--verde); text-decoration: none; }
code, .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* ---------- marca / logo ---------- */
.mm-mark { width: 1em; height: 1em; display: inline-block; vertical-align: -.15em; }
.mm-mark .plus { fill: var(--verde); }

/* badge preto que segura o logo PNG (mantem a marca sempre no fundo preto dela) */
.mm-logo-badge {
  background: #000; border-radius: 16px; padding: 10px;
  display: inline-flex; box-shadow: var(--glow);
}
.mm-logo-badge img { display: block; }

.mm-glow { filter: drop-shadow(var(--glow)); }

/* ---------- botoes ---------- */
.btn {
  font: inherit; font-weight: 600; cursor: pointer;
  background: var(--btn-bg); color: var(--btn-txt);
  border: 0; border-radius: 10px; padding: 11px 18px;
  box-shadow: var(--glow);
  transition: transform .08s ease, filter .15s ease;
}
.btn:hover { filter: brightness(1.08); }
.btn:active { transform: translateY(1px); }
.btn-ghost {
  background: transparent; color: var(--texto);
  border: 1px solid var(--borda); box-shadow: none;
}
.btn-ghost:hover { border-color: var(--verde); color: var(--verde); }

/* ---------- cards / superficies ---------- */
.card {
  background: var(--surface);
  border: 1px solid var(--borda);
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  padding: 20px;
}
.card-verde { border-color: rgba(var(--verde-rgb),.35); }

/* ---------- inputs ---------- */
label { display:block; font-size:12px; color:var(--texto-dim); margin:12px 0 5px; font-weight:500; }
input, select, textarea {
  width: 100%; padding: 11px 12px;
  background: var(--surface-2); color: var(--texto);
  border: 1px solid var(--borda); border-radius: 9px;
  font: inherit; outline: none; transition: border-color .15s ease, box-shadow .15s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--verde); box-shadow: 0 0 0 3px rgba(var(--verde-rgb),.15);
}

/* ---------- pills / status ---------- */
.pill { display:inline-block; padding:3px 11px; border-radius:20px; font-size:12px; font-weight:700; }
.pill.ok  { background: rgba(var(--verde-rgb),.16); color: var(--verde); }
.pill.bad { background: rgba(255,91,91,.16); color: var(--erro); }

/* ---------- cabecalho do app ---------- */
.topbar {
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 22px; background: var(--bg-2);
  border-bottom: 1px solid var(--borda); position: sticky; top:0; z-index: 10;
}
.topbar .marca { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.3px; }
.topbar .marca .mm-mark { width: 30px; height: 30px; }
.topbar .marca b span { color: var(--verde); }

/* ---------- toggle dia/noite ---------- */
.tema-toggle {
  width: 42px; height: 42px; border-radius: 11px; cursor:pointer;
  background: var(--surface); border: 1px solid var(--borda); color: var(--texto);
  display:grid; place-items:center; font-size:18px; transition: border-color .15s;
}
.tema-toggle:hover { border-color: var(--verde); }

/* ---------- marca d'agua de fundo (logo gigante e fraco) ---------- */
.mm-watermark {
  position: fixed; right: -60px; bottom: -60px; width: 420px; height: 420px;
  color: var(--texto); opacity: .035; pointer-events: none; z-index: 0;
}
:root[data-theme="dark"] .mm-watermark { opacity: .045; }

/* ---------- spinner de circuito ---------- */
.mm-spinner { width: 54px; height: 54px; animation: mm-pulse 1.4s ease-in-out infinite; }
@keyframes mm-pulse {
  0%,100% { filter: drop-shadow(0 0 4px rgba(var(--verde-rgb),.3)); opacity:.7; transform: scale(.96); }
  50%     { filter: drop-shadow(0 0 16px rgba(var(--verde-rgb),.7)); opacity:1; transform: scale(1.04); }
}

/* ---------- rodape powered by ---------- */
.mm-powered { display:flex; align-items:center; gap:7px; color: var(--texto-fraco); font-size:12px; }
.mm-powered b { color: var(--texto-dim); }
.mm-powered b span { color: var(--verde); }

/* ===================== FONTES dos temas terminais/retro ===================== */
[data-theme="linux"] html, [data-theme="linux"] body, [data-theme="linux"] *,
[data-theme="linux"] input, [data-theme="linux"] select, [data-theme="linux"] textarea, [data-theme="linux"] button {
  font-family: 'Ubuntu Mono', 'JetBrains Mono', ui-monospace, monospace !important;
}
[data-theme="dos"] html, [data-theme="dos"] body, [data-theme="dos"] *,
[data-theme="dos"] input, [data-theme="dos"] select, [data-theme="dos"] textarea, [data-theme="dos"] button {
  font-family: 'VT323', 'JetBrains Mono', ui-monospace, monospace !important;
  letter-spacing: .4px;
}
[data-theme="dos"] body { font-size: 17px; }   /* VT323 renderiza pequeno */

/* ===================== TEMA WINDOWS 2000 ===================== */
:root[data-theme="win2000"] {
  --verde:#000080; --verde-claro:#1084d0; --verde-escuro:#00006a; --verde-rgb:0,0,128;
  --glow:none;
  --bg:#008080; --bg-2:#c0c0c0;
  --surface:#d4d0c8; --surface-2:#c0c0c0;
  --borda:#808080; --texto:#000000; --texto-dim:#404040; --texto-fraco:#707070;
  --btn-bg:#c0c0c0; --btn-txt:#000000;
  --erro:#aa0000; --pos:#007800; --pos-rgb:0,120,0; --neg:#aa0000; --neg-rgb:170,0,0;
  --ok:#000080; --aviso:#8a6d00;
  --sombra:1px 1px 0 #000; --raio:0;
}
[data-theme="win2000"] html, [data-theme="win2000"] body, [data-theme="win2000"] *,
[data-theme="win2000"] input, [data-theme="win2000"] select, [data-theme="win2000"] textarea, [data-theme="win2000"] button {
  font-family: Tahoma, 'Segoe UI', Verdana, 'MS Sans Serif', sans-serif !important;
}
[data-theme="win2000"] * { border-radius:0 !important; text-shadow:none !important; }
[data-theme="win2000"] .card, [data-theme="win2000"] .quad, [data-theme="win2000"] .bigquad,
[data-theme="win2000"] .stat, [data-theme="win2000"] .chip, [data-theme="win2000"] .stcard {
  background:#d4d0c8; border:2px solid; border-color:#ffffff #808080 #808080 #ffffff; box-shadow:1px 1px 0 #000;
}
[data-theme="win2000"] .btn {
  background:#c0c0c0; color:#000; border:2px solid; border-color:#ffffff #808080 #808080 #ffffff;
  box-shadow:1px 1px 0 #000; font-weight:400;
}
[data-theme="win2000"] .btn:active { border-color:#808080 #ffffff #ffffff #808080; }
[data-theme="win2000"] input, [data-theme="win2000"] select, [data-theme="win2000"] textarea {
  background:#fff; color:#000; border:2px solid; border-color:#808080 #ffffff #ffffff #808080;
}
[data-theme="win2000"] .topbar { background:#000080 !important; border-bottom:2px solid #808080; }
[data-theme="win2000"] .topbar .marca, [data-theme="win2000"] .topbar .marca b,
[data-theme="win2000"] .topbar .marca b span { color:#ffffff !important; }

/* ============ SKIN: iOS (iPhone 17 Pro Max — liquid glass) ============ */
:root[data-theme="ios"] {
  --verde:        #FF6A00;          /* laranja Cosmic Orange (iPhone 17 Pro Max) */
  --verde-claro:  #FF8C3D;
  --verde-escuro: #CC5200;
  --verde-rgb:    255,106,0;
  --glow:         0 0 26px rgba(255,106,0,.45);

  --bg:        #000000;
  --bg-2:      #0a0a0c;
  --surface:   rgba(28,28,30,.72);
  --surface-2: rgba(58,58,60,.55);
  --borda:     rgba(255,255,255,.12);
  --texto:     #f5f5f7;
  --texto-dim: rgba(235,235,245,.62);
  --texto-fraco:rgba(235,235,245,.32);

  --btn-bg:    #0A84FF;
  --btn-txt:   #ffffff;

  --erro:  #FF453A;                 /* vermelho iOS */
  --ok:    var(--verde);
  --aviso: #FF9F0A;                 /* laranja iOS */

  --sombra: 0 10px 34px rgba(0,0,0,.5);
  --raio:  18px;
}
/* fonte da Apple (SF Pro / system) */
:root[data-theme="ios"] html,
:root[data-theme="ios"] body,
[data-theme="ios"] *,
[data-theme="ios"] input,
[data-theme="ios"] select,
[data-theme="ios"] textarea,
[data-theme="ios"] button {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
               "Helvetica Neue", "Inter", system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
/* fundo preto com leve brilho azul no topo */
[data-theme="ios"] body {
  background: radial-gradient(1100px 560px at 72% -12%, rgba(255,106,0,.12), transparent 60%), #000 !important;
}
/* LIQUID GLASS nas superfícies estruturais */
[data-theme="ios"] .topbar,
[data-theme="ios"] .mm-sidebar,
[data-theme="ios"] #sidebar,
[data-theme="ios"] .sidebar,
[data-theme="ios"] .mm-busca-drop {
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  background: rgba(20,20,22,.66) !important;
}
/* glass sutil nos cartões principais */
[data-theme="ios"] .quad,[data-theme="ios"] .bigquad,[data-theme="ios"] .mbox,
[data-theme="ios"] .conta,[data-theme="ios"] .rcard,[data-theme="ios"] .stat,
[data-theme="ios"] .stcard,[data-theme="ios"] .ficha,[data-theme="ios"] .lista,
[data-theme="ios"] .card,[data-theme="ios"] .vbox,[data-theme="ios"] .resumo {
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
}
/* cantos arredondados + pílulas iOS */
[data-theme="ios"] .btn,[data-theme="ios"] button,
[data-theme="ios"] input,[data-theme="ios"] select,[data-theme="ios"] textarea {
  border-radius: 13px !important;
}
[data-theme="ios"] .btn,[data-theme="ios"] button { font-weight: 600; }
[data-theme="ios"] .quad,[data-theme="ios"] .bigquad,[data-theme="ios"] .mbox,
[data-theme="ios"] .conta,[data-theme="ios"] .rcard,[data-theme="ios"] .stcard,
[data-theme="ios"] .card { border-radius: 20px !important; }

/* ============ SKIN: Android (Material — cinza) ============ */
:root[data-theme="android"] {
  --verde:        #3DDC84;          /* verde Android (accent) */
  --verde-claro:  #6EFFB0;
  --verde-escuro: #1FAF63;
  --verde-rgb:    61,220,132;
  --glow:         0 0 18px rgba(61,220,132,.40);

  --bg:        #121212;             /* Material dark (cinza) */
  --bg-2:      #1a1a1a;
  --surface:   #1e1e1e;             /* superfícies SÓLIDAS (Material) */
  --surface-2: #2c2c2c;
  --borda:     rgba(255,255,255,.10);
  --texto:     #e8eaed;             /* cinzas do Google */
  --texto-dim: #9aa0a6;
  --texto-fraco:#5f6368;

  --btn-bg:    #3DDC84;
  --btn-txt:   #06140a;

  --erro:  #f28b82;                 /* Material red */
  --ok:    var(--verde);
  --aviso: #fdd663;                 /* Material yellow */

  --sombra: 0 1px 2px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);
  --raio:  12px;
}
/* fonte Roboto (Android/Material) */
:root[data-theme="android"] html,
:root[data-theme="android"] body,
[data-theme="android"] *,
[data-theme="android"] input,
[data-theme="android"] select,
[data-theme="android"] textarea,
[data-theme="android"] button {
  font-family: 'Roboto', 'Google Sans', 'Segoe UI', system-ui, sans-serif !important;
}
[data-theme="android"] body { background: #121212 !important; }
/* Material: cantos médios, sem vidro (superfícies sólidas) */
[data-theme="android"] .btn,[data-theme="android"] button,
[data-theme="android"] input,[data-theme="android"] select,[data-theme="android"] textarea {
  border-radius: 10px !important;
}
[data-theme="android"] .quad,[data-theme="android"] .bigquad,[data-theme="android"] .mbox,
[data-theme="android"] .conta,[data-theme="android"] .rcard,[data-theme="android"] .stcard,
[data-theme="android"] .card,[data-theme="android"] .ficha { border-radius: 14px !important; }

/* ============================================================
   LOGO ANIMADO + SPLASH + LOADER GLOBAL  (marca "MM" = < + >)
   Classes reutilizaveis. Tudo herda as cores do tema (variaveis).
   - .mm-mark.anim  -> vida continua sutil (colchetes abrindo/fechando,
                       leve giro do conjunto, "+" pulsando/girando)
   - .mm-mark.spin  -> giro continuo p/ "carregando/pensando"
   Respeita prefers-reduced-motion (desliga as animacoes).
   ============================================================ */

/* cada peca do SVG gira/transla em torno do PROPRIO centro */
.mm-mark.anim polyline, .mm-mark.anim .plus,
.mm-mark.spin polyline, .mm-mark.spin .plus {
  transform-box: fill-box;
  transform-origin: center;
}
.mm-mark.anim, .mm-mark.spin { transform-origin: center; overflow: visible; }

/* ---- ANIM continua (logo "vivo") ---- */
.mm-mark.anim { animation: mmLogoBreathe 6s ease-in-out infinite; will-change: transform; }
.mm-mark.anim polyline:nth-of-type(1) { animation: mmBrkL 3.4s ease-in-out infinite; }
.mm-mark.anim polyline:nth-of-type(2) { animation: mmBrkR 3.4s ease-in-out infinite; }
.mm-mark.anim .plus { animation: mmPlusPulse 3.4s ease-in-out infinite; }

/* leve respiro + giro do conjunto */
@keyframes mmLogoBreathe {
  0%,100% { transform: rotate(-2.4deg) scale(.985); }
  50%     { transform: rotate(2.4deg)  scale(1.015); }
}
/* colchete esquerdo "<" abre/fecha (vai pra esquerda e volta) */
@keyframes mmBrkL {
  0%,100% { transform: translateX(2px); }
  50%     { transform: translateX(-3px); }
}
/* colchete direito ">" abre/fecha (espelhado) */
@keyframes mmBrkR {
  0%,100% { transform: translateX(-2px); }
  50%     { transform: translateX(3px); }
}
/* o "+" pulsa e da uma girada suave */
@keyframes mmPlusPulse {
  0%,100% { transform: scale(.84) rotate(0deg);  opacity:.82; }
  50%     { transform: scale(1.14) rotate(90deg); opacity:1; }
}

/* ---- SPIN (carregando/pensando) ---- */
.mm-mark.spin { animation: mmSpin 1.5s linear infinite; will-change: transform; }
.mm-mark.spin .plus { animation: mmPlusPulse 1.5s ease-in-out infinite; }
@keyframes mmSpin { to { transform: rotate(360deg); } }

/* ---- desliga tudo p/ quem pediu menos movimento ---- */
@media (prefers-reduced-motion: reduce) {
  .mm-mark.anim, .mm-mark.spin,
  .mm-mark.anim polyline, .mm-mark.anim .plus,
  .mm-mark.spin polyline, .mm-mark.spin .plus {
    animation: none !important;
    transform: none !important;
  }
}

/* ============ SPLASH (tela inicial de boas-vindas) ============ */
.mm-splash {
  position: fixed; inset: 0; z-index: 99998;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 20px; text-align: center; padding: 24px;
  background: radial-gradient(120% 90% at 50% 38%, var(--bg-2), var(--bg) 72%);
  opacity: 1; transition: opacity .55s ease, visibility .55s;
}
.mm-splash.mm-hide { opacity: 0; visibility: hidden; pointer-events: none; }
.mm-splash .mm-mark {
  width: clamp(96px, 30vw, 140px); height: clamp(96px, 30vw, 140px);
  color: var(--texto); filter: drop-shadow(var(--glow));
}
.mm-splash .mm-splash-name {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-weight: 800; letter-spacing: .5px; font-size: clamp(18px, 5.5vw, 26px);
  color: var(--texto); opacity: 0; animation: mmSplashName .7s ease forwards .2s;
}
.mm-splash .mm-splash-name span { color: var(--verde); }
.mm-splash .mm-splash-by { font-size: 12px; color: var(--texto-fraco); opacity: 0;
  animation: mmSplashName .7s ease forwards .42s; }
.mm-splash .mm-splash-by b { color: var(--texto-dim); }
.mm-splash .mm-splash-by span { color: var(--verde); }
@keyframes mmSplashName { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }

/* ============ LOADER GLOBAL (overlay "pensando/carregando") ============ */
.mm-loader {
  position: fixed; inset: 0; z-index: 99990;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: rgba(0,0,0,.5); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s;
}
[data-theme="light"] .mm-loader,
[data-theme="win2000"] .mm-loader { background: rgba(40,44,40,.42); }
.mm-loader.mm-on { opacity: 1; visibility: visible; }
.mm-loader .mm-mark {
  width: 76px; height: 76px; color: #fff; filter: drop-shadow(var(--glow));
}
.mm-loader .mm-loader-txt {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,.78);
}
