/*
  Demo dentro da moldura (docs/lp-nova.md, etapa 4): uma tela de MacBook em
  HTML. A tela (.mac-tela) e desenhada em 1024x627 e escalada por --k para
  caber na moldura; o papel de parede e o proprio ceu da hero, que ja esta
  atras.

  Estados de .mac (data-estado):
    pronto   tela de bloqueio embacada, "Ready to see it unlock?" + Play demo
    tocando  nitida, o roteiro roda
    fim      ultima cena embacada, so "Replay demo"
*/
.mac{position:relative;width:var(--mw, 1024px);height:var(--mh, 627px);border-radius:18px;overflow:hidden;
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;color:#fff;
  -webkit-font-smoothing:antialiased}

.mac-tela{position:absolute;left:50%;top:50%;width:1024px;height:627px;overflow:hidden;
  transform:translate(-50%,-50%) scale(var(--k, 1));transform-origin:50% 50%}
.mac-borrao{position:absolute;inset:0;transition:filter .7s cubic-bezier(.22,1,.36,1)}
.mac[data-estado="pronto"] .mac-borrao,.mac[data-estado="fim"] .mac-borrao{filter:blur(14px) brightness(.78)}

/* ---------- capa: Play / Replay ---------- */
.mac-capa{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  transition:opacity .45s ease}
.mac[data-estado="tocando"] .mac-capa{opacity:0;pointer-events:none}
.mac-capa h2{margin:0;font-size:clamp(22px, 2vw, 28px);font-weight:600;letter-spacing:-.02em}
.mac[data-estado="fim"] .mac-capa h2{display:none}

/* ---------- barra de menus ---------- */
.mb{position:absolute;inset:0 0 auto 0;height:26px;display:flex;align-items:center;gap:18px;padding:0 16px;font-size:13px;
  letter-spacing:-.01em;z-index:5}
.mb .esq{display:flex;align-items:center;gap:18px;opacity:0;transform:translateY(-4px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.mb .esq b{font-weight:600}
.mb .esq svg{width:13px;height:15px}
.mb .dir{margin-left:auto;display:flex;align-items:center;gap:14px}
.mb .dir svg{height:13px;width:auto}
.mb .hora-mb{display:none}
.mac-tela.aberto .mb{background:rgba(10,14,30,.28);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}
.mac-tela.aberto .mb .esq{opacity:1;transform:none}
.mac-tela.aberto .mb .hora-mb{display:inline}

/* ---------- notch com a capsula do Face In (mesmo efeito do app) ----------
   O corpo tem a altura do maior estado (120px) e desce por transform: fica
   escondido acima da tela e mostra 28px fechado, 86px procurando e 100px
   quando acha. Nada muda de tamanho, entao o navegador nao refaz layout. */
.notch{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:8}
.notch .corpo{position:relative;width:150px;height:120px;background:#000;border-radius:0 0 11px 11px;
  transform:translateY(-92px);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-radius .4s}
.notch.aberto .corpo{transform:translateY(-34px);border-radius:0 0 22px 22px}
.notch.achou .corpo,.notch.feito .corpo{transform:translateY(-20px)}
.notch .gl{position:absolute;top:62px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;
  opacity:0;transition:opacity .2s}
.notch.aberto .gl{opacity:1}
.anel{position:relative;width:30px;height:30px}
.anel svg.circ{position:absolute;inset:0;width:100%;height:100%}
.anel .trilho{stroke:rgba(255,255,255,.62);opacity:.25;fill:none}
.anel .arco{stroke:#66a6ff;fill:none;stroke-dasharray:24.6 100;transition:stroke .4s,stroke-dasharray .4s}
.notch.olhando .anel svg.circ{animation:gira 1.1s linear infinite}
.notch.achou .arco,.notch.feito .arco{stroke:#30d158}
.notch.feito .arco{stroke-dasharray:88 100}
.anel .marca-mini{position:absolute;left:50%;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);color:#fff;
  transition:opacity .3s,color .3s}
.notch.achou .anel .marca-mini{color:#30d158}
.anel .ok{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#30d158;font-size:14px;font-weight:700;opacity:0;
  transition:opacity .3s}
.notch.feito .anel .marca-mini{opacity:0}
.notch.feito .anel .ok{opacity:1}
.notch .nome{height:15px;font-size:11px;font-weight:500;opacity:0;transition:opacity .3s}
.notch.achou .nome,.notch.feito .nome{opacity:1}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- tela de bloqueio ---------- */
.trava{position:absolute;inset:0;z-index:2;transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .6s ease}
.mac-tela.aberto .trava{opacity:0;transform:translateY(-26px) scale(1.02);filter:blur(8px)}
.trava .data{position:absolute;top:122px;left:0;right:0;text-align:center;font-size:20px;font-weight:600;color:rgba(255,255,255,.82)}
.trava .hora{position:absolute;top:142px;left:0;right:0;text-align:center;font-size:118px;line-height:1;font-weight:700;
  letter-spacing:-.02em;color:rgba(255,255,255,.88);font-family:'SF Pro Rounded',ui-rounded,-apple-system,sans-serif}

.legenda{position:absolute;top:304px;left:0;right:0;margin:0;text-align:center;font-size:17px;line-height:1.5;font-weight:500;
  letter-spacing:-.01em;transition:opacity .4s ease}
.legenda .linha{display:block;opacity:0}
.legenda .linha + .linha{color:rgba(255,255,255,.62)}
.mac-tela.reconheceu .legenda{opacity:0}

.login{position:absolute;left:0;right:0;bottom:52px;display:flex;flex-direction:column;align-items:center;gap:8px}
.login img{width:62px;height:62px;border-radius:50%;object-fit:cover;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.login .quem{font-size:14px;font-weight:600}
.campo{width:172px;height:28px;border-radius:999px;display:flex;align-items:center;padding:0 12px;font-size:12px;color:rgba(255,255,255,.6);
  background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.campo .pts{display:none;letter-spacing:2px;color:#fff;font-size:13px}
.campo.cheio .ph{display:none}
.campo.cheio .pts{display:inline}
.login .dica{font-size:11px;color:rgba(255,255,255,.55)}

/* ---------- mesa (depois de abrir) ---------- */
.ola{position:absolute;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none}
/* SF Pro Display leve, como os titulos das telas da Apple. */
.ola span{font-family:'SF Pro Display',-apple-system,BlinkMacSystemFont,sans-serif;font-size:52px;font-weight:400;letter-spacing:-.025em;
  color:rgba(255,255,255,.95);
  opacity:0;transform:scale(.96);filter:blur(6px);
  transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1),filter .8s ease}
.mac-tela.ola-on .ola span{opacity:1;transform:none;filter:none}

.doca{position:absolute;left:50%;bottom:8px;z-index:4;display:flex;align-items:flex-end;gap:7px;padding:6px 8px;border-radius:18px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
  opacity:0;transform:translate(-50%,24px);transition:opacity .5s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.doca img{width:46px;height:46px;display:block}
.mac-tela.aberto .doca{opacity:1;transform:translate(-50%,0)}
