body:has(.fl-visitor-actions) #loading { background: #040918; }
.fl-visitor-actions { position: relative; z-index: 10000; margin: 24px auto 0; padding: 0 16px; max-width: 560px; color: #eee5d5; font: 15px/1.6 system-ui, sans-serif; }
.fl-visitor-actions-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.fl-visitor-actions button, .fl-visitor-actions a { box-sizing: border-box; min-height: 44px; padding: 9px 18px; font: inherit; letter-spacing: .02em; border-radius: 24px; cursor: pointer; opacity: 1; transition: background .2s, border-color .2s; }
.fl-visitor-heart { display: inline-flex; gap: 8px; align-items: center; justify-content: center; color: #f1dfbd; background: #131d32; border: 1px solid #ac997b; }
.fl-visitor-heart:hover:enabled:not([aria-disabled="true"]) { background: #243047; border-color: #eddabb; }
.fl-visitor-heart[aria-disabled="true"] { cursor: default; }
.fl-visitor-heart:disabled { cursor: default; color: #c5bdaf; border-color: #716c63; }
.fl-visitor-heart[data-sent] { color: #f1dfbd; border-color: #ac997b; }
.fl-visitor-actions .fl-visitor-create { display: inline-flex; align-items: center; color: #f2eada; background: #0d1527; border: 1px solid #626a7b; }
.fl-visitor-actions .fl-visitor-create:hover { color: #fff8e9; border-color: #c5b79c; opacity: 1; }
.fl-visitor-actions a[aria-disabled="true"] { opacity: .65; }
.fl-visitor-actions :focus-visible { outline: 2px solid #f0d7aa; outline-offset: 5px; }
.fl-visitor-status { min-height: 24px; margin: 10px 0 0; color: #c5c8d0; font-size: 14px; }
.fl-visitor-actions .fl-visitor-retry { min-height: 44px; padding: 4px 14px; border: 0; color: #f2eada; background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.fl-visitor-actions [hidden] { display: none !important; }
.fl-couple-portrait { position: relative; }
.title .fl-couple-portrait .img { top: 50%; max-width: 45vw; object-fit: cover; }
@media (min-width: 769px) and (max-height: 780px) {
    .fl-couple-visit-stage:has(.fl-visitor-actions) { position: absolute; z-index: 9998; inset: 76px 0 0; display: flex; overflow-y: auto; padding: 20px 0 80px; box-sizing: border-box; }
    .fl-couple-visit-stage:has(.fl-visitor-actions) > .title { position: relative; top: auto; left: auto; transform: none; flex-shrink: 0; margin-block: auto; }
}
@media (max-width: 768px) {
    .fl-visitor-actions { margin-top: 44px; }
    .fl-visitor-actions-row { gap: 10px; }
    .fl-visitor-actions button, .fl-visitor-actions a { padding-inline: 15px; font-size: 14px; }
    .fl-couple-visit-stage:has(.fl-visitor-actions) { padding-bottom: max(104px, env(safe-area-inset-bottom)); }
    .fl-couple-visit-stage:has(.fl-visitor-actions) .title #pinkboard { height: clamp(290px, calc(100svh - 485px), 390px); }
}
@media (prefers-reduced-motion: reduce) { .fl-visitor-actions button, .fl-visitor-actions a { transition: none; } }
