.mopza-welcome[hidden] { display: none; }
.mopza-welcome {
    position: fixed;
    right: max(20px, env(safe-area-inset-right));
    bottom: max(20px, env(safe-area-inset-bottom));
    z-index: 101;
    width: min(340px, calc(100% - 40px));
    box-sizing: border-box;
    padding: 22px 24px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-top: 3px solid var(--color-sage);
    border-radius: 6px;
    box-shadow: 0 8px 32px rgb(43 50 43 / 14%);
    animation: mopza-arrive .25s ease-out;
}
.mopza-welcome h2 { margin: 8px 0 10px; font: 400 1.4rem/1.15 var(--font-body); letter-spacing: -.02em; }
.mopza-welcome p { margin: 0 0 14px; font: 15px/1.5 var(--font-ui); }
.mopza-welcome a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--color-sage); font: 700 15px/1.4 var(--font-ui); text-decoration: none; }
.mopza-welcome-link-label { text-decoration: underline; text-underline-offset: 2px; }
.mopza-welcome-close { position: absolute; top: 3px; right: 3px; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--color-text-muted); font: 24px/1 var(--font-ui); cursor: pointer; }
.mopza-welcome-close:hover { color: var(--color-text); }
.mopza-welcome :focus-visible { outline: 2px solid var(--color-sage); outline-offset: 3px; }
@keyframes mopza-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.mopza-welcome:not([hidden]) ~ .scroll-to-top { visibility: hidden; }
@media (max-width: 480px) { .mopza-welcome { width: min(300px, calc(100% - 24px)); right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); padding: 18px; } }
@media (prefers-reduced-motion: reduce) { .mopza-welcome { animation: none; } }
@media print { .mopza-welcome { display: none; } }
