/* ---------------------------------------------------------------------------
   Show do Milimetro - visual
   Identidade Projeto Marcenaria, isolada dentro de #pm-milimetro.
   --------------------------------------------------------------------------- */

#pm-milimetro{
  --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:#EAF0E2; --bad:#A8452A; --bad-soft:#FBEADF;
  --warn:#96651F;
  --sombra:0 1px 2px rgba(60,52,49,.06),0 10px 28px -16px rgba(60,52,49,.28);

  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-milimetro *{box-sizing:border-box}
#pm-milimetro h1,#pm-milimetro h2,#pm-milimetro h3,#pm-milimetro p,
#pm-milimetro ol,#pm-milimetro ul{margin:0;padding:0;list-style:none;text-transform:none}
#pm-milimetro h1,#pm-milimetro h2,#pm-milimetro h3{
  font-family:"Montserrat","Roboto",sans-serif;letter-spacing:-.015em;color:var(--ink)}
#pm-milimetro 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-milimetro img{max-width:100%;height:auto;display:block}
#pm-milimetro a{color:var(--brown)}
#pm-milimetro :focus-visible{outline:2px solid var(--brown);outline-offset:2px}
#pm-milimetro [hidden]{display:none!important}
#pm-milimetro .mono{font-family:"Roboto Mono",monospace;font-variant-numeric:tabular-nums}

/* ---------- topo ---------- */
#pm-milimetro .topo{display:flex;gap:11px;align-items:center;padding:13px 16px;
  border-bottom:1px solid var(--rule);flex-wrap:wrap}
#pm-milimetro .topo img{width:42px;height:42px;border-radius:50%;flex:none}
#pm-milimetro .topo h1{font-size:19px;font-weight:900;line-height:1.05}
#pm-milimetro .topo .sub{font:500 10.5px/1.3 "Montserrat",sans-serif;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted)}
#pm-milimetro .topo .agora{margin-left:auto;text-align:right;flex:none}
#pm-milimetro .topo .agora b{display:block;font:900 22px/1 "Montserrat",sans-serif;
  color:var(--brown);font-variant-numeric:tabular-nums}
#pm-milimetro .topo .agora span{font:500 10px/1.4 "Montserrat",sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}
/* o botao do ranking: discreto, mas alcancavel desde antes da 1a pergunta */
#pm-milimetro .b-rk{display:inline-flex;align-items:center;gap:6px;flex:none;
  font:600 11.5px/1 "Montserrat",sans-serif;letter-spacing:.04em;
  color:var(--ink-2);background:var(--panel);border:1px solid var(--rule);
  border-radius:999px;padding:9px 13px}
#pm-milimetro .b-rk .ico{font:700 14px/1 "Roboto Mono",monospace;color:var(--brown)}
#pm-milimetro .b-rk:hover{border-color:var(--brown);background:var(--brown-soft)}

/* ---------- a trena ---------- */
#pm-milimetro .trena{display:flex;gap:2px;padding:11px 16px;background:var(--panel-2);
  border-bottom:1px solid var(--rule);overflow-x:auto}
#pm-milimetro .dg{flex:1 1 0;min-width:38px;border-radius:5px;padding:6px 3px;text-align:center;
  background:var(--panel);border:1px solid var(--rule);
  font:500 10px/1.25 "Roboto Mono",monospace;color:var(--muted);white-space:nowrap}
#pm-milimetro .dg.feito{background:var(--brown);border-color:var(--brown);color:var(--brown-fg);
  font-weight:600}
#pm-milimetro .dg.aqui{background:var(--tan);border-color:var(--tan);color:var(--tan-ink);
  font-weight:600;box-shadow:0 0 0 2px var(--brown)}
#pm-milimetro .dg.porta{border-color:var(--warn);border-width:2px}

/* ---------- pergunta ---------- */
#pm-milimetro .mesa{padding:16px}
#pm-milimetro .cab{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:12px}
#pm-milimetro .chip{font:600 10px/1 "Montserrat",sans-serif;letter-spacing:.09em;
  text-transform:uppercase;background:var(--brown-soft);color:var(--ink-2);
  padding:6px 10px;border-radius:999px}
#pm-milimetro .chip.n{background:var(--panel);border:1px solid var(--rule);color:var(--muted)}
#pm-milimetro .q{font:700 20px/1.35 "Montserrat",sans-serif;margin-bottom:16px;text-wrap:balance;
  overflow-wrap:break-word}
/* o minmax(0,1fr) e o que impede a coluna de crescer com o conteudo:
   sem ele o grid usa o min-content do botao e a tela estoura no celular */
#pm-milimetro .alts{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
#pm-milimetro .alt{display:flex;gap:11px;align-items:flex-start;text-align:left;width:100%;
  min-width:0;padding:14px 15px;border-radius:11px;border:1px solid var(--rule);
  background:var(--panel);color:var(--ink);font:500 15px/1.4 "Roboto",sans-serif;
  white-space:normal}
/* item de flex nasce com min-width:auto e nao encolhe abaixo da palavra mais
   longa -- e por isso que alternativa comprida empurrava a largura para fora */
#pm-milimetro .alt .t{flex:1 1 auto;min-width:0;overflow-wrap:break-word;word-break:break-word}
#pm-milimetro .alt:hover:not(:disabled){border-color:var(--brown);background:var(--brown-soft)}
#pm-milimetro .alt b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--brown-soft);
  color:var(--ink-2);font:700 12px/24px "Montserrat",sans-serif;text-align:center}
#pm-milimetro .alt.riscada{opacity:.4;text-decoration:line-through;pointer-events:none}
#pm-milimetro .alt.certa{background:var(--ok-soft);border-color:var(--ok)}
#pm-milimetro .alt.certa b{background:var(--ok);color:#fff}
#pm-milimetro .alt.errada{background:var(--bad-soft);border-color:var(--bad)}
#pm-milimetro .alt.errada b{background:var(--bad);color:#fff}
#pm-milimetro .alt .voto{margin-left:auto;flex:none;font:600 12px/1 "Roboto Mono",monospace;
  color:var(--muted)}
#pm-milimetro .alt:disabled{cursor:default}

/* ---------- ajudas ---------- */
#pm-milimetro .ajudas{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--rule)}
#pm-milimetro .aj{display:flex;flex-direction:column;gap:2px;align-items:flex-start;
  padding:10px 13px;border-radius:10px;border:1px solid var(--rule);background:var(--panel);
  color:var(--ink)}
#pm-milimetro .aj:hover:not(:disabled){border-color:var(--brown);background:var(--brown-soft)}
#pm-milimetro .aj strong{font:600 12.5px/1.2 "Montserrat",sans-serif}
#pm-milimetro .aj span{font:400 10.5px/1.2 "Roboto",sans-serif;color:var(--muted)}
#pm-milimetro .aj:disabled{opacity:.4;cursor:not-allowed}
#pm-milimetro .aj.parar{margin-left:auto;border-color:var(--warn)}
#pm-milimetro .aj.parar strong{color:var(--warn)}

/* ---------- caixas de aviso ---------- */
#pm-milimetro .mestre,#pm-milimetro .resu{border-radius:0 11px 11px 0;padding:12px 14px;
  margin-top:14px;font-size:14px;line-height:1.5}
#pm-milimetro .mestre{background:var(--brown-soft);border-left:3px solid var(--brown);
  color:var(--ink-2)}
#pm-milimetro .mestre b{display:block;font:600 11px/1.3 "Montserrat",sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
#pm-milimetro .resu{background:var(--panel-2);border-left:3px solid var(--ok)}
#pm-milimetro .resu.nao{border-left-color:var(--bad)}
#pm-milimetro .resu strong{display:block;font:700 15px/1.3 "Montserrat",sans-serif;margin-bottom:3px}
#pm-milimetro .resu a{display:inline-block;margin-top:9px;padding:9px 14px;border-radius:9px;
  background:var(--brown);color:var(--brown-fg);text-decoration:none;
  font:600 12.5px/1 "Roboto",sans-serif}
#pm-milimetro .segue{display:flex;justify-content:flex-end;margin-top:14px}

/* ---------- botoes ---------- */
#pm-milimetro .b{font:600 14px/1 "Roboto",sans-serif;padding:13px 20px;border-radius:10px;
  border:1px solid var(--rule);background:var(--panel);color:var(--ink)}
#pm-milimetro .b-p{background:var(--brown);border-color:var(--brown);color:var(--brown-fg)}
#pm-milimetro .b-p:hover{filter:brightness(1.1)}
#pm-milimetro .b-g{border:0;background:none;color:var(--muted);padding:13px 8px}

/* ---------- fim de jogo ---------- */
#pm-milimetro .fim{position:absolute;inset:0;z-index:50;display:flex;align-items:center;
  justify-content:center;padding:16px;background:rgba(60,52,49,.55)}
#pm-milimetro .cart{background:var(--panel);border-radius:14px;box-shadow:var(--sombra);
  padding:22px;max-width:460px;width:100%;max-height:100%;overflow:auto}
#pm-milimetro .cart h3{font-size:21px;font-weight:900;margin-bottom:3px}
#pm-milimetro .cart .obs{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:16px}
#pm-milimetro .medalha{background:var(--brown-soft);border-radius:12px;padding:16px;
  text-align:center;margin-bottom:15px}
#pm-milimetro .medalha .med{font:900 40px/1 "Montserrat",sans-serif;color:var(--brown);
  font-variant-numeric:tabular-nums}
#pm-milimetro .medalha .tit{font:600 13px/1.3 "Montserrat",sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-2);margin-top:5px}
#pm-milimetro .cupom{border:2px dashed var(--brown);border-radius:11px;padding:13px;
  text-align:center;margin-bottom:15px;background:var(--panel-2)}
#pm-milimetro .cupom span{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:6px}
#pm-milimetro .cupom code{font:700 19px/1 "Roboto Mono",monospace;letter-spacing:.08em;
  color:var(--brown)}
#pm-milimetro .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:15px 0 0;
  font-size:13px;color:var(--ink-2);line-height:1.45}
#pm-milimetro .acoes{display:flex;flex-wrap:wrap;gap:8px}
#pm-milimetro .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-milimetro .carregando{padding:48px 20px;text-align:center;color:var(--muted);font-size:14px}

@media (max-width:560px){
  #pm-milimetro{border-radius:0}
  #pm-milimetro .topo{padding:11px 12px}
  #pm-milimetro .mesa{padding:13px 12px}
  #pm-milimetro .q{font-size:17px}
  #pm-milimetro .alt{padding:13px;font-size:14.5px}
  #pm-milimetro .trena{padding:9px 12px}
  #pm-milimetro .dg{min-width:34px;font-size:9px}
  #pm-milimetro .aj{flex:1 1 auto}
  #pm-milimetro .aj.parar{margin-left:0}
  #pm-milimetro .cart{padding:16px}
}
@media (prefers-reduced-motion:reduce){#pm-milimetro *{animation:none!important;transition:none!important}}

/* ---------- o ranking do mes, dentro do cartao final ---------- */
#pm-milimetro .rk{border:1px solid var(--rule);border-radius:11px;background:var(--panel-2);
  padding:13px 14px;margin-bottom:15px}
#pm-milimetro .rk:empty{display:none}
#pm-milimetro .rk-cab{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
#pm-milimetro .rk-cab b{font:900 14px/1.2 "Montserrat",sans-serif;color:var(--ink)}
#pm-milimetro .rk-cab span{font:500 9.5px/1.3 "Montserrat",sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-left:auto}
#pm-milimetro .rk-txt{font-size:12.5px;line-height:1.5;color:var(--muted);margin-bottom:10px}
#pm-milimetro .rk-indo{padding:22px 10px;text-align:center;color:var(--muted);font-size:13.5px}

#pm-milimetro .rk-campo{margin-bottom:10px}
#pm-milimetro .rk-campo label{display:block;font:600 11px/1.3 "Montserrat",sans-serif;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:5px}
#pm-milimetro .rk-campo label i{font-style:normal;font-weight:500;color:var(--muted);
  text-transform:none;letter-spacing:0}
#pm-milimetro .rk-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-milimetro .rk-campo input:focus{border-color:var(--brown);outline:none;
  box-shadow:0 0 0 3px var(--brown-soft)}

#pm-milimetro .rk-aceite{display:flex;gap:8px;align-items:flex-start;margin-bottom:11px;
  font-size:12px;line-height:1.45;color:var(--muted);cursor:pointer}
#pm-milimetro .rk-aceite input{flex:none;margin:2px 0 0;width:16px;height:16px;
  accent-color:var(--brown)}

#pm-milimetro .rk-erro{background:var(--bad-soft);color:var(--bad);border-radius:8px;
  padding:9px 11px;font-size:12.5px;line-height:1.45;margin-bottom:10px}

#pm-milimetro .rk-sua{display:flex;align-items:center;gap:11px;background:var(--brown-soft);
  border-radius:10px;padding:11px 13px;margin-bottom:11px}
#pm-milimetro .rk-sua b{font:900 22px/1 "Montserrat",sans-serif;color:var(--brown);
  font-variant-numeric:tabular-nums;flex:none}
#pm-milimetro .rk-sua span{font-size:12.5px;line-height:1.4;color:var(--ink-2)}

/* fixed + larguras dadas: com apelido de 24 letras o auto estoura a coluna */
#pm-milimetro .rk-tab{width:100%;table-layout:fixed;border-collapse:collapse;margin-bottom:10px;
  font-variant-numeric:tabular-nums}
#pm-milimetro .rk-tab col.c-pos{width:26px}
#pm-milimetro .rk-tab col.c-med{width:64px}
#pm-milimetro .rk-tab col.c-tmp{width:54px}
#pm-milimetro .rk-tab col.c-aj{width:32px}
#pm-milimetro .rk-tab td:nth-child(2){overflow-wrap:break-word;word-break:break-word}
#pm-milimetro .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-milimetro .rk-tab td{font-size:13px;color:var(--ink-2);padding:7px 6px;
  border:0;border-top:1px solid var(--rule-2);background:none}
#pm-milimetro .rk-tab td b{color:var(--ink);font-weight:700}
#pm-milimetro .rk-tab .pos{font:700 13px/1 "Montserrat",sans-serif;color:var(--muted);width:26px}
#pm-milimetro .rk-tab tr.eu td{background:var(--tan);color:var(--tan-ink)}
#pm-milimetro .rk-tab tr.eu .pos{color:var(--tan-ink)}
#pm-milimetro .rk-tab tr:first-child .pos{color:var(--warn)}

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

@media (max-width:560px){
  #pm-milimetro .b-rk{padding:8px 11px;font-size:11px}
  #pm-milimetro .rk{padding:12px}
  #pm-milimetro .rk-tab td{font-size:12.5px;padding:7px 4px}
  #pm-milimetro .rk-tab th{padding:0 4px 6px}
  .pmsm-rank-solto{padding:15px 14px;border-radius:0}
}

/* ---------- a portaria: tela inicial e regras ---------- */
#pm-milimetro .portaria h2{font:900 22px/1.2 "Montserrat",sans-serif;margin-bottom:8px;
  text-wrap:balance}
#pm-milimetro .portaria .lede{font-size:14.5px;line-height:1.55;color:var(--muted);
  margin-bottom:18px;max-width:52ch}
#pm-milimetro .portaria .barras{display:flex;gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-bottom:18px}
#pm-milimetro .portaria .acoes{margin-top:4px}
#pm-milimetro .b-gr{padding:15px 26px;font-size:15px}

#pm-milimetro .portaria.regras h2{margin-bottom:6px}
#pm-milimetro .portaria.regras h3{font:900 14px/1.3 "Montserrat",sans-serif;
  margin:20px 0 7px;color:var(--ink)}
#pm-milimetro .portaria.regras p{font-size:13.5px;line-height:1.6;color:var(--ink-2);
  max-width:56ch}
#pm-milimetro .portaria.regras .fina{font-size:12.5px;color:var(--muted);margin-top:9px}

#pm-milimetro .tab-regras{width:100%;table-layout:fixed;border-collapse:collapse;
  margin:4px 0 2px;font-variant-numeric:tabular-nums}
#pm-milimetro .tab-regras col.c-n{width:34px}
#pm-milimetro .tab-regras col.c-v{width:134px}
#pm-milimetro .tab-regras th{font:500 9.5px/1.3 "Montserrat",sans-serif;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);text-align:left;padding:0 7px 6px;
  border:0;background:none}
#pm-milimetro .tab-regras td{font-size:13px;color:var(--ink-2);padding:7px;
  border:0;border-top:1px solid var(--rule-2);background:none;
  overflow-wrap:break-word}
#pm-milimetro .tab-regras td b{color:var(--ink);font-weight:700}
#pm-milimetro .tab-regras tr.porta td{background:var(--brown-soft)}
#pm-milimetro .tab-regras .sel{display:inline-block;font:600 8.5px/1 "Montserrat",sans-serif;
  letter-spacing:.09em;text-transform:uppercase;color:var(--warn);
  border:1px solid var(--warn);border-radius:999px;padding:2px 5px;margin-left:1px;
  vertical-align:1px}

#pm-milimetro .lista-aj{display:grid;gap:9px;margin:2px 0 0}
#pm-milimetro .lista-aj li{background:var(--panel-2);border:1px solid var(--rule);
  border-radius:10px;padding:11px 13px}
#pm-milimetro .lista-aj b{font:700 13.5px/1.3 "Montserrat",sans-serif;color:var(--ink)}
#pm-milimetro .lista-aj i{font:600 9.5px/1 "Montserrat",sans-serif;letter-spacing:.08em;
  text-transform:uppercase;font-style:normal;color:var(--warn);margin-left:6px}
#pm-milimetro .lista-aj span{display:block;font-size:12.5px;line-height:1.5;
  color:var(--muted);margin-top:4px}

@media (max-width:560px){
  #pm-milimetro .portaria h2{font-size:19px}
  #pm-milimetro .portaria .lede{font-size:13.5px}
  #pm-milimetro .b-gr{padding:14px 20px;font-size:14.5px;flex:1 1 100%}
  #pm-milimetro .tab-regras col.c-v{width:118px}
  #pm-milimetro .tab-regras td{font-size:12.5px;padding:7px 5px}
}
