.copy-guide{border:2px solid #b77b94;background:#fff7fa;border-radius:14px;padding:22px;margin:24px 0 30px;scroll-margin-top:16px}
.copy-step-track{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--rose);margin-bottom:14px}
.copy-step-track strong:first-child{background:var(--rose);color:white;border-radius:6px;padding:8px 10px}
.copy-guide h2{font-size:23px;font-weight:700;line-height:1.6;margin:0 0 8px}
.copy-reason{font-size:15px;margin:0 0 14px}
.copy-guide .copy-label{margin-top:16px}
.copy-guide textarea{font-size:16px;line-height:1.65;margin-bottom:15px}
.copy-guide .copy-action{font-size:18px;font-weight:700;min-height:62px;padding:15px 10px}
.copy-status{font-size:14px;line-height:1.8;margin:14px 0;color:#774257;font-weight:700}
.paste-reminder{padding-top:17px;border-top:1px solid #dfc1cf;font-size:14px;line-height:1.9}
.paste-reminder strong{font-size:16px}
.copy-guide.is-copied{border-color:#7a9b8c;background:#f3faf6}
.is-copied .copy-action{background:#347254}
.is-copied .copy-status{color:#285d44}
.is-copied .copy-step-track strong:first-child{background:#347254}
.manual-copy{background:white;padding:16px;border:1px solid #d5adb5;border-radius:8px;line-height:1.9;font-size:14px;margin:12px 0}
.paste-picture{margin:22px 0 0;border:1px solid #deb9ca;background:white;border-radius:10px;padding:15px 12px}
.paste-picture-title{color:var(--rose)!important;font-weight:700;font-size:18px!important;text-align:center;margin:0 0 12px!important}
.paste-picture-frame{position:relative;max-width:460px;margin:auto}
.paste-picture-frame img{width:100%;height:auto;display:block}
.paste-picture-target{position:absolute;inset:24% 1.3% 5.6%;display:grid;place-items:center;border:3px solid #b83665;border-radius:6px;background:#fff5f8d9;text-align:center;pointer-events:none;color:#8d244d;font-size:clamp(14px,4vw,22px);line-height:1.5}
.paste-picture-target b{font-size:1.18em}
.paste-picture figcaption{font-size:11px;color:var(--muted);text-align:right;margin-top:7px}
.paste-picture-help{font-size:13px!important;line-height:1.9!important;text-align:center;color:var(--muted);margin:12px 0 0!important}
/* Slow, subtle highlighting; never hide the label or flash between light/dark. */
.copy-attention{animation:copy-highlight 2.6s ease-in-out infinite}
@keyframes copy-highlight{0%,100%{box-shadow:0 0 0 0 #bc709600}50%{box-shadow:0 0 0 6px #bc709638;background-color:#a24c6a}}
#reservation-dock .dock-copy-button{grid-column:1/-1;font-weight:700;font-size:17px;min-height:54px}
#reservation-dock.needs-copy .reservation-button{background:#fff;color:var(--rose);border:1px solid #b88599;font-size:14px;min-height:44px}
#reservation-dock.needs-copy .reservation-button:disabled{opacity:1;background:#eee9ec;color:#85777e;border-color:#ddd3d8}
#reservation-dock.copy-done .dock-copy-button{background:transparent;color:#347254;border:0;padding:0;min-height:28px;font-size:13px}
@media(max-width:420px){.copy-guide{padding:17px 14px}.copy-guide h2{font-size:21px}.copy-step-track{gap:6px;font-size:12px}.copy-guide .copy-action{font-size:17px}}
@media(prefers-reduced-motion:reduce){.copy-attention{animation:none!important;box-shadow:0 0 0 3px #bc709638}}
