.studio-restart{display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;min-height:44px;border-bottom:1px solid var(--line);margin-top:14px}.studio-restart svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.studio-restart:disabled{opacity:.5}.studio-ceremony{background:var(--bg);color:var(--text);border:1px solid var(--line);width:min(950px,94vw);max-width:none;max-height:94dvh;overflow:auto;padding:24px}.studio-ceremony::backdrop{background:rgb(12 15 13 / .8)}.studio-ceremony header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.studio-ceremony h2{font-size:clamp(23px,4vw,34px);line-height:1.15;letter-spacing:-.04em}.ceremony-close{min-height:44px;text-decoration:underline;font-size:13px;flex-shrink:0}.restart-confirm{max-width:560px}.restart-confirm p{line-height:1.7;color:var(--muted)}.restart-actions{margin-top:28px}.approval-stage{padding:12px 0}.ceremony-sheet{position:relative;width:100%;transform-origin:50% 80%;isolation:isolate}.ceremony-sheet>img{display:block;width:100%;height:auto;box-shadow:0 16px 40px rgb(0 0 0 / .12)}.stamp-tool{position:absolute;left:77%;top:83%;width:18%;height:9%;background:#52201d;border:2px solid #281917;color:#fff1e8;box-shadow:0 10px 12px rgb(0 0 0 / .25);display:grid;place-items:center;transform-origin:50% 100%;border-radius:3px;visibility:hidden}.stamp-tool i{position:absolute;bottom:100%;width:32%;height:90%;background:linear-gradient(90deg,#58271f,#9d5540 45%,#52231d);border-radius:40% 40% 5% 5%;box-shadow:inset 0 1px 2px #c88b68}.stamp-tool b{font:700 clamp(8px,1vw,13px) Arial;letter-spacing:.15em}.stamp-tool span{font:700 clamp(8px,1.2vw,18px) Georgia;letter-spacing:.05em}.ceremony-ink{position:absolute;left:77%;top:84%;width:17%;height:8%;display:grid;place-items:center;color:#992d2b;border:3px double currentColor;font:900 clamp(9px,1.8vw,23px) Georgia;letter-spacing:.03em;transform:rotate(-8deg);visibility:hidden;opacity:.92}.ceremony-status{font-size:14px;line-height:1.65;margin-top:22px;color:var(--muted)}.discard-stage{position:relative;height:clamp(300px,55vh,590px);overflow:hidden}.discard-paper{position:absolute;inset:0 0 16%;width:100%;height:84%;isolation:isolate;pointer-events:none}.discard-paper canvas{width:100%;height:100%;display:block}.discard-paper>.paper-fallback{position:absolute;left:13%;top:12%;width:74%;height:auto;transform:perspective(900px);border-radius:0}.discard-paper[data-render=webgl]>.paper-fallback{visibility:hidden}.discard-bin{position:absolute;right:9%;bottom:14%;width:66px;height:78px;transform:rotate(5deg);border:2px solid var(--text);border-top:0;border-radius:0 0 8px 8px;display:flex;justify-content:space-evenly;padding:13px 10px;background:var(--bg)}.discard-bin span{position:absolute;top:-9px;left:-7px;width:76px;border-top:5px solid var(--text);transform:rotate(-12deg);transform-origin:0 0}.discard-bin i{height:48px;border-left:1px solid var(--muted)}.discard-stage>.ceremony-status{position:absolute;bottom:0;left:0;right:0}.studio-ceremony:focus{outline:none}@media(max-width:600px){.studio-ceremony{padding:16px}.studio-ceremony header{align-items:flex-start}.ceremony-close{max-width:85px;text-align:end}.ceremony-status{font-size:12px}.stamp-tool{border-width:1px}.ceremony-ink{border-width:2px}.discard-bin{transform:scale(.8) rotate(5deg);right:8%}}
.discard-paper>.paper-fallback.is-crumpled{border-radius:30%;clip-path:polygon(8% 0,80% 5%,100% 24%,91% 82%,74% 100%,18% 95%,0 69%,5% 25%)}

/* One whole sheet, with room for the hand tool and explicit held approval. */
.approval-ceremony{width:min(1440px,96vw);max-height:96dvh;padding:20px 28px}
.approval-ceremony .approval-stage{display:flex;flex-direction:column;align-items:center;padding:16px 0 0}
.approval-ceremony .ceremony-sheet{width:min(100%,calc((100dvh - 310px) * 1123 / 794))}
.approval-actions{display:flex;justify-content:center;margin-top:12px;gap:16px}
.approval-actions .button{min-width:180px;min-height:48px}
.approval-actions [hidden]{display:none}
.stamp-target{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;background:transparent;border:0;z-index:2}
.stamp-target:disabled{pointer-events:none;cursor:default}
.stamp-target:focus-visible{outline:3px solid var(--text);outline-offset:6px}
.stamp-tool,.ceremony-ink{pointer-events:none;z-index:4}
.stamp-safe-zone{position:absolute;border:2px dashed #a3312d;background:#a3312d12;opacity:0;pointer-events:none}
.stamp-safe-zone.is-visible{opacity:1}
.approval-ceremony .ceremony-status{max-width:760px;text-align:center;margin:18px 0 0;min-height:45px}
@media(max-width:767px){.approval-ceremony{width:96vw;padding:16px 12px}.approval-ceremony header{margin-bottom:18px}.approval-ceremony h2{font-size:25px}.approval-ceremony .ceremony-sheet{width:100%}.approval-ceremony .approval-stage{padding-top:25px}.approval-ceremony .ceremony-status{font-size:13px;line-height:1.8}.approval-actions{width:100%}.approval-actions .button{width:100%}}

.stamp-cursor{position:absolute;display:none;color:#a3312d;font-size:20px;transform:translate(-50%,-50%);pointer-events:none}.approval-ceremony[data-phase=placement] .stamp-cursor{display:block}

.ceremony-close{line-height:1.7}
