/* moldes.css — the Moldes de Natal page's layer on top of /assets/polyatic.css: the stage (a cutting-mat
   card with the finished figure), the eleven figure buttons with their thumbnails, the size row with its
   presets, the piece list with colour swatches, and the sheet pager. Only the site's tokens are used. */
.mn-head .sub{margin-bottom:.75rem}
.mn-stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.875rem;box-shadow:var(--shadow)}
.mn-stage-h{font-family:var(--mono);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem}
.mn-figbox{display:flex;justify-content:center;align-items:center;min-height:13.75rem;padding:.75rem;border-radius:.625rem;
  background-color:var(--surface-2);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:1.25rem 1.25rem;background-position:-1px -1px}
.mn-figbox canvas{display:block;max-width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}
.mn-summary{margin:.625rem 0 .5rem;font-weight:600;font-size:.9375rem;font-variant-numeric:tabular-nums}
.mn-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem}
.mn-dl #pdfBtn{grid-column:1/-1}
.mn-msg{margin:.5rem 0 0;font-size:.8125rem;color:var(--muted);min-height:1.1em}
.mn-msg:empty{display:none}
.mn-nums{margin:.5rem 0 0;font-size:.8125rem;color:var(--ink-2)}
.mn-nums input{accent-color:var(--accent);margin-right:.25rem}
.mn-sheets{margin-top:.625rem;border-top:1px solid var(--line);padding-top:.5rem}
.mn-sheets summary{cursor:pointer;font-weight:600;font-size:.875rem;color:var(--accent)}
.mn-pager{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.625rem 0;font-size:.875rem;font-variant-numeric:tabular-nums}
.mn-pager .btn{height:2.25rem;padding:0 .875rem}
.mn-sheetbox{display:flex;justify-content:center}
.mn-sheetbox canvas{max-width:100%;height:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.mn-form-h{font-size:1.0625rem;margin:0}
.mn-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem}
@media(min-width:600px){.mn-figs{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:920px){.mn-figs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1180px){.mn-figs{grid-template-columns:repeat(6,minmax(0,1fr))}}
.mn-figs button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.375rem .25rem .4375rem;border:1px solid var(--line);border-radius:.625rem;background:var(--surface-2);color:var(--ink);font:inherit;font-size:.71875rem;line-height:1.2;cursor:pointer;min-width:0}
.mn-figs button span{overflow-wrap:anywhere;hyphens:auto;text-align:center}
.mn-figs button:hover{border-color:var(--muted)}
.mn-figs button.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--surface)}
.mn-figs button:focus-visible,.mn-presets button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mn-figs canvas{width:48px;height:48px}
@media(min-width:600px){.mn-figs canvas{width:56px;height:56px}}
.mn-size{display:flex;align-items:center;gap:.5rem}
.mn-size input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}
.mn-size input[type=number]{width:4.5rem;padding:.375rem .5rem;border:1px solid var(--line-2);border-radius:.5rem;background:var(--surface);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}
.mn-size span{color:var(--muted);font-size:.875rem}
.mn-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem;margin-top:.5rem}
.mn-presets button{display:flex;flex-direction:column;align-items:center;padding:.375rem .25rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-2);color:var(--ink);font:inherit;font-weight:600;font-size:.8125rem;cursor:pointer;line-height:1.2}
.mn-presets button span{font-weight:400;font-size:.6875rem;color:var(--muted);text-align:center}
.mn-presets button:hover{border-color:var(--muted)}
.mn-note{margin:.5rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--ink-2)}
.mn-note[hidden]{display:none}
#sizeNote{color:var(--warn)}
.modes#matBtns button{white-space:nowrap}
.mn-steps h3{margin:0 0 .5rem;font-size:.9375rem}
.mn-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:.3125rem;font-size:.8125rem;line-height:1.4}
.mn-steps li{display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap}
.mn-steps li span:last-child{color:var(--ink-2)}
.mn-sw{flex:none;width:.75rem;height:.75rem;border-radius:.1875rem;border:1px solid var(--line-2);transform:translateY(1px)}
.mn-noscript{margin:0;padding:.75rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--line)}
