/* FR-039 in-page confirmation dialog (confirm.js) and the no-JavaScript confirmation step. Brand tokens only, both themes.
   Tone stripe: sage standard, butter warning, coral destructive. */
.confirm, .confirm-step { --tone: var(--color-primary); }
.confirm[data-tone="warn"], .confirm-step[data-tone="warn"] { --tone: var(--color-picks); }
.confirm[data-tone="danger"], .confirm-step[data-tone="danger"] { --tone: var(--color-drop); }

dialog.confirm {
  width: min(30rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; margin: auto;
  background: var(--color-surface); color: var(--color-text);
  border: 1px solid var(--color-border); border-top: 4px solid var(--tone); border-radius: var(--radius-card);
  padding: 1.25rem 1.25rem 1rem; box-shadow: 0 18px 48px rgba(0, 0, 0, .45); overflow-wrap: anywhere;
}
dialog.confirm::backdrop { background: rgba(10, 20, 15, .72); }
.confirm-title, .confirm-step h1 { font-family: var(--font-heading); font-size: 1.25rem; line-height: 1.3; margin: 0 0 .5rem; display: flex; gap: .6rem; align-items: center; }
.confirm-icon {
  inline-size: 1.75rem; block-size: 1.75rem; border-radius: 50%; display: inline-grid; place-items: center; font-weight: 700; flex: none;
  background: color-mix(in srgb, var(--tone) 22%, transparent); color: var(--tone);
}
.confirm p { margin: .25rem 0 .75rem; }
.confirm ul, .confirm-step ul { margin: 0 0 .75rem; padding-left: 1.25rem; }
.confirm-subject { background: var(--color-canvas); border-radius: .5rem; padding: .5rem .75rem; font-size: var(--type-small); }
.confirm .confirm-subject { margin: 0 0 .75rem; }
.confirm-word { margin: .5rem 0; }
.confirm-word input { width: 100%; }
.confirm-actions { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }
.confirm-actions .button[disabled] { opacity: .45; cursor: not-allowed; }

.confirm-step {
  max-width: 36rem; background: var(--color-surface); border: 1px solid var(--color-border); border-top: 4px solid var(--tone);
  border-radius: var(--radius-card); padding: 1.25rem;
}
.confirm-step .confirm-actions { justify-content: flex-start; }

/* Phone: a bottom sheet with full-width buttons, Cancel nearest the thumb. */
@media (max-width: 560px) {
  dialog.confirm { margin: auto 0 0; width: 100vw; max-width: 100vw; border-radius: 1rem 1rem 0 0; border-bottom: 0; padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
  .confirm-actions { flex-direction: column-reverse; }
  .confirm-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  dialog.confirm[open] { animation: confirm-rise .14s ease-out; }
  @keyframes confirm-rise { from { transform: translateY(8px); opacity: 0; } }
}
