/* ---------------------------------------------------------------------------
   Ordem de montagem - visual

   A tela e uma folha de plano de trabalho: os passos sao fichas numeradas que
   a pessoa arrasta. A ficha em movimento levanta da folha; o lugar de onde ela
   saiu fica marcado. Identidade Projeto Marcenaria, isolada em #pm-ordem.
   --------------------------------------------------------------------------- */

#pm-ordem{
  --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;
  --mad-1:#EBD7B0; --mad-2:#D8BC8A; --cava:#8A6A4E; --metal:#BFC3C7; --grafite:#4A4340;
  --esc:#2A190B;
  --ok:#4F6E3A; --ok-soft:#EAF0E2; --bad:#A8452A; --bad-soft:#FBEADF;
  --warn:#96651F; --warn-soft:#FBF0DA;
  --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-ordem *{box-sizing:border-box}
#pm-ordem h1,#pm-ordem h2,#pm-ordem h3,#pm-ordem h4,#pm-ordem p,
#pm-ordem ol,#pm-ordem ul{margin:0;padding:0;list-style:none;text-transform:none}
#pm-ordem h1,#pm-ordem h2,#pm-ordem h3,#pm-ordem h4{
  font-family:"Montserrat","Roboto",sans-serif;letter-spacing:-.015em;color:var(--ink)}
#pm-ordem 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-ordem img{max-width:100%;height:auto;display:block}
#pm-ordem a{color:var(--brown)}
#pm-ordem :focus-visible{outline:2px solid var(--brown);outline-offset:2px}
#pm-ordem [hidden]{display:none!important}

/* ---------- topo ---------- */
#pm-ordem .topo{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;
  border-bottom:1px solid var(--rule)}
#pm-ordem .topo img{width:42px;height:42px;border-radius:50%;flex:none}
#pm-ordem .topo h1{font-size:20px;font-weight:900;line-height:1.1}
#pm-ordem .topo .linha{font-size:12.5px;line-height:1.45;color:var(--muted);
  margin-top:4px;max-width:58ch}
#pm-ordem .topo .pts{margin-left:auto;flex:none;text-align:right}
#pm-ordem .topo .pts b{display:block;font:900 20px/1 "Montserrat",sans-serif;
  color:var(--brown);font-variant-numeric:tabular-nums}
#pm-ordem .topo .pts span{font:500 9.5px/1.4 "Montserrat",sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted)}

/* ---------- as tres montagens da rodada ---------- */
#pm-ordem .trilha{display:flex;gap:5px;padding:10px 16px;background:var(--panel-2);
  border-bottom:1px solid var(--rule)}
#pm-ordem .pt{flex:1 1 0;height:7px;border-radius:4px;background:var(--rule)}
#pm-ordem .pt.feita{background:var(--ok)}
#pm-ordem .pt.aberta{background:var(--warn)}
#pm-ordem .pt.aqui{background:var(--tan);box-shadow:0 0 0 2px var(--brown)}

/* ---------- a montagem ---------- */
#pm-ordem .mesa{padding:16px}
#pm-ordem .proj{display:flex;gap:14px;align-items:center;border-left:3px solid var(--brown);
  padding:4px 0 4px 12px;margin-bottom:14px}
#pm-ordem .proj .quem{flex:1;min-width:0}

/* a peca pronta: o objetivo, desenhado como em folha de projeto */
#pm-ordem .fig{flex:none;width:142px;border:1px solid var(--rule);border-radius:10px;
  padding:6px;background:
    repeating-linear-gradient(0deg,rgba(112,84,70,.06) 0 1px,transparent 1px 18px),
    repeating-linear-gradient(90deg,rgba(112,84,70,.06) 0 1px,transparent 1px 18px),
    var(--panel)}
#pm-ordem .fig svg{display:block;width:100%;height:auto}
#pm-ordem .proj .passo{display:block;font:600 10px/1.3 "Montserrat",sans-serif;
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
#pm-ordem .proj h2{font-size:19px;font-weight:900;line-height:1.2;margin-top:2px}
#pm-ordem .proj .ctx{font-size:12.5px;line-height:1.45;color:var(--muted);margin-top:3px}
#pm-ordem .ordena{font:600 12.5px/1.4 "Roboto",sans-serif;color:var(--ink-2);
  background:var(--brown-soft);border-radius:9px;padding:9px 12px;margin-bottom:12px}

/* ---------- as fichas ---------- */
#pm-ordem .fichas{display:grid;gap:7px;margin-bottom:14px}
#pm-ordem .fi{display:flex;gap:10px;align-items:center;background:var(--panel);
  border:1px solid var(--rule);border-radius:11px;padding:10px 11px;
  user-select:none;-webkit-user-select:none}
#pm-ordem .fi .num{flex:none;width:25px;height:25px;border-radius:7px;background:var(--brown-soft);
  color:var(--ink-2);font:700 12px/25px "Roboto Mono",monospace;text-align:center}
#pm-ordem .fi .ic{flex:none;width:38px;height:38px;border-radius:8px;background:var(--panel-2);
  border:1px solid var(--rule-2);padding:2px;display:block}
#pm-ordem .fi .txt{flex:1;font-size:14px;line-height:1.35}
#pm-ordem .fi .pega{flex:none;width:26px;height:30px;border:0;background:none;padding:0;
  touch-action:none;
  cursor:grab;color:var(--muted);display:flex;align-items:center;justify-content:center}
#pm-ordem .fi .pega:active{cursor:grabbing}
#pm-ordem .fi .pega svg{width:14px;height:20px;display:block}
#pm-ordem .fi .setas{flex:none;display:flex;flex-direction:column;gap:2px}
#pm-ordem .fi .setas button{width:26px;height:15px;border:1px solid var(--rule);
  background:var(--panel-2);color:var(--ink-2);border-radius:5px;font-size:9px;
  display:flex;align-items:center;justify-content:center;padding:0}
#pm-ordem .fi .setas button:hover:not(:disabled){border-color:var(--brown);background:var(--brown-soft)}
#pm-ordem .fi .setas button:disabled{opacity:.35;cursor:not-allowed}
#pm-ordem .fi.pegando{opacity:.35;border-style:dashed;background:var(--panel-2)}
#pm-ordem .fi.culpa-a{border-color:var(--warn);background:var(--warn-soft);
  box-shadow:inset 3px 0 0 var(--warn)}
#pm-ordem .fi.culpa-b{border-color:var(--bad);background:var(--bad-soft);
  box-shadow:inset 3px 0 0 var(--bad)}
#pm-ordem .fi.travada{background:var(--panel-2)}
#pm-ordem .fi.travada .pega,#pm-ordem .fi.travada .setas{display:none}
#pm-ordem .fi.travada .num{background:var(--ok);color:#fff}

/* os desenhos: figura da peca e icone da acao usam as mesmas classes */
#pm-ordem .fig svg,#pm-ordem .fi .ic svg,#pm-ordem .voando .ic svg{overflow:visible}
#pm-ordem .p1{fill:var(--mad-1);stroke:var(--grafite);stroke-width:2}
#pm-ordem .p2{fill:var(--mad-2);stroke:var(--grafite);stroke-width:2}
#pm-ordem .cv{fill:var(--cava);stroke:var(--grafite);stroke-width:1.6}
#pm-ordem .mt{fill:var(--metal);stroke:var(--grafite);stroke-width:1.6}
#pm-ordem .pn{fill:var(--tan);stroke:var(--grafite);stroke-width:1.6}
#pm-ordem .es{fill:var(--esc);stroke:var(--grafite);stroke-width:1.6}
#pm-ordem .vg{stroke:var(--cava);stroke-width:1.1;opacity:.45}
#pm-ordem .gd{stroke:var(--grafite);stroke-width:1.4;stroke-dasharray:5 4;opacity:.65}
#pm-ordem .gdf{fill:none;stroke:var(--grafite);stroke-width:1.4;stroke-dasharray:5 4;opacity:.7}
#pm-ordem .ar{fill:var(--brown);stroke:none}
#pm-ordem .ar-l{stroke:var(--brown);stroke-width:1.6}
#pm-ordem .fi .ic svg .p1,#pm-ordem .fi .ic svg .p2,#pm-ordem .fi .ic svg .cv,
#pm-ordem .fi .ic svg .mt,#pm-ordem .fi .ic svg .pn{stroke-width:2.6}

/* a ficha que voa com o dedo */
#pm-ordem .voando{position:fixed;z-index:70;pointer-events:none;box-shadow:var(--sombra);
  border:1px solid var(--brown);border-radius:11px;background:var(--panel);
  display:flex;gap:10px;align-items:center;padding:10px 11px;
  font:400 14px/1.35 "Roboto",sans-serif;color:var(--ink)}
#pm-ordem .voando .num{flex:none;width:25px;height:25px;border-radius:7px;
  background:var(--tan);color:var(--ink);font:700 12px/25px "Roboto Mono",monospace;
  text-align:center}

/* ---------- conferir, erro e acerto ---------- */
#pm-ordem .barra{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
#pm-ordem .barra .rest{font-size:12.5px;color:var(--muted)}
#pm-ordem .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-ordem .b-p{background:var(--brown);border-color:var(--brown);color:var(--brown-fg)}
#pm-ordem .b-p:hover{filter:brightness(1.1)}
#pm-ordem .b-g{border:0;background:none;color:var(--muted);padding:13px 6px;
  text-decoration:underline}

#pm-ordem .erro,#pm-ordem .certo{border-radius:0 11px 11px 0;padding:13px 15px;
  margin:14px 0 0;font-size:14px;line-height:1.5}
#pm-ordem .erro{background:var(--warn-soft);border-left:3px solid var(--warn);color:var(--ink-2)}
#pm-ordem .erro strong{display:block;font:700 14.5px/1.3 "Montserrat",sans-serif;
  margin-bottom:5px;color:var(--ink)}
#pm-ordem .erro .cita{display:block;background:var(--panel);border:1px solid var(--rule);
  border-radius:8px;padding:9px 11px;margin:8px 0;font-size:13px}
#pm-ordem .erro .cita i{display:block;font:600 9.5px/1.3 "Montserrat",sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-style:normal;
  margin-bottom:3px}
#pm-ordem .certo{background:var(--ok-soft);border-left:3px solid var(--ok)}
#pm-ordem .certo strong{display:block;font:700 15.5px/1.3 "Montserrat",sans-serif;
  margin-bottom:4px}

/* as regras, mostradas depois de resolver: e a parte que ensina */
#pm-ordem .porques{border:1px solid var(--rule);border-radius:12px;padding:14px;
  margin-top:14px}
#pm-ordem .porques h4{font:900 11px/1.3 "Montserrat",sans-serif;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:9px}
#pm-ordem .porques li{padding:9px 0;border-top:1px solid var(--rule-2);font-size:13px;
  line-height:1.5}
#pm-ordem .porques li:first-child{border-top:0}
#pm-ordem .porques .par{display:block;font:600 12.5px/1.4 "Montserrat",sans-serif;
  color:var(--ink);margin-bottom:3px}
#pm-ordem .porques .par em{font-style:normal;color:var(--brown)}
#pm-ordem .porques .pq{color:var(--muted)}
#pm-ordem .porques a{display:inline-block;margin-top:10px;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-ordem .segue{display:flex;justify-content:flex-end;margin-top:14px}

/* ---------- fim de rodada ---------- */
#pm-ordem .fim{position:absolute;inset:0;z-index:60;display:flex;align-items:center;
  justify-content:center;padding:16px;background:rgba(60,52,49,.58)}
#pm-ordem .cart{background:var(--panel);border-radius:14px;box-shadow:var(--sombra);
  padding:22px;max-width:480px;width:100%;max-height:100%;overflow:auto}
#pm-ordem .cart h3{font-size:21px;font-weight:900;line-height:1.2;margin-bottom:4px}
#pm-ordem .cart .obs{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:15px}
#pm-ordem .nota{background:var(--brown-soft);border-radius:12px;padding:16px;
  text-align:center;margin-bottom:15px}
#pm-ordem .nota b{font:900 40px/1 "Montserrat",sans-serif;color:var(--brown)}
#pm-ordem .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-ordem .lista li{display:flex;gap:10px;align-items:baseline;padding:8px 0;
  border-top:1px solid var(--rule-2);font-size:13.5px}
#pm-ordem .lista li:first-child{border-top:0}
#pm-ordem .lista .nm{flex:1;font-weight:600}
#pm-ordem .lista .vl{font:600 12px/1 "Roboto Mono",monospace;color:var(--muted)}
#pm-ordem .placar{display:flex;gap:1px;background:var(--rule);border:1px solid var(--rule);
  border-radius:10px;overflow:hidden;margin-top:14px}
#pm-ordem .placar div{flex:1;background:var(--panel-2);padding:10px 6px;text-align:center}
#pm-ordem .placar span{display:block;font:500 8.5px/1.3 "Montserrat",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#pm-ordem .placar b{font:900 15px/1.2 "Montserrat",sans-serif}
#pm-ordem .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:15px;
  font-size:13px;color:var(--ink-2);line-height:1.45}
#pm-ordem .acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#pm-ordem .toast{position:absolute;left:50%;transform:translateX(-50%);top:12px;z-index:80;
  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-ordem .carregando{padding:48px 20px;text-align:center;color:var(--muted);font-size:14px}

@media (max-width:560px){
  #pm-ordem{border-radius:0}
  #pm-ordem .topo{padding:12px}
  #pm-ordem .topo h1{font-size:18px}
  #pm-ordem .mesa{padding:13px 12px}
  #pm-ordem .proj h2{font-size:17px}
  #pm-ordem .proj{gap:10px}
  #pm-ordem .fig{width:104px;padding:4px}
  #pm-ordem .fi{padding:9px 10px}
  #pm-ordem .fi .ic{width:32px;height:32px}
  #pm-ordem .fi .txt{font-size:13.5px}
  #pm-ordem .cart{padding:16px}
}
@media (prefers-reduced-motion:reduce){#pm-ordem *{animation:none!important;transition:none!important}}
