*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}button,input,textarea,select{font:inherit}.app{--wedding-accent:#9c5d63;color:#331c0c;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%) 50%/cover fixed;justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}@media (width>=1025px){.app{background-image:url(/desktop.jpg)}}@media (width<=1024px){.app{background-image:url(/mobile.jpg)}}.app:before{content:"";background-image:inherit;filter:blur(4px);z-index:-2;pointer-events:none;background-position:50%;background-size:cover;background-attachment:fixed;position:fixed;inset:0;transform:scale(1.02)}.app:after{content:"";z-index:-1;pointer-events:none;background:#0000004d;position:fixed;inset:0}.letter-container{-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:20px;animation:.3s fadeIn;display:flex;overflow-y:auto}.language-panel{background:#fff7e7db;border-radius:12px;justify-content:center;align-items:center;gap:14px;width:fit-content;max-width:100%;margin-bottom:16px;padding:14px 18px;animation:.5s fadeInScale;display:flex;box-shadow:0 14px 42px #00000038}.language-label{color:#331c0c;font-size:16px;font-weight:700}.letter{background:#fff7e7db;border-radius:12px;width:min(100%,640px);max-height:calc(100dvh - 40px);padding:48px;animation:.5s fadeInScale;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.language-selector{justify-content:center;gap:10px;display:flex}.language-button{cursor:pointer;background:#ffffff75;border:1px solid #9c5d633d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;line-height:1;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px #331c0c14}.language-button:hover{background:#ffffffb8;transform:translateY(-2px)}.language-button.active{border-color:var(--wedding-accent);background:#ffb2cc3d;box-shadow:0 0 0 3px #9c5d6324}.language-button:focus-visible{outline:none;box-shadow:0 0 0 3px #ffb2cc6b}.letter-header{text-align:center;margin-bottom:28px}.eyebrow{color:var(--wedding-accent);letter-spacing:0;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:700}h1{color:#331c0c;font-size:clamp(30px,7vw,46px);font-weight:700;line-height:1.05}.message-window{background:#ffffff6b;border:1px solid #9c5d6338;border-radius:8px;padding:28px;box-shadow:inset 0 1px #ffffff73}.message-window+.message-window{margin-top:18px}.message-window-title{color:#331c0c;text-align:center;margin-bottom:16px;font-size:22px;font-weight:800;line-height:1.2}.message-window p{color:#331c0cdb;font-size:18px;line-height:1.65}.message-window p+p{margin-top:16px}.message-window .phone-number{color:var(--wedding-accent)}.phone-number{text-align:center;font-weight:800}.message-window .signature{color:var(--wedding-accent)}.signature{text-align:center;margin-top:26px;font-size:17px;font-weight:600}.homepage-button{color:#fff;text-align:center;text-shadow:1px 1px #000;white-space:nowrap;background:#ffb2cc;border-radius:6px;justify-content:center;align-items:center;width:fit-content;margin:24px auto 0;padding:14px 18px;font-size:17px;font-weight:700;text-decoration:none;transition:background .3s,transform .2s;display:flex}.homepage-button:hover{background:#ff9ab8;transform:translateY(-2px)}.homepage-button:active{transform:translateY(0)}.homepage-button:focus-visible{outline:none;box-shadow:0 0 0 3px #ffb2cc59}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.app{overflow:hidden}.letter-container{padding:16px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));justify-content:flex-start;align-items:flex-start}.language-panel{flex-wrap:wrap;gap:10px 12px;width:100%;margin-bottom:12px;padding:12px 14px}.letter{border-radius:10px;width:100%;max-height:none;padding:28px 18px}.letter-header{margin-bottom:22px}.message-window{padding:20px}.message-window p{font-size:16px;line-height:1.58}}@media (width<=380px){.letter-container{padding-left:10px;padding-right:10px}.letter{padding:22px 14px}.message-window{padding:16px}}
