/* ============================================================
   MINER · Camada de acabamento (intro curta · cursor · foco)
   Carregado depois do kit; só refina o que já existe.
   ============================================================ */

/* ---------- Intro do logo: 1,2 s, só na primeira visita da sessão ---------- */
.intro { position: fixed; inset: 0; z-index: 999; background: var(--bg); display: grid; place-items: center;
  animation: introOut .36s var(--ease) .84s forwards; pointer-events: none; }
.intro__mark { position: relative; opacity: 0; transform: translateY(8px); animation: introMark .36s var(--ease) .06s forwards; }
.intro__mark img { height: 38px; width: auto; }
.intro__bar { position: absolute; bottom: -18px; left: 0; height: 2px; width: 0; background: var(--blue); animation: introBar .6s var(--ease) .16s forwards; }
@keyframes introMark { to { opacity: 1; transform: none; } }
@keyframes introBar { to { width: 100%; } }
@keyframes introOut { to { opacity: 0; visibility: hidden; } }

/* ---------- Cursor próprio (só mouse e tela de 768px ou mais) ---------- */
@media (pointer: fine) and (min-width: 768px) {
  .cur-on, .cur-on * { cursor: none !important; }
  .cur { position: fixed; top: 0; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #fff; z-index: 1000;
    pointer-events: none; transition: width .12s, height .12s, opacity .12s; mix-blend-mode: difference; }
  .cur-ring { position: fixed; top: 0; left: 0; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%;
    z-index: 1000; pointer-events: none; transition: width .22s var(--ease), height .22s var(--ease), border-color .22s, opacity .22s; }
  .cur-ring.is-hot { width: 52px; height: 52px; border-color: var(--blue); background: rgba(69,98,255,.08); }
  .cur.is-hot { opacity: 0; }
}
@media (pointer: coarse), (max-width: 767px) { .cur, .cur-ring { display: none !important; } }

/* ---------- Divisor sutil entre seções ---------- */
.section + .section::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1100px, 86%); height: 1px; background: linear-gradient(90deg, transparent, var(--line-2), transparent); }

/* ---------- Acabamento global ---------- */
html { scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 10px; border: 2px solid var(--bg); }
:focus-visible { outline: 2px solid var(--blue-soft); outline-offset: 3px; border-radius: 6px; }
.btn:active { transform: translateY(1px); }

@media (prefers-reduced-motion: reduce) {
  .intro { display: none; }
  .cur, .cur-ring { display: none; }
}
