.message-wall{background:radial-gradient(at top,#3a638c 0,#183b5e 55%,#0f2a4a 100%);min-height:100svh;padding:36px 24px 56px}.message-wall-paper{background:#fbf8f3;border:1px solid #c6aa688c;max-width:1040px;margin:0 auto;box-shadow:0 24px 80px #05182a47}.message-wall-navigation{min-height:70px;color:var(--champagne-ink);border-bottom:1px solid #c6aa6847;justify-content:space-between;align-items:center;gap:16px;padding:12px 36px;display:flex}.message-wall-back{min-height:44px;color:var(--primary);align-items:center;gap:8px;font-size:.8rem;display:inline-flex}.message-wall-back:hover{text-underline-offset:4px;text-decoration:underline}.message-wall-header{text-align:center;padding:232px 28px 34px;position:relative;overflow:hidden}.message-wall-header:before{opacity:.85;content:"";pointer-events:none;background:url(/invitation/crystal-floral-frame.webp) top/min(100%,680px) no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 50%,#0000 100%);mask-image:linear-gradient(#000 50%,#0000 100%)}.message-wall-header-content{position:relative}.message-wall-couple{color:var(--primary);letter-spacing:-.03em;text-shadow:0 0 15px #fbf8f3;font-size:clamp(2.2rem,6vw,4.5rem);line-height:1.1}.message-wall-couple span{color:var(--champagne-ink);padding:0 .12em;font-size:.8em;display:inline-block}.message-wall-date{color:var(--primary);letter-spacing:.2em;text-transform:uppercase;margin-top:18px;font-size:11px;font-weight:600}.message-wall-ornament{color:var(--champagne-ink);justify-content:center;align-items:center;gap:16px;margin:22px 0;display:flex}.message-wall-ornament:before,.message-wall-ornament:after{background:linear-gradient(90deg, transparent, var(--champagne));content:"";width:66px;height:1px}.message-wall-ornament:after{transform:rotate(180deg)}.message-wall-title{color:var(--primary);font-size:clamp(2rem,4vw,2.75rem);line-height:1.15}.message-wall-subtitle{color:var(--muted-foreground);margin-top:10px;font-size:1.4rem;font-style:italic;line-height:1.35}.message-wall-content{padding:0 48px 44px}.message-wall-introduction{color:var(--muted-foreground);border-top:1px solid #c6aa6880;border-bottom:1px solid #c6aa684d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:26px;padding:14px 0;font-size:.8rem;line-height:1.6;display:flex}.message-wall-refresh,.message-wall-retry{min-height:44px;color:var(--primary);cursor:pointer;justify-content:center;align-items:center;gap:7px;font-size:.8rem;display:inline-flex}.message-wall-refresh:hover,.message-wall-retry:hover{text-underline-offset:4px;text-decoration:underline}.message-wall-refresh:disabled{color:var(--muted-foreground);cursor:wait;opacity:.65}.message-wall :is(a,button):focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:4px}.message-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.message-wall-status{min-height:200px;color:var(--muted-foreground);text-align:center;background:#fffdf9;border:1px solid #c6aa684d;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px 20px;font-size:.9rem;line-height:1.6;display:flex}.message-wall-status>svg{color:var(--champagne-ink)}.message-wall-footer{color:var(--champagne-ink);border-top:1px solid #c6aa6866;flex-direction:column;align-items:center;gap:12px;margin:0 48px;padding:30px 16px 36px;display:flex}.message-wall-footer p{color:var(--primary);text-align:center;font-size:1.5rem;font-style:italic}@media (max-width:640px){.message-wall{padding:14px 10px 28px}.message-wall-navigation{min-height:62px;padding:8px 22px}.message-wall-header{padding:38vw 20px 28px}.message-wall-header:before{background-size:100%;-webkit-mask-image:linear-gradient(#000 30%,#0000 75%);mask-image:linear-gradient(#000 30%,#0000 75%)}.message-wall-content{padding:0 20px 32px}.message-wall-introduction{text-align:center;justify-content:center}.message-wall-grid{grid-template-columns:minmax(0,1fr);gap:20px}.message-wall-footer{margin:0 20px;padding-top:24px}}@media (prefers-reduced-motion:reduce){.message-wall{scroll-behavior:auto}}
