/* ═══════════════════════════════════════════════════
   PORTAL 1º ANO — CSS COMPARTILHADO
   Todas as atividades de Ciências importam este arquivo
   Variáveis de tema ficam em cada HTML:
     --c1, --c2, --c3      (cores da matéria)
     --nav-bg              (fundo da barra de abas)
     --hero-grad           (gradiente do banner)
═══════════════════════════════════════════════════ */

/* ── FONTES ───────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@700;800;900&display=swap');

/* ── RESET ────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Nunito',sans-serif;
  background:var(--bg,#f0f8ff);
  color:#2d3436;
  min-height:100vh;
  font-size:18px;
}

/* ── TOPO ─────────────────────────────────────────── */
.p1-topo{
  background:var(--topo-bg,#1a237e);
  padding:0 20px;height:58px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:300;
  box-shadow:0 3px 16px rgba(0,0,0,.25);
}
.p1-logo{
  font-family:'Fredoka',cursive;font-size:1.3rem;font-weight:700;
  color:white;text-decoration:none;display:flex;align-items:center;gap:8px;
}
.p1-logo span{color:var(--c1,#f9a825);}
.p1-bread{
  display:flex;align-items:center;gap:5px;font-size:12px;
  color:rgba(255,255,255,.55);font-weight:800;
}
.p1-bread a{color:rgba(255,255,255,.55);text-decoration:none;}
.p1-bread a:hover{color:white;}
.p1-bread-sep{color:rgba(255,255,255,.2);}

/* ── ABAS — SÓLIDAS, SEM TRANSPARÊNCIA ───────────── */
.p1-nav-tabs{
  background:var(--nav-bg,#283593);
  border-bottom:4px solid var(--c1,#f9a825);
  display:flex;overflow-x:auto;padding:0 16px;gap:4px;
  position:sticky;top:58px;z-index:200;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.p1-nav-tabs::-webkit-scrollbar{display:none;}
.p1-nav-tab{
  padding:14px 20px;border:none;background:transparent;
  color:rgba(255,255,255,.5);
  font-family:'Fredoka',cursive;font-weight:600;font-size:1rem;
  cursor:pointer;white-space:nowrap;
  border-bottom:4px solid transparent;margin-bottom:-4px;
  transition:all .2s;display:flex;align-items:center;gap:6px;
  min-height:56px;
}
.p1-nav-tab:hover{color:rgba(255,255,255,.9);}
.p1-nav-tab.ativo{
  color:white;border-bottom-color:var(--c1,#f9a825);
  background:rgba(255,255,255,.1);
}

/* ── PLACAR ───────────────────────────────────────── */
.p1-placar{
  position:fixed;top:70px;right:14px;z-index:400;
  background:var(--topo-bg,#1a237e);
  border:2.5px solid var(--c1,#f9a825);
  border-radius:60px;padding:9px 20px;
  font-family:'Fredoka',cursive;font-size:1.1rem;font-weight:700;
  color:var(--c1,#f9a825);
  display:flex;align-items:center;gap:7px;
  box-shadow:0 4px 20px rgba(0,0,0,.25);
}
.p1-placar.bump{animation:p1bump .4s ease;}
@keyframes p1bump{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}

/* ── TOAST ────────────────────────────────────────── */
.p1-toast{
  position:fixed;bottom:24px;left:50%;
  transform:translateX(-50%) translateY(90px);
  background:white;border-radius:60px;
  padding:14px 32px;font-weight:800;font-size:17px;
  z-index:500;opacity:0;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s;
  white-space:nowrap;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
  border:2px solid var(--c1,#f9a825);
  color:#2d3436;
}
.p1-toast.show{transform:translateX(-50%) translateY(0);opacity:1;}

/* ── ESTRELAS (burst ao acertar) ─────────────────── */
.p1-star-burst{
  position:fixed;pointer-events:none;z-index:9999;
  font-size:1.6rem;
  animation:p1starburst .9s ease forwards;
}
@keyframes p1starburst{
  0%{transform:translate(0,0) scale(1);opacity:1}
  100%{transform:translate(var(--dx,0),var(--dy,-60px)) scale(0);opacity:0}
}

/* ── HERO ─────────────────────────────────────────── */
.p1-hero{
  background:var(--hero-grad,linear-gradient(135deg,#1a237e,#7c4dff));
  padding:44px 28px 72px;position:relative;overflow:hidden;
}
.p1-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 40%,rgba(255,255,255,.12) 0%,transparent 60%);
}
.p1-hero-in{position:relative;max-width:880px;margin:0 auto;}
.p1-hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.2);color:white;
  border-radius:30px;padding:6px 18px;
  font-size:13px;font-weight:800;
  text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px;
  border:1px solid rgba(255,255,255,.3);
}
.p1-hero h1{
  font-family:'Fredoka',cursive;
  font-size:clamp(2rem,5vw,3.4rem);
  font-weight:700;color:white;margin-bottom:10px;
  text-shadow:0 3px 10px rgba(0,0,0,.2);
  line-height:1.15;
}
.p1-hero p{
  color:rgba(255,255,255,.9);font-size:18px;
  max-width:480px;line-height:1.7;margin-bottom:20px;
}
.p1-hero-tags{display:flex;flex-wrap:wrap;gap:9px;}
.p1-hero-tag{
  background:rgba(255,255,255,.2);color:white;
  border-radius:30px;padding:6px 16px;font-size:13px;font-weight:800;
  border:1px solid rgba(255,255,255,.3);
}

/* ── LAYOUT ───────────────────────────────────────── */
.p1-wrap{max-width:880px;margin:0 auto;padding:0 18px 80px;}
.p1-secao{display:none;}
.p1-secao.ativa{display:block;animation:p1fade .3s ease;}
@keyframes p1fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ── CARD ─────────────────────────────────────────── */
.p1-card{
  background:white;border-radius:24px;
  padding:28px;margin-top:28px;
  box-shadow:0 8px 32px rgba(0,0,0,.08);
  border:2px solid rgba(0,0,0,.04);
}
.p1-card::before{
  content:'';display:block;height:6px;
  background:var(--faixa,linear-gradient(90deg,var(--c1,#f9a825),var(--c2,#ff6b35)));
  border-radius:6px;margin:-28px -28px 24px;
}
.p1-card-titulo{
  font-family:'Fredoka',cursive;font-size:1.5rem;font-weight:700;
  margin-bottom:10px;display:flex;align-items:center;gap:10px;
  color:#2d3436;
}
.p1-card-inst{
  font-size:17px;color:#636e72;margin-bottom:20px;line-height:1.7;
  background:#f8f9fa;border-radius:14px;padding:12px 16px;
  border-left:4px solid var(--c1,#f9a825);
}

/* ── BOTÕES ───────────────────────────────────────── */
.p1-btn{
  font-family:'Fredoka',cursive;font-weight:600;font-size:1.1rem;
  padding:14px 30px;border-radius:60px;border:none;cursor:pointer;
  transition:all .2s;display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;min-height:54px;
}
.p1-btn:hover{transform:translateY(-3px) scale(1.04);}
.p1-btn:active{transform:scale(.97);}
.p1-btn-principal{
  background:linear-gradient(135deg,var(--c1,#f9a825),var(--c2,#ff6b35));
  color:white;box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.p1-btn-verde{
  background:linear-gradient(135deg,#27ae60,#2ecc71);
  color:white;box-shadow:0 6px 20px rgba(39,174,96,.25);
}
.p1-btn-cinza{background:#e9ecef;color:#636e72;}
.p1-btn-prox{
  background:linear-gradient(135deg,var(--c1,#f9a825),var(--c2,#ff6b35));
  color:white;font-size:1.15rem;padding:16px 36px;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
}
.p1-flex-c{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px;}

/* ══════════════════════════════════════════════════
   COMPONENTES
══════════════════════════════════════════════════ */

/* ── REVELAR ─────────────────────────────────────── */
.p1-revelar-grade{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:16px;
}
.p1-revelar-card{
  position:relative;aspect-ratio:1;cursor:pointer;
  border-radius:22px;overflow:hidden;
  box-shadow:0 6px 24px rgba(0,0,0,.12);
  transition:transform .2s,box-shadow .2s;
}
.p1-revelar-card:hover{transform:scale(1.04);box-shadow:0 10px 32px rgba(0,0,0,.18);}
.p1-revelar-frente,.p1-revelar-verso{
  position:absolute;inset:0;border-radius:22px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:16px;text-align:center;
  transition:opacity .35s,transform .35s;
  backface-visibility:hidden;
}
.p1-revelar-frente{
  background:linear-gradient(135deg,var(--cor,var(--c1,#f9a825)),var(--c2,#ff6b35));
  color:white;
}
.p1-revelar-emoji{font-size:4rem;line-height:1;margin-bottom:10px;display:block;}
.p1-revelar-tap{font-size:13px;font-weight:800;opacity:.8;text-transform:uppercase;letter-spacing:1px;}
.p1-revelar-verso{
  background:white;border:3px solid var(--cor,var(--c1,#f9a825));
  opacity:0;transform:scale(.9);color:#2d3436;
  flex-direction:column;gap:8px;
}
.p1-revelar-card.aberto .p1-revelar-frente{opacity:0;transform:scale(1.1);}
.p1-revelar-card.aberto .p1-revelar-verso{opacity:1;transform:scale(1);}
.p1-revelar-titulo{font-family:'Fredoka',cursive;font-size:1.15rem;font-weight:700;color:var(--cor,var(--c1,#f9a825));}
.p1-revelar-info{font-size:13px;line-height:1.5;color:#636e72;}

/* ── ARRASTAR ────────────────────────────────────── */
.p1-arrastar-inst{
  font-size:18px;font-weight:800;text-align:center;
  margin-bottom:20px;color:#2d3436;
}
.p1-arrastar-pool{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;
  background:#f8f9fa;border:3px dashed #dee2e6;border-radius:20px;
  padding:20px;margin-bottom:20px;min-height:90px;
}
.p1-arrastar-item{
  background:white;border:3px solid #dee2e6;border-radius:20px;
  padding:12px 20px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  transition:all .2s;min-width:100px;
  box-shadow:0 4px 12px rgba(0,0,0,.07);
}
.p1-arrastar-item:hover:not(.colocado){transform:scale(1.07);border-color:var(--c1,#f9a825);}
.p1-arrastar-item.sel{
  border-color:var(--c1,#f9a825);background:#fffde7;
  transform:scale(1.1);box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.p1-arrastar-item.colocado.ok{border-color:#27ae60;background:#e8f5e9;}
.p1-arrastar-item.colocado.err{border-color:#e74c3c;background:#fde8e9;}
.p1-arr-emoji{font-size:2.4rem;line-height:1;}
.p1-arr-txt{font-size:14px;font-weight:800;text-align:center;}
.p1-arrastar-zonas{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
  margin-bottom:16px;
}
@media(max-width:480px){.p1-arrastar-zonas{grid-template-columns:1fr;}}
.p1-arrastar-zona{
  border:3px dashed var(--cor-zona,#dee2e6);
  border-radius:22px;padding:16px;
  min-height:120px;cursor:pointer;
  transition:border-color .15s,background .15s;
  background:rgba(0,0,0,.02);
}
.p1-arrastar-zona:hover{
  border-color:var(--cor-zona);
  background:rgba(0,0,0,.04);
}
.p1-zona-titulo{
  display:flex;align-items:center;gap:8px;
  font-family:'Fredoka',cursive;font-size:1.2rem;font-weight:700;
  color:var(--cor-zona);margin-bottom:12px;
}
.p1-zona-itens{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;}
.p1-arrastar-res{
  text-align:center;font-size:18px;font-weight:800;
  min-height:28px;padding:10px;border-radius:14px;
}
.p1-arrastar-res.ok{background:#e8f5e9;color:#27ae60;}
.p1-arrastar-res.err{background:#fde8e9;color:#e74c3c;}

/* ── QUIZ ────────────────────────────────────────── */
.p1-quiz-prog{
  display:flex;align-items:center;gap:12px;margin-bottom:20px;
}
.p1-quiz-barra{
  flex:1;height:10px;background:#e9ecef;
  border-radius:10px;overflow:hidden;
}
.p1-quiz-fill{
  height:100%;border-radius:10px;
  background:linear-gradient(90deg,var(--c1,#f9a825),var(--c2,#ff6b35));
  transition:width .5s;
}
.p1-quiz-num{font-size:15px;font-weight:800;color:#636e72;white-space:nowrap;}
.p1-quiz-emoji{
  font-size:6rem;display:block;text-align:center;
  margin-bottom:16px;line-height:1;
  animation:p1float 3s ease-in-out infinite;
}
@keyframes p1float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.p1-quiz-perg{
  font-family:'Fredoka',cursive;font-size:1.5rem;font-weight:700;
  text-align:center;margin-bottom:24px;line-height:1.35;
  color:#2d3436;
}
.p1-quiz-opcoes{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
  margin-bottom:16px;
}
@media(max-width:480px){.p1-quiz-opcoes{grid-template-columns:1fr;}}
.p1-quiz-op{
  background:white;border:3px solid #dee2e6;
  border-radius:20px;padding:18px 12px;
  cursor:pointer;transition:all .2s;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  min-height:130px;
}
.p1-quiz-op:hover:not(:disabled){
  border-color:var(--c1,#f9a825);background:#fffde7;
  transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);
}
.p1-quiz-op.ok{border-color:#27ae60;background:#e8f5e9;}
.p1-quiz-op.x{border-color:#e74c3c;background:#fde8e9;}
.p1-quiz-op-emoji{font-size:3.5rem;line-height:1;}
.p1-quiz-op-txt{font-family:'Fredoka',cursive;font-size:1.15rem;font-weight:600;text-align:center;}
.p1-quiz-fb{
  text-align:center;font-size:20px;font-weight:800;
  min-height:32px;margin-bottom:8px;
}
.p1-quiz-fb.ok{color:#27ae60;}
.p1-quiz-fb.x{color:#e74c3c;}
.p1-quiz-curio{
  text-align:center;font-size:15px;color:#636e72;
  font-style:italic;min-height:22px;margin-bottom:12px;
  line-height:1.6;
}
.p1-quiz-prox{display:flex;justify-content:center;margin-top:8px;}
.p1-quiz-fim{
  text-align:center;padding:32px 20px;
}
.p1-quiz-fim-emoji{
  font-size:6rem;display:block;margin-bottom:14px;
  animation:p1float 3s ease-in-out infinite;
}
.p1-quiz-fim-titulo{
  font-family:'Fredoka',cursive;font-size:2rem;font-weight:700;
  margin-bottom:8px;
}
.p1-quiz-fim-pts{
  font-family:'Fredoka',cursive;font-size:4rem;font-weight:700;
  background:linear-gradient(135deg,var(--c1,#f9a825),var(--c2,#ff6b35));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:20px;
}

/* ── COLORIR ─────────────────────────────────────── */
.p1-colorir-inst{
  font-size:18px;font-weight:800;text-align:center;
  margin-bottom:16px;color:#2d3436;
}
.p1-colorir-paleta{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
  margin-bottom:20px;background:#f8f9fa;
  border-radius:20px;padding:16px;
}
.p1-cor-btn{
  width:52px;height:52px;border-radius:50%;cursor:pointer;
  border:4px solid transparent;transition:all .2s;
  box-shadow:0 3px 8px rgba(0,0,0,.15);
}
.p1-cor-btn:hover{transform:scale(1.2);}
.p1-cor-btn.ativa{
  border-color:#2d3436;transform:scale(1.3);
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.p1-borracha{
  background:#f8f9fa;border:4px solid #dee2e6;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
}
.p1-colorir-canvas{
  display:flex;justify-content:center;
  background:#f8f9fa;border-radius:20px;padding:16px;
}
.p1-colorir-canvas svg{
  max-width:100%;height:auto;max-height:400px;
}
.p1-colorir-canvas [data-colorir]{
  cursor:pointer;transition:filter .15s;stroke:#333;stroke-width:2;
}
.p1-colorir-canvas [data-colorir]:hover{filter:brightness(1.12);}

/* ── RESULTADO FINAL ─────────────────────────────── */
.p1-resultado-final{
  text-align:center;padding:44px 24px;
  background:white;border-radius:26px;
  box-shadow:0 8px 32px rgba(0,0,0,.1);
  margin-top:28px;display:none;
}
.p1-rf-emoji{
  font-size:7rem;display:block;margin-bottom:16px;
  animation:p1float 3s ease-in-out infinite;
}
.p1-rf-h{
  font-family:'Fredoka',cursive;font-size:2.4rem;
  font-weight:700;margin-bottom:10px;
}
.p1-rf-pts{
  font-family:'Fredoka',cursive;font-size:4.5rem;font-weight:700;
  background:linear-gradient(135deg,var(--c1,#f9a825),var(--c2,#ff6b35));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;line-height:1.1;
}

/* ── RESPONSIVO ──────────────────────────────────── */
@media(max-width:600px){
  .p1-hero h1{font-size:1.9rem;}
  .p1-hero p{font-size:16px;}
  .p1-quiz-emoji{font-size:4.5rem;}
  .p1-quiz-perg{font-size:1.3rem;}
  .p1-revelar-grade{grid-template-columns:repeat(2,1fr);}
  .p1-revelar-emoji{font-size:3rem;}
}
