/* /stop-motion-maker/ page styles. Built from /assets/polyatic.css tokens only (no new colours or fonts). */
.nojs{margin:1.25rem 0 0;padding:0.875rem 1rem;border:1px solid var(--line);border-left:0.25rem solid var(--accent);border-radius:0.625rem;background:var(--surface);color:var(--ink);font-size:0.9375rem;line-height:1.6}

@media(min-width:920px){.sm-duo{grid-template-columns:minmax(0,1.3fr) minmax(21rem,1fr)}}
.sm-left,.sm-side{display:grid;gap:1rem;align-content:start;grid-template-columns:minmax(0,1fr)}
.sm-shoot.drag{border-color:var(--accent);background-color:var(--accent-soft)}

/* the two ways in, side by side on the first screen */
.sm-start{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem}
.sm-start .btn{width:100%;height:3rem;font-size:0.96875rem}
.cam-on .sm-cam{background:var(--surface);color:var(--ink);border:1px solid var(--line-2);box-shadow:none}

.hint{font-size:0.8125rem;color:var(--muted);margin:0.625rem 0.125rem 0.75rem;min-height:1.125rem;line-height:1.5;overflow-wrap:anywhere}
.hint.bad{color:var(--bad);font-weight:600}

/* the stage: live camera with the onion skin, or the selected frame */
.sm-stage{position:relative;border-radius:0.5rem;overflow:hidden;background:var(--mat);aspect-ratio:16/9;display:grid;place-items:center}
.sm-stage canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;grid-area:1/1}
.sm-stage-empty{grid-area:1/1;margin:0;padding:1rem 1.25rem;text-align:center;color:var(--mat-muted);font-size:0.875rem;max-width:34ch}
.sm-stage-empty[hidden],.sm-countdown[hidden]{display:none}
.sm-countdown{position:absolute;top:0.5rem;right:0.5rem;min-width:2.5rem;padding:0.125rem 0.5rem;border-radius:0.5rem;background:var(--signal);color:var(--signal-ink);font-family:var(--mono);font-weight:700;font-size:1.5rem;text-align:center}
.sm-vid{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:0;top:0}
.sm-stage.flash::after{content:"";position:absolute;inset:0;background:#fff;opacity:0;animation:sm-flash .25s ease-out}
@keyframes sm-flash{from{opacity:.6}to{opacity:0}}

.sm-cambar{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 0.75rem;margin-top:0.75rem}
.sm-snap{flex:1 1 9rem;height:3rem;font-size:1rem}
.sm-snap.on{background:var(--bad)}
.sm-snap:disabled,.sm-save:disabled{opacity:.5;cursor:default;filter:none}
.sm-timer{display:flex;align-items:center;gap:0.375rem;font-size:0.875rem;color:var(--muted)}
.sm-timer select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:0.5rem;padding:0.4375rem 0.5rem}

.sm-onion{display:flex;align-items:center;gap:0.75rem;margin-top:0.75rem}
.sm-onion input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}
.sm-check{display:flex;align-items:center;gap:0.4375rem;font-size:0.9375rem;cursor:pointer;white-space:nowrap}
.sm-check input{accent-color:var(--accent);width:1.0625rem;height:1.0625rem;margin:0}
.sm-val{font-family:var(--mono);font-size:0.8125rem;color:var(--accent);font-variant-numeric:tabular-nums;min-width:3.25rem;text-align:right}
.sec .sm-val{margin-left:0.25rem;min-width:0}

/* the frame strip */
.sm-striphead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0.25rem 1rem}
.sm-striphead .sec{margin-bottom:0.5rem}
.sm-strip{display:flex;gap:0.375rem;overflow-x:auto;padding:0.25rem 0.125rem 0.5rem;scroll-behavior:smooth;min-height:0}
.sm-strip:empty{display:none}
.sm-frame{position:relative;flex:none;width:4.5rem;height:3.25rem;padding:0;border:2px solid var(--line);border-radius:0.375rem;background:var(--surface-2);cursor:pointer;overflow:hidden}
.sm-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.sm-frame span{position:absolute;left:0.1875rem;bottom:0.125rem;padding:0 0.25rem;border-radius:0.25rem;background:rgba(0,0,0,.6);color:#fff;font-family:var(--mono);font-size:0.6875rem;line-height:1.4}
.sm-frame[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--signal)}
.sm-frame:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sm-strip-empty{margin:0.25rem 0.125rem 0.5rem}
.sm-strip-empty[hidden]{display:none}
.sm-tools{display:flex;flex-wrap:wrap;gap:0.375rem;margin-top:0.5rem}
.sm-tools .chip{padding:0.4375rem 0.6875rem}
.sm-clear{margin-left:auto;color:var(--bad)}
.chip:disabled{opacity:.45;cursor:default}
.chip:focus-visible,.modes button:focus-visible,.sm-check input:focus-visible,.sm-timer select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.sec{font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 0.625rem}
.sm-dim{font-family:var(--mono);font-size:0.75rem;color:var(--muted);margin:0.5rem 0.125rem 0;overflow-wrap:anywhere}
.sm-striphead .sm-dim{margin:0}

/* preview and save */
.sm-pv{position:relative;border:1px solid var(--line);border-radius:0.5rem;background:var(--surface-2);padding:0.5rem;min-height:8rem;display:grid;place-items:center}
.sm-pv canvas{display:block;max-width:100%;height:auto;border-radius:0.25rem;background:#000;grid-area:1/1}
.sm-pv-empty{grid-area:1/1;align-self:stretch;justify-self:stretch;display:flex;align-items:center;justify-content:center;margin:0;padding:1rem;text-align:center;font-size:0.875rem;color:var(--muted);background:var(--surface-2)}
.sm-pv-empty[hidden]{display:none}
.sm-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 0.75rem;margin-top:0.625rem}
.sm-row .sm-dim{margin:0}
.sm-h{margin-top:1.125rem}
.sm-side .modes{margin-bottom:0.875rem}
.sm-hold{display:block}
.sm-hold input{width:100%;accent-color:var(--accent)}
.sm-len{margin:0.875rem 0.125rem 0;font-size:0.9375rem}
.sm-len b{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sm-len .sm-dim{margin:0}
.sm-save{width:100%;margin-top:1rem;height:3rem;font-size:1rem}
.sm-prog{margin-top:0.75rem}
.sm-prog[hidden],.sm-warn[hidden]{display:none}
.sm-prog progress{width:100%;height:0.5rem;accent-color:var(--accent)}
.sm-out{font-size:0.875rem;margin:0.75rem 0.125rem 0;overflow-wrap:anywhere}
.sm-out:empty{display:none}
.sm-warn{font-size:0.8125rem;color:var(--warn);font-weight:600;margin:0.75rem 0.125rem 0;line-height:1.5}

.explainer .sm-steps,.explainer .sm-cannot{color:var(--muted);font-size:0.9375rem;margin:0 0 0.75rem;padding-left:1.25rem}
.explainer .sm-steps li,.explainer .sm-cannot li{margin:0 0 0.5rem}
.explainer .sm-steps b,.explainer .sm-cannot b{color:var(--ink)}

@media (prefers-reduced-motion:reduce){.sm-stage.flash::after{animation:none}.sm-strip{scroll-behavior:auto}}
