/* Small, direct manipulations of the existing creative canvas. */
.canvas-hero .editorial-lead{font-size:1.24em;line-height:.94;margin-bottom:8px;letter-spacing:-.05em}
.canvas-hero .canvas-type{transform:rotate(-7deg)}
.canvas-hero .canvas-curve{pointer-events:auto;transform:none;overflow:visible}
.canvas-curve .curve-stroke{pointer-events:none;animation:none}
.curve-node{cursor:grab;touch-action:none;outline:none}
.curve-node:active{cursor:grabbing}
.curve-node .node-hit{fill:transparent;stroke:none}
.curve-node .node-mark{transition:fill .15s,stroke-width .15s}
.curve-node:hover .node-mark,.curve-node:focus-visible .node-mark{fill:#be1e2d;stroke-width:3}
.curve-node:focus-visible .node-hit{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 5}
.curve-node.is-dragging .node-mark{fill:#be1e2d}
.workbench-tools{position:absolute;left:50%;bottom:72px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font:400 14px/1.3 Afacad,Arial,sans-serif;white-space:nowrap}
.workbench-reset{min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:30px;background:var(--canvas);color:var(--ink);font:inherit;cursor:pointer}
.workbench-reset[hidden]{display:none}
.study-drag{position:absolute;right:-16px;top:-30px;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--muted);font:22px/1 Afacad,sans-serif;cursor:grab;touch-action:none;border-radius:50%;z-index:2}
.study-drag:hover,.study-drag:focus-visible{background:var(--soft);color:var(--ink)}
.hero-palette .study-drag{right:-22px;top:-28px}
.canvas-type,.hero-palette.brand-palette{translate:var(--drag-x,0px) var(--drag-y,0px)}
.canvas-hero.is-editing{user-select:none}
.workbench-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){
 .canvas-hero .editorial-lead{font-size:1.2em;margin-bottom:8px}
 .workbench-tools{bottom:65px;font-size:12px;gap:8px}
 .study-drag{top:-16px;right:-18px}
 .hero-palette .study-drag{top:-10px;right:-35px}
 .curve-node .node-hit{r:32px}
}
@media(prefers-reduced-motion:reduce){.curve-node .node-mark{transition:none}}
