/* simuladores (app/simuladores.js, app/sim/*.js, 08-10-2026): o palco, os controlos e as leituras, na cara do caderno */
.sim-pag{max-width:900px}
.sim{margin:4px 0 30px}
.sim-espera{color:var(--muted);padding:40px 0}
.sim-topo{display:grid;gap:10px;margin-bottom:12px}
.sim-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.sim-ctl-r{font-weight:700;font-size:14.5px;color:var(--muted);min-width:96px}
.sim-seg{display:flex;flex-wrap:wrap;gap:6px}
.sim-seg button{font:inherit;font-size:14.5px;padding:7px 12px;border-radius:999px;border:1.5px solid var(--line2);background:var(--surface);color:var(--ink);cursor:pointer}
.sim-seg button:hover{border-color:var(--ink)}
.sim-seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:700}
.sim-palco{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sim-svg{display:block;width:100%;height:auto;max-height:64vh}
.sim-pega{touch-action:none;cursor:grab}.sim-pega:active{cursor:grabbing}
.sim-mao{font-family:"Patrick Hand",var(--body)}
.sim-halo{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.sim-baixo{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 4px}
.sim-regua{flex:1;min-width:260px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px}
.sim-regua .sim-ctl-r{grid-column:1/-1}
.sim-regua input{width:100%;accent-color:var(--accent)}
@media (max-width:600px){.sim-ctl{display:grid;gap:8px}.sim-regua{grid-template-columns:minmax(0,1fr) auto}}
.sim-regua output{font-weight:700;min-width:58px;text-align:right;font-variant-numeric:tabular-nums}
.sim-botao{font:inherit;font-weight:700;font-size:14.5px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer}
.sim-leit{margin:16px 0 10px;min-height:104px}
.sim-leit p{margin:0 0 6px;max-width:66ch}
.sim-grande{font:700 22px/1.25 var(--display)}
.sim-leg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted)}
.sim-leg i{display:inline-block;width:22px;height:8px;border-radius:3px;margin-right:6px;vertical-align:middle}
.sim-nota{font-size:13.5px;color:var(--muted);margin:10px 0 0}
.sim-margem{margin:12px 0 0}
.sim-medidor{display:grid;grid-template-columns:auto minmax(60px,1fr) auto;gap:10px;align-items:center;font-size:14.5px}
.sim-medidor > span:first-child{font-weight:700;color:var(--muted)}
.sim-medidor .barra{position:relative;height:10px;border-radius:99px;background:var(--sunk);overflow:hidden}
.sim-medidor .barra i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;transition:width .15s linear}
.sim-medidor .barra::after{content:"";position:absolute;left:83.3%;top:0;bottom:0;width:2px;background:var(--ink);opacity:.55}
@media (max-width:600px){.sim-medidor{grid-template-columns:auto 1fr}.sim-medidor b{grid-column:1/-1}}
.sim-liga{margin:28px 0 0}.sim-liga h2{font-size:18px;margin:0 0 10px}
.sim-de{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.sim-termos{color:var(--muted);margin:10px 0 0}.sim-termos a{color:var(--ink)}
.sim-ir{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:14px 0 6px;padding:12px 14px;border-radius:var(--r);border:1.5px dashed color-mix(in oklab,var(--pratica) 50%,transparent);background:color-mix(in oklab,var(--pratica) 6%,var(--surface));text-decoration:none;color:inherit}
.sim-ir > .ic:first-child{color:var(--pratica)}
.sim-ir small{display:block;font-size:13px;color:var(--pratica);font-weight:700}
.sim-ir span{font-weight:700}
.termo .de.sim-t{margin-top:6px;color:var(--pratica)}
@media (min-width:980px){.guia-l > .g-it:last-child:nth-child(odd){grid-column:1/-1}}
/* a bancada (arrumarSim): o que se vê preso, o que se mexe num painel */
.sim-ver{position:sticky;top:var(--sim-topo,64px);z-index:3;background:var(--bg);padding:2px 0 10px;box-shadow:0 -14px 0 var(--bg)}
.sim-ver.solto{position:static}
.sim-ver .sim-margem{margin:10px 2px 0}
.sim-ver .sim-medidor{grid-template-columns:auto minmax(40px,1fr) auto;font-size:13.5px}.sim-ver .sim-medidor b{grid-column:auto}
.sim-resumo{font:700 17px/1.3 var(--display);margin:8px 2px 0;min-height:1.3em}
.sim-resumo:empty{display:none}
.sim-mexer{display:grid;gap:14px;margin-top:8px}
.sim-painel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.sim-painel .sim-topo{margin:0;gap:12px}
.sim-painel .sim-topo + .sim-baixo{border-top:1px solid var(--line);margin:14px 0 0;padding-top:14px}
.sim-painel .sim-baixo{margin:0}
.sim-painel .sim-botao{border-width:1.5px}
.sim-painel .sim-botao[data-acao="limite"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.sim-painel .sim-seg{gap:4px}
.sim-painel .sim-seg button{padding:6px 11px;font-size:14px}
.sim-painel .sim-baixo .sim-regua{flex:1 1 100%}
.sim-mexer .sim-leit{margin:4px 0 0;min-height:0}
.sim-mexer .sim-leit .sim-grande{display:none}
@media (min-width:980px){
  .sim-arrumado{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:26px;align-items:start}
  .sim-arrumado > .sim-ver{grid-column:1;grid-row:1 / span 2;top:calc(var(--sim-topo,64px) + 8px)}
  .sim-arrumado > .sim-mexer{grid-column:2;margin-top:0}
  .sim-arrumado .sim-ctl{display:grid;gap:6px}
  .sim-pag{max-width:1180px}
  .sim-ver .sim-svg{max-height:calc(100vh - var(--sim-topo,64px) - 150px)}
  .sim-ver .sim-svg + .sim-svg{max-height:22vh}
}
@media (max-width:979px){
  .sim-ver .sim-svg{max-height:40vh}
  .sim-ver .sim-svg + .sim-svg{max-height:16vh}
  .sim-resumo{font-size:16px}
  /* a tábua no telemóvel: o tronco e a peça em 3D lado a lado, para caberem presos em cima */
  .sim-ver .tb-palco{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sim-ver .tb-svg{max-height:34vh}
  .sim-ver .tb-3d{height:auto;min-height:0;border-top:0;border-left:1px solid var(--line)}
}

