/* SÓCIO IA · deck webinar · estilo GOOGLE SLIDES · frame 16:9 travado */
:root{
  --bg:#000;
  --surface:#0a0a0a;
  --surface-2:#101010;
  --accent:#4ade80;
  --accent-hover:#3ec96f;
  --text:#fff;
  --dim:#b8b8b8;
  --faint:#6a6a6a;
  --hairline:#1e1e1e;
  --hairline-2:#2f2f2f;
  --danger:#c0392b;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#000;color:var(--text);height:100%;width:100%;overflow:hidden;font-family:'Inter',sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
body{display:flex;flex-direction:column}

/* topbar */
.topbar{position:fixed;top:0;left:0;right:0;height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(0,0,0,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline);z-index:50;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.topbar .brand{color:var(--accent)}
.topbar .counter{color:var(--text)}
.topbar .hint{color:var(--faint);font-size:9px}
.progressbar{position:fixed;top:40px;left:0;right:0;height:2px;background:var(--hairline);z-index:49}
.progressbar .fill{height:100%;background:var(--accent);width:0;transition:width .2s ease}
.progressbar .markers{position:absolute;inset:0;display:flex}
.progressbar .markers span{flex:1;border-right:1px solid rgba(255,255,255,.05)}

/* STAGE = letterbox preto que envolve o frame */
.stage{position:fixed;top:42px;bottom:52px;left:0;right:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}

/* FRAME 16:9 travado (1920x1080 lógico) */
/* container-type: size ativa cqh/cqw dentro dele — tudo escala JUNTO com o frame */
.deck-frame{
  position:relative;
  aspect-ratio:16/9;
  width:min(100%, calc((100vh - 96px) * 16 / 9));
  max-height:calc(100vh - 96px);
  background:var(--bg);
  container-type:size;
  container-name:slide;
  overflow:hidden;
  box-shadow:0 0 0 1px var(--hairline-2), 0 20px 60px rgba(0,0,0,.6);
}

/* SLIDE ocupa o frame inteiro — safe area de 8% via padding */
.slide{position:absolute;inset:0;display:none;padding:8cqh 8cqw;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden}
.slide.active{display:flex}

/* TIPOGRAFIA proporcional ao frame (cqh = 1% da altura do frame) */
.slide .eyebrow{font-family:'JetBrains Mono',monospace;font-size:1.4cqh;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:2.5cqh;position:relative;padding-left:3cqh}
.slide .eyebrow::before{content:"";position:absolute;left:0;top:50%;width:2.2cqh;height:1px;background:var(--accent)}
.slide h1,.slide h2,.slide h3{font-family:'Bebas Neue',sans-serif;line-height:.92;letter-spacing:.01em;text-transform:uppercase;font-weight:400}
.slide h1{font-size:11cqh}
.slide h2{font-size:8cqh}
.slide h3{font-size:5.5cqh}
.slide .sub{font-family:'Inter',sans-serif;font-weight:400;font-size:2.6cqh;color:var(--dim);margin-top:3cqh;max-width:80cqw;line-height:1.35}
.slide .accent{color:var(--accent)}
.slide .white{color:var(--text)}
.slide .dim{color:var(--dim)}
.slide .faint{color:var(--faint)}
.slide .rodape{font-family:'JetBrains Mono',monospace;font-size:1.4cqh;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:4cqh;padding-top:2cqh;border-top:1px solid var(--hairline)}
.slide .rodape.big{font-family:'Inter',sans-serif;font-size:2.4cqh;text-transform:none;letter-spacing:0;color:var(--accent);border-top-color:var(--hairline-2)}
.slide .cta{margin-top:4cqh;background:var(--accent);color:#000;font-family:'Bebas Neue',sans-serif;font-size:3cqh;letter-spacing:.06em;padding:1.6cqh 3.2cqh;text-transform:uppercase;border:0;border-radius:2px;display:inline-block}
.slide ul{list-style:none;margin-top:3.5cqh}
.slide ul li{font-family:'Inter',sans-serif;font-size:2.4cqh;color:var(--text);padding:1.4cqh 0;border-bottom:1px solid var(--hairline);line-height:1.35;max-width:80cqw}
.slide ul li:last-child{border-bottom:0}
.slide ul.numbered{counter-reset:item}
.slide ul.numbered li{counter-increment:item;padding-left:5.5cqh;position:relative}
.slide ul.numbered li::before{content:counter(item);position:absolute;left:0;top:1.4cqh;font-family:'Bebas Neue',sans-serif;font-size:3.6cqh;color:var(--accent);width:4cqh}

/* LAYOUT capa */
.layout-capa{align-items:center;justify-content:center;text-align:center}
.layout-capa h1{font-size:16cqh}
.layout-capa .sub{text-align:center;max-width:70cqw}

/* LAYOUT frase-motor */
.layout-frase-motor h1{font-size:7.5cqh;max-width:88cqw}
.layout-frase-motor .sub{max-width:82cqw}

/* LAYOUT titulo-bullets · 2 colunas */
.layout-titulo-bullets{flex-direction:row;align-items:center;gap:6cqw}
.layout-titulo-bullets .col-left{flex:0 0 38%}
.layout-titulo-bullets .col-right{flex:1;overflow:hidden}
.layout-titulo-bullets h2{margin-bottom:1.5cqh;font-size:6.5cqh}
.layout-titulo-bullets .col-right ul li{font-size:2.1cqh;padding:1.2cqh 0}

/* LAYOUT frase-ancora */
.layout-frase-ancora{justify-content:center;align-items:center;text-align:center}
.layout-frase-ancora h1{font-size:8.5cqh;max-width:90cqw;text-align:center}
.layout-frase-ancora .sub{text-align:center}

/* LAYOUT contraste-2col */
.layout-contraste .cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline-2);width:100%;margin-top:3cqh;border:1px solid var(--hairline-2)}
.layout-contraste .col{background:var(--bg);padding:3.5cqh}
.layout-contraste .col.esq{color:var(--faint)}
.layout-contraste .col.dir{color:var(--accent)}
.layout-contraste .col h4{font-family:'JetBrains Mono',monospace;font-size:1.3cqh;letter-spacing:.22em;text-transform:uppercase;margin-bottom:2.5cqh;color:inherit;font-weight:500}
.layout-contraste .col p{font-family:'Inter',sans-serif;font-size:2cqh;line-height:1.5;color:inherit}
.layout-contraste .col ul{margin-top:0}
.layout-contraste .col ul li{color:inherit;border-color:rgba(255,255,255,.06);font-size:1.9cqh;padding:.9cqh 0}

/* LAYOUT stack · tabela */
.layout-stack table{width:100%;max-width:85cqw;margin-top:2.5cqh;border-collapse:collapse;font-family:'Inter',sans-serif}
.layout-stack table th,.layout-stack table td{padding:1.6cqh 2cqh;border-bottom:1px solid var(--hairline);text-align:left;font-size:2cqh}
.layout-stack table th{font-family:'JetBrains Mono',monospace;font-size:1.2cqh;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-weight:500;border-bottom-color:var(--hairline-2)}
.layout-stack table td.valor{text-align:right;font-family:'Bebas Neue',sans-serif;font-size:3cqh;color:var(--text);letter-spacing:.02em}
.layout-stack table td.valor.accent{color:var(--accent)}
.layout-stack .total{margin-top:3cqh;font-family:'Bebas Neue',sans-serif;font-size:7cqh;color:var(--accent);letter-spacing:.02em}

/* LAYOUT cta */
.layout-cta{align-items:center;justify-content:center;text-align:center}
.layout-cta h1{text-align:center;font-size:10cqh}
.layout-cta .cta{font-size:4cqh;padding:2.4cqh 5.6cqh;margin-top:5cqh}

/* LAYOUT garantia */
.layout-garantia{align-items:center;justify-content:center;text-align:center}
.layout-garantia .selo{width:20cqh;height:20cqh;border:2px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:3.6cqh;text-align:center;line-height:.95;padding:2cqh;margin-bottom:4cqh;border-radius:2px}

/* LAYOUT secao · divisor */
.layout-secao{align-items:center;justify-content:center;text-align:center;background:var(--surface)}
.layout-secao .bloco-num{font-family:'Bebas Neue',sans-serif;font-size:32cqh;color:var(--accent);line-height:.9}
.layout-secao .bloco-nome{font-family:'JetBrains Mono',monospace;font-size:1.6cqh;letter-spacing:.32em;text-transform:uppercase;color:var(--dim);margin-top:2cqh}

/* LAYOUT dado · número gigante */
.layout-dado{align-items:center;justify-content:center;text-align:center}
.layout-dado .valor{font-family:'Bebas Neue',sans-serif;font-size:26cqh;color:var(--accent);letter-spacing:.02em;line-height:.9}
.layout-dado .sub{text-align:center;max-width:75cqw;margin-top:2.5cqh}
.layout-dado .fonte{font-family:'JetBrains Mono',monospace;font-size:1.2cqh;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-top:3.5cqh}

/* LAYOUT verbatim */
.layout-verbatim h2{margin-bottom:4cqh}
.layout-verbatim .fala{font-family:'Inter',sans-serif;font-size:2.6cqh;color:var(--text);padding:2cqh 2.4cqh;margin:1.2cqh 0;border-left:3px solid var(--accent);background:var(--surface);max-width:82cqw;line-height:1.4;font-style:italic}

/* LAYOUT fluxo */
.layout-fluxo{align-items:center;justify-content:center}
.layout-fluxo .fluxo{display:flex;flex-direction:column;gap:.8cqh;align-items:center;margin-top:2cqh}
.layout-fluxo .caixa{border:1px solid var(--hairline-2);padding:1.4cqh 2.8cqh;font-family:'JetBrains Mono',monospace;font-size:1.4cqh;letter-spacing:.14em;text-transform:uppercase;color:var(--text);background:var(--surface);min-width:45cqw;text-align:center}
.layout-fluxo .caixa.destaque{border-color:var(--accent);color:var(--accent)}
.layout-fluxo .seta{color:var(--accent);font-size:2cqh}

/* NOTAS · popover fora do frame */
.notas{position:fixed;bottom:54px;left:0;right:0;background:var(--surface);border-top:2px solid var(--accent);padding:16px 24px;max-height:32vh;overflow:auto;transform:translateY(100%);transition:transform .25s ease;z-index:55}
.notas.open{transform:translateY(0)}
.notas h5{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.notas p{font-family:'Inter',sans-serif;font-size:14px;color:var(--dim);line-height:1.5;max-width:1100px}

/* FOOTER NAV */
.footnav{position:fixed;bottom:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:rgba(0,0,0,.9);backdrop-filter:blur(8px);border-top:1px solid var(--hairline);z-index:50;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.footnav button{background:transparent;color:var(--text);border:1px solid var(--hairline-2);padding:7px 12px;font-family:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.footnav button:hover{border-color:var(--accent);color:var(--accent)}
.footnav button.accent{background:var(--accent);color:#000;border-color:var(--accent)}
.footnav .keys{color:var(--faint);font-size:9px}
.footnav .group{display:flex;gap:6px;align-items:center}

/* GRID MODE · overlay fora do frame */
.grid-mode{position:fixed;inset:0;background:var(--bg);z-index:60;overflow:auto;padding:72px 32px 32px;display:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.grid-mode.open{display:grid}
.grid-mode .thumb{aspect-ratio:16/9;border:1px solid var(--hairline-2);cursor:pointer;padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);position:relative;overflow:hidden}
.grid-mode .thumb:hover{border-color:var(--accent)}
.grid-mode .thumb .num{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--accent)}
.grid-mode .thumb .t{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--text);line-height:.95;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.grid-mode .thumb .l{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--faint);text-transform:uppercase}

/* JUMPLIST */
.jumplist{position:fixed;top:42px;bottom:52px;left:0;width:280px;background:var(--surface);border-right:1px solid var(--hairline-2);z-index:58;overflow-y:auto;transform:translateX(-100%);transition:transform .2s ease;padding:14px 0}
.jumplist.open{transform:translateX(0)}
.jumplist .item{padding:9px 18px;cursor:pointer;font-family:'Inter',sans-serif;font-size:13px;color:var(--dim);border-left:2px solid transparent}
.jumplist .item:hover{background:var(--surface-2);color:var(--text)}
.jumplist .item.active{border-left-color:var(--accent);color:var(--accent);background:var(--surface-2)}
.jumplist .item .n{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--faint);margin-right:8px}
.jumplist .divider{padding:14px 18px 6px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;border-top:1px solid var(--hairline)}
.jumplist .divider:first-of-type{border-top:0}

/* COMENTÁRIO */
.comment-btn{position:fixed;top:52px;right:16px;background:var(--surface);color:var(--accent);border:1px solid var(--accent);padding:6px 10px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;z-index:57;border-radius:2px}
.comment-btn.has{background:var(--accent);color:#000}
.comment-panel{position:fixed;top:84px;right:16px;width:340px;background:var(--surface);border:1px solid var(--hairline-2);padding:14px;z-index:59;display:none;border-radius:2px}
.comment-panel.open{display:block}
.comment-panel h5{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.comment-panel textarea{width:100%;height:110px;background:var(--bg);color:var(--text);border:1px solid var(--hairline-2);padding:10px;font-family:'Inter',sans-serif;font-size:13px;resize:vertical;border-radius:2px}
.comment-panel textarea:focus{outline:0;border-color:var(--accent)}
.comment-panel .actions{margin-top:10px;display:flex;gap:8px}
.comment-panel button{background:var(--accent);color:#000;border:0;padding:8px 14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.comment-panel button.ghost{background:transparent;color:var(--dim);border:1px solid var(--hairline-2)}

/* placeholder de imagem */
.img-ph{border:1px solid var(--accent);color:var(--accent);font-family:'JetBrains Mono',monospace;font-size:1.3cqh;letter-spacing:.18em;text-transform:uppercase;padding:4cqh;margin-top:2.5cqh;text-align:center;background:var(--surface);max-width:70cqw}

/* FULLSCREEN — quando o body entra em fullscreen, esconde chrome */
:fullscreen .topbar,:fullscreen .footnav,:fullscreen .progressbar,:fullscreen .comment-btn,:fullscreen .jumplist,:fullscreen .notas{display:none !important}
:fullscreen .stage{top:0;bottom:0}
:fullscreen .deck-frame{max-height:100vh;width:min(100vw, calc(100vh * 16 / 9))}
:-webkit-full-screen .topbar,:-webkit-full-screen .footnav,:-webkit-full-screen .progressbar,:-webkit-full-screen .comment-btn,:-webkit-full-screen .jumplist,:-webkit-full-screen .notas{display:none !important}
:-webkit-full-screen .stage{top:0;bottom:0}
:-webkit-full-screen .deck-frame{max-height:100vh;width:min(100vw, calc(100vh * 16 / 9))}

/* PRINT · gera o PDF via window.print() — cada slide numa página landscape */
@page{size:16in 9in;margin:0}
@media print{
  html,body{overflow:visible !important;width:auto !important;height:auto !important;background:#000 !important}
  .topbar,.footnav,.progressbar,.comment-btn,.comment-panel,.jumplist,.notas,.grid-mode{display:none !important}
  .stage{position:static !important;top:auto !important;bottom:auto !important;display:block !important;overflow:visible !important;height:auto !important;background:#000 !important}
  .deck-frame{width:16in !important;height:9in !important;max-height:none !important;aspect-ratio:auto !important;position:relative !important;box-shadow:none !important;overflow:hidden !important;page-break-after:always;break-after:page;display:block !important;container-type:size;container-name:slide}
  .deck-frame:last-of-type{page-break-after:auto;break-after:auto}
  .slide{display:flex !important;position:absolute !important;inset:0 !important}
  .slide.active,.slide{display:flex !important}
}

/* mobile: mantém frame, só encolhe */
@media (max-width:900px){
  .footnav .keys{display:none}
  .comment-panel{width:calc(100% - 32px)}
  .jumplist{width:100%}
}
