/* ---------------------------------------------------------------------------
   Caca-palavras de Marcenaria - visual

   A grade e o centro da tela: letras em monoespacada, casas quadradas, e a
   palavra achada fica marcada como quem passou o lapis por cima. Identidade
   Projeto Marcenaria, isolada dentro de #pm-caca.
   --------------------------------------------------------------------------- */

#pm-caca{
  --ground:#FDF4E3; --panel:#FFFFFF; --panel-2:#FAF2E2;
  --ink:#3C3431; --ink-2:#5B4438; --muted:#7A6455;
  --rule:#E6D8C0; --rule-2:#F0E6D4;
  --brown:#705446; --brown-fg:#FFF9EE; --brown-soft:#F3E7D2;
  --tan:#E1C391; --tan-ink:#2E2724;
  --ok:#4F6E3A; --ok-soft:#E4EDDA;
  --sombra:0 1px 2px rgba(60,52,49,.06),0 12px 30px -18px rgba(60,52,49,.3);

  color-scheme:light; position:relative;
  background:var(--ground); color:var(--ink); text-align:left;
  font:400 15px/1.5 "Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  border-radius:14px; max-width:820px; margin:0 auto;
}
#pm-caca *{box-sizing:border-box}
#pm-caca h1,#pm-caca h2,#pm-caca h3,#pm-caca p,#pm-caca ol,#pm-caca ul{
  margin:0;padding:0;list-style:none;text-transform:none}
#pm-caca h1,#pm-caca h2,#pm-caca h3{
  font-family:"Montserrat","Roboto",sans-serif;letter-spacing:-.015em;color:var(--ink)}
#pm-caca button{font:inherit;margin:0;min-height:0;line-height:1;cursor:pointer;
  text-transform:none;letter-spacing:normal;box-shadow:none;-webkit-appearance:none;appearance:none}
#pm-caca img{max-width:100%;height:auto;display:block}
#pm-caca a{color:var(--brown)}
#pm-caca :focus-visible{outline:2px solid var(--brown);outline-offset:2px}

/* ---------- topo ---------- */
#pm-caca .topo{display:flex;gap:12px;align-items:center;padding:13px 16px;
  border-bottom:1px solid var(--rule);flex-wrap:wrap}
#pm-caca .topo img{width:42px;height:42px;border-radius:50%;flex:none}
#pm-caca .topo h1{font-size:19px;font-weight:900;line-height:1.05}
#pm-caca .topo .sub{font:500 10.5px/1.3 "Montserrat",sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-top:2px}
#pm-caca .topo .relogio{margin-left:auto;flex:none;text-align:right}
#pm-caca .topo .relogio b{display:block;font:700 20px/1 "Roboto Mono",monospace;
  color:var(--brown);font-variant-numeric:tabular-nums}
#pm-caca .topo .relogio span{font:500 9.5px/1.4 "Montserrat",sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}

/* ---------- a mesa: grade e lista ---------- */
#pm-caca .mesa{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;padding:16px}

#pm-caca .grade{display:grid;gap:3px;user-select:none;-webkit-user-select:none;
  touch-action:none}
#pm-caca .cel{aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  background:var(--panel);border:1px solid var(--rule);border-radius:6px;
  font:700 clamp(13px,3.4vw,19px)/1 "Roboto Mono",monospace;color:var(--ink);
  cursor:pointer;padding:0}
#pm-caca .cel:hover{border-color:var(--brown)}
#pm-caca .cel.inicio{background:var(--tan);border-color:var(--brown);color:var(--tan-ink)}
#pm-caca .cel.sel{background:var(--brown-soft);border-color:var(--brown)}
#pm-caca .cel.achada{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
#pm-caca .cel.achada.sel{background:var(--ok-soft)}

/* ---------- a lista de palavras ---------- */
#pm-caca .lista h2{font:900 11px/1.3 "Montserrat",sans-serif;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:9px}
#pm-caca .lista li{padding:7px 0;border-top:1px solid var(--rule-2);font-size:14px}
#pm-caca .lista li:first-child{border-top:0}
#pm-caca .lista .pal{font:700 14px/1.2 "Roboto Mono",monospace;letter-spacing:.06em}
#pm-caca .lista li.ok .pal{color:var(--ok);text-decoration:line-through}
#pm-caca .lista li.ok .nome{display:block;font:600 12.5px/1.35 "Montserrat",sans-serif;
  color:var(--ink);margin-top:2px}
#pm-caca .lista .def{display:block;font-size:12px;line-height:1.45;color:var(--muted);
  margin-top:3px}
#pm-caca .lista .def a{display:inline-block;margin-top:4px;font-weight:600;font-size:12px}

/* ---------- barra de baixo ---------- */
#pm-caca .barra{display:flex;gap:9px;align-items:center;flex-wrap:wrap;
  padding:0 16px 16px}
#pm-caca .b{font:600 13.5px/1 "Roboto",sans-serif;padding:12px 17px;border-radius:10px;
  border:1px solid var(--rule);background:var(--panel);color:var(--ink)}
#pm-caca .b-p{background:var(--brown);border-color:var(--brown);color:var(--brown-fg)}
#pm-caca .b-p:hover{filter:brightness(1.1)}
#pm-caca .conta{margin-left:auto;font:600 13px/1 "Montserrat",sans-serif;color:var(--muted)}
#pm-caca .dica{padding:0 16px 14px;font-size:12.5px;line-height:1.5;color:var(--muted)}

/* ---------- fim ---------- */
#pm-caca .fim{position:absolute;inset:0;z-index:50;display:flex;align-items:center;
  justify-content:center;padding:16px;background:rgba(60,52,49,.58)}
#pm-caca .cart{background:var(--panel);border-radius:14px;box-shadow:var(--sombra);
  padding:22px;max-width:460px;width:100%;max-height:100%;overflow:auto}
#pm-caca .cart h3{font-size:21px;font-weight:900;margin-bottom:3px}
#pm-caca .cart .obs{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:15px}
#pm-caca .nota{background:var(--brown-soft);border-radius:12px;padding:16px;text-align:center;
  margin-bottom:14px}
#pm-caca .nota b{font:700 38px/1 "Roboto Mono",monospace;color:var(--brown);
  font-variant-numeric:tabular-nums}
#pm-caca .nota span{display:block;font:600 12px/1.3 "Montserrat",sans-serif;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:5px}
#pm-caca .placar{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule);
  border-radius:10px;overflow:hidden;margin-bottom:14px}
#pm-caca .placar div{flex:1;background:var(--panel-2);padding:10px 6px;text-align:center}
#pm-caca .placar span{display:block;font:500 8.5px/1.3 "Montserrat",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#pm-caca .placar b{font:900 15px/1.2 "Montserrat",sans-serif}
#pm-caca .cta{border:1px solid var(--rule);border-left:3px solid var(--brown);
  border-radius:0 10px 10px 0;background:var(--brown-soft);padding:12px 14px;margin-top:14px;
  font-size:13px;color:var(--ink-2);line-height:1.45}
#pm-caca .acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#pm-caca .toast{position:absolute;left:50%;transform:translateX(-50%);top:12px;z-index:60;
  background:var(--ink);color:var(--ground);padding:10px 15px;border-radius:9px;
  font:500 13px/1.35 "Roboto",sans-serif;max-width:88%;text-align:center;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.5)}
#pm-caca .carregando{padding:48px 20px;text-align:center;color:var(--muted);font-size:14px}

/* ---------- celular: a lista desce para baixo da grade ---------- */
@media (max-width:640px){
  #pm-caca{border-radius:0}
  #pm-caca .mesa{grid-template-columns:minmax(0,1fr);gap:14px;padding:13px 12px}
  #pm-caca .topo{padding:11px 12px}
  #pm-caca .barra{padding:0 12px 14px}
  #pm-caca .dica{padding:0 12px 12px}
  #pm-caca .lista li{padding:6px 0}
  #pm-caca .cart{padding:16px}
}
@media (prefers-reduced-motion:reduce){#pm-caca *{animation:none!important;transition:none!important}}

/* ---------- a portaria ---------- */
#pm-caca .portaria{display:none;padding:18px 16px 22px}
#pm-caca.na-portaria .portaria{display:block}
#pm-caca.na-portaria #pmcp-tabuleiro{display:none}
/* o relogio do topo marcaria 0:00 no menu, o que nao quer dizer nada */
#pm-caca.na-portaria .topo .relogio{display:none}

#pm-caca .portaria h2{font:900 21px/1.2 "Montserrat",sans-serif;margin-bottom:8px;
  text-wrap:balance}
#pm-caca .portaria h3{font:900 14px/1.3 "Montserrat",sans-serif;margin:18px 0 6px;
  color:var(--ink)}
#pm-caca .portaria p{font-size:13.5px;line-height:1.6;color:var(--ink-2);max-width:56ch}
#pm-caca .portaria .lede{font-size:14.5px;line-height:1.55;color:var(--muted);
  margin-bottom:18px;max-width:52ch}
#pm-caca .portaria .lede b{color:var(--ink-2)}
#pm-caca .portaria .acoes{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px}
#pm-caca .portaria .fina{font-size:12.5px;line-height:1.55;color:var(--muted);
  margin:2px 0 12px;max-width:52ch}
#pm-caca .portaria .fina b{color:var(--ink-2)}
#pm-caca .portaria .fina.aviso{background:var(--brown-soft);border-radius:9px;
  padding:10px 12px;color:var(--ink-2)}
#pm-caca .b-gr{padding:14px 22px;font-size:14.5px}

#pm-caca .portaria .marcas{display:flex;gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-bottom:18px;
  max-width:420px}
#pm-caca .portaria .marcas div{flex:1;background:var(--panel);padding:10px 8px;
  text-align:center}
#pm-caca .portaria .marcas span{display:block;font:500 8.5px/1.3 "Montserrat",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#pm-caca .portaria .marcas b{font:900 17px/1.2 "Montserrat",sans-serif;
  font-variant-numeric:tabular-nums}

#pm-caca .portaria .campo{margin-bottom:11px;max-width:420px}
#pm-caca .portaria .campo label{display:block;font:600 10.5px/1.3 "Montserrat",sans-serif;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);margin-bottom:5px}
#pm-caca .portaria .campo input{width:100%;font:400 15px/1.3 "Roboto",sans-serif;
  color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:9px;
  padding:11px 12px;-webkit-appearance:none;appearance:none;box-shadow:none;margin:0;
  min-height:0}
#pm-caca .portaria .campo input:focus{border-color:var(--brown);outline:none;
  box-shadow:0 0 0 3px var(--brown-soft)}
#pm-caca .portaria .aceite{display:flex;gap:8px;align-items:flex-start;margin:12px 0;
  font-size:12.5px;line-height:1.5;color:var(--muted);cursor:pointer;max-width:52ch}
#pm-caca .portaria .aceite input{flex:none;margin:2px 0 0;width:16px;height:16px;
  accent-color:var(--brown)}
#pm-caca .portaria .erro{background:#FBEADF;color:#A8452A;border-radius:8px;
  padding:9px 11px;font-size:12.5px;line-height:1.45;margin-bottom:11px;max-width:52ch}

/* ---------- o placar do dia ---------- */
#pm-caca .rk{border:1px solid var(--rule);border-radius:11px;background:var(--panel-2);
  padding:13px 14px;margin-bottom:13px}
#pm-caca .rk-cab{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
#pm-caca .rk-cab b{font:900 14px/1.2 "Montserrat",sans-serif;color:var(--ink)}
#pm-caca .rk-cab span{font:500 9.5px/1.3 "Montserrat",sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin-left:auto}
#pm-caca .rk-txt{font-size:12.5px;line-height:1.5;color:var(--muted);margin-bottom:6px}
#pm-caca .rk-indo{padding:20px 10px;text-align:center;color:var(--muted);font-size:13.5px}
#pm-caca .rk-erro{background:#FBEADF;color:#A8452A;border-radius:8px;padding:9px 11px;
  font-size:12.5px;line-height:1.45}

#pm-caca .rk-tab{width:100%;table-layout:fixed;border-collapse:collapse;margin-bottom:8px;
  font-variant-numeric:tabular-nums}
#pm-caca .rk-tab col.c-pos{width:26px}
#pm-caca .rk-tab col.c-tmp{width:62px}
#pm-caca .rk-tab th{font:500 9.5px/1.3 "Montserrat",sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);text-align:left;padding:0 6px 6px;
  border:0;background:none}
#pm-caca .rk-tab td{font-size:13px;color:var(--ink-2);padding:7px 6px;border:0;
  border-top:1px solid var(--rule-2);background:none;overflow-wrap:break-word;
  word-break:break-word}
#pm-caca .rk-tab td b{color:var(--ink);font-weight:700}
#pm-caca .rk-tab .pos{font:700 13px/1 "Montserrat",sans-serif;color:var(--muted)}
#pm-caca .rk-tab tr.eu td{background:var(--tan);color:var(--tan-ink)}
#pm-caca .rk-tab tr.eu .pos{color:var(--tan-ink)}

/* ---------- o placar solto, do atalho proprio ---------- */
.pmcp-placar-solto{--k-ink:#3C3431;--k-muted:#7A6455;--k-rule:#E6D8C0;--k-panel:#FFFFFF;
  --k-warn:#8A6A4E;
  background:var(--k-panel);border:1px solid var(--k-rule);border-radius:14px;
  padding:18px 20px;max-width:480px;margin:0 auto;color:var(--k-ink);
  font:400 15px/1.5 "Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.pmcp-placar-solto h3{font:900 18px/1.2 "Montserrat","Roboto",sans-serif;margin:0 0 12px;
  color:var(--k-ink)}
.pmcp-placar-solto .pmcp-placar{width:100%;table-layout:fixed;border-collapse:collapse;
  margin:0;font-variant-numeric:tabular-nums;background:none}
.pmcp-placar-solto .pmcp-placar col.c-pos{width:30px}
.pmcp-placar-solto .pmcp-placar col.c-tmp{width:74px}
.pmcp-placar-solto .pmcp-placar th{font:500 10px/1.3 "Montserrat",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;color:var(--k-muted);text-align:left;
  padding:0 7px 7px;border:0;background:none}
.pmcp-placar-solto .pmcp-placar td{font-size:14px;color:var(--k-ink);padding:9px 7px;
  border:0;border-top:1px solid var(--k-rule);background:none;
  overflow-wrap:break-word;word-break:break-word}
.pmcp-placar-solto .pmcp-placar .pos{font:700 14px/1 "Montserrat",sans-serif;
  color:var(--k-muted)}
.pmcp-placar-solto .pmcp-placar tr:first-child .pos{color:var(--k-warn)}
.pmcp-placar-solto .pmcp-placar-pe{font-size:12.5px;line-height:1.5;color:var(--k-muted);
  margin:12px 0 0}

@media (max-width:560px){
  #pm-caca .portaria{padding:15px 12px 18px}
  #pm-caca .portaria h2{font-size:19px}
  #pm-caca .b-gr{flex:1 1 100%;padding:13px 16px}
  #pm-caca .rk{padding:12px}
  #pm-caca .rk-tab td{font-size:12.5px;padding:7px 4px}
  .pmcp-placar-solto{padding:15px 14px;border-radius:0}
}
