.gift-bookmark-notice {
    position: fixed;
    top: max(14px, env(safe-area-inset-top));
    left: 50%;
    z-index: 9;
    width: min(640px, calc(100% - 24px));
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto 30px;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid #6574bd;
    border-radius: 18px;
    background: linear-gradient(120deg, #182443, #221a38);
    color: #f1f5f9;
    box-shadow: 0 12px 40px #0008;
    font-family: inherit;
    line-height: 1.55;
    transform: translateX(-50%);
    animation: gift-bookmark-enter .55s cubic-bezier(.22, 1, .36, 1) both;
}
.gift-bookmark-notice[hidden], .gift-bookmark-help[hidden] { display: none; }
.site-top-banner ~ .gift-bookmark-notice { z-index: 3100; }
.gift-bookmark-logo { width: 44px; height: 44px; object-fit: contain; }
.gift-bookmark-copy strong { display: block; font-size: 14px; font-weight: 800; }
.gift-bookmark-copy p { margin: 4px 0 0; color: #cbd5e1; font-size: 12px; word-break: keep-all; overflow-wrap: anywhere; }
.gift-bookmark-copy .gift-bookmark-help { margin-top: 10px; color: #ede9fe; }
.gift-bookmark-help kbd { display: inline-block; padding: 1px 5px; border: 1px solid #8290b1; border-radius: 4px; background: #0f172a; color: #fff; font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.6; }
.gift-bookmark-notice button, .gift-bookmark-launcher { font-family: inherit; cursor: pointer; }
.gift-bookmark-notice .gift-bookmark-action { padding: 9px 12px; border: 1px solid #a78bfa; border-radius: 10px; background: #6d28d9; color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.gift-bookmark-notice .gift-bookmark-action:hover { background: #7c3aed; }
.gift-bookmark-notice .gift-bookmark-close { align-self: start; width: 30px; height: 32px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #cbd5e1; font-size: 24px; font-weight: 400; line-height: 1; }
.gift-bookmark-notice .gift-bookmark-close:hover { background: #ffffff15; color: #fff; }
.gift-bookmark-notice button:focus-visible, .gift-bookmark-launcher:focus-visible { outline: 2px solid #c4b5fd; outline-offset: 3px; }
.gift-bookmark-launcher { display: block; width: fit-content; margin: 12px auto; padding: 8px 13px; border: 1px solid #475569; border-radius: 10px; background: #111827; color: #cbd5e1; font-size: 12px; font-weight: 600; }
.gift-credit .gift-bookmark-launcher { flex-basis: auto; }
@keyframes gift-bookmark-enter {
    from { opacity: 0; transform: translate(-50%, calc(-100% - 30px)); }
    to { opacity: 1; transform: translate(-50%, 0); }
}
@media (max-width: 600px) {
    .gift-bookmark-notice { grid-template-columns: 36px minmax(0, 1fr) 30px; gap: 8px 10px; padding: 13px; }
    .gift-bookmark-logo { width: 36px; height: 36px; align-self: start; }
    .gift-bookmark-copy strong { font-size: 13px; }
    .gift-bookmark-action { grid-row: 2; grid-column: 2; justify-self: start; }
    .gift-bookmark-close { grid-column: 3; grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .gift-bookmark-notice { animation: none; }
}
