.header{background-color:#140f0fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #00000040;height:var(--header-height);position:fixed;top:0;left:0;right:0;z-index:900;border-bottom:1px solid rgba(200,190,184,.12)}.header-container{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:relative}.logo{font-size:1.8rem;font-weight:600;letter-spacing:-.5px;z-index:998}.logo-text{color:var(--text-color);transition:opacity .3s ease}.logo-text:hover{opacity:.8}.nav{display:flex;gap:2rem}.header-nav-link{color:var(--text-color);font-weight:500;font-size:1.1rem;padding:.5rem 0;transition:all .3s ease;text-decoration:none;position:relative;border:none;background:none;white-space:nowrap}.header-nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--text-color);transition:width .3s ease}.header-nav-link:hover{color:var(--text-color);background:none;border:none}.header-nav-link:hover:after{width:100%}.header-nav-link.active{color:var(--text-color);background:none;border:none}.header-nav-link.active:after{width:100%}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001;transition:all .3s ease}.hamburger-line{width:25px;height:3px;background-color:var(--text-color);margin:3px 0;transition:all .3s ease;border-radius:2px}.hamburger.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.active .hamburger-line:nth-child(2){opacity:0}.hamburger.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}@media (max-width: 768px){.header-container{padding:0 1rem}.logo{font-size:1.5rem;position:relative;z-index:997}.hamburger{display:flex;position:relative;z-index:1010;padding:8px}.nav{position:fixed;top:0;left:0;right:0;background-color:var(--surface-color);box-shadow:0 4px 20px #00000059;flex-direction:column;gap:0;padding-top:var(--header-height);padding-bottom:1rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;z-index:1005;border-bottom:2px solid rgba(200,190,184,.1);min-height:100vh}.nav.nav-open{transform:translateY(0);opacity:1;visibility:visible}.header-nav-link{padding:1.2rem 2rem;font-size:1.2rem;border-bottom:1px solid rgba(200,190,184,.12);width:100%;text-align:left;background-color:transparent;color:var(--text-color);position:relative;z-index:1006;display:block}.header-nav-link:last-child{border-bottom:none}.header-nav-link:after{display:none}.header-nav-link:hover,.header-nav-link.active{background-color:#c8beb814;color:var(--text-color)}}@media (max-width: 480px){.header-container{padding:0 1rem}.logo{font-size:1.3rem}.hamburger{padding:6px}.header-nav-link{padding:1rem 1.5rem;font-size:1.1rem}.hamburger-line{width:22px;height:2px;margin:2px 0}}@media (max-width: 360px){.logo{font-size:1.1rem}.hamburger{padding:4px}.header-nav-link{padding:.9rem 1rem;font-size:1rem}.hamburger-line{width:20px;height:2px;margin:2px 0}}.home-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem;background:#3a2a22;color:var(--text-color)}.home-content{max-width:800px;background:#8e5d45;padding:4rem;border-radius:20px;box-shadow:var(--box-shadow);animation:fadeIn .5s ease-out;text-align:center}.home-content,.home-content *{color:#c8beb8!important}.home-content a{color:#c8beb8!important;text-decoration:underline}.home-content a:hover{opacity:.85}.page-title{font-family:Playfair Display,serif;font-size:2.5rem;color:var(--text-color);margin-bottom:1.5rem;font-weight:400;letter-spacing:2px}.home-container h1{font-family:Playfair Display,serif;font-size:3rem;color:var(--text-color);margin:1rem 0 2rem;font-weight:400;letter-spacing:3px}.home-container p{font-family:Cormorant Garamond,serif;font-size:1.4rem;color:var(--text-color);margin:.5rem 0;line-height:1.8}.inline-link{color:var(--text-color);text-decoration:underline;font-weight:500;transition:all .3s ease}.inline-link:hover{color:var(--text-color);text-decoration:none;opacity:.85}@media (max-width: 1024px){.home-content{max-width:90%}}@media (max-width: 900px){.home-content{max-width:95%}}@media (max-width: 768px){.home-container{min-height:calc(100vh - var(--header-height));padding:1rem}.home-content{padding:2.5rem;margin-top:.5rem;margin-bottom:.5rem;max-width:100%}.page-title{font-size:2rem;letter-spacing:1px}.home-container h1{font-size:2.5rem;letter-spacing:2px}.home-container p{font-size:1.3rem;margin:.7rem 0}}@media (max-width: 480px){.home-container{min-height:calc(100vh - var(--header-height));padding:.5rem;background:#3a2a22}.home-content{padding:1.5rem;border-radius:12px;margin-top:0;margin-bottom:0}.page-title{font-size:1.8rem;margin-bottom:1rem}.home-container h1{font-size:2rem;letter-spacing:1px;margin:.5rem 0 1rem}.home-container p{font-size:1.1rem;line-height:1.6;text-align:left;margin:.8rem 0}.inline-link{word-break:break-word}}.puzzle-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;justify-content:center;color:var(--text-color)}.puzzle-header{width:100%;display:flex;justify-content:center;margin-bottom:2rem;padding:1rem}.puzzle-buttons{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:20px;flex-wrap:wrap}.reset-button{background-color:var(--primary-color);color:#c8beb8!important;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px;box-shadow:0 2px 6px #0000004d;touch-action:manipulation}.reset-button:hover{background-color:#7d513d;transform:translateY(-1px);box-shadow:0 4px 10px #00000059}.reset-button:active{background-color:#6e4736;transform:translateY(0);box-shadow:0 2px 6px #0000004d}.puzzle-content{display:flex;gap:50px;justify-content:center;align-items:flex-start;padding:20px;width:100%;background:#8e5d45;border-radius:16px;box-shadow:var(--box-shadow)}.grid,.pieces-container{display:grid;grid-template-columns:repeat(4,125px);grid-template-rows:repeat(4,125px);gap:1px;background-color:#55433c;padding:1px;border-radius:4px;touch-action:none}.tile{width:125px;height:125px;background-color:#3a2a22;display:flex;align-items:center;justify-content:center;border:1px solid #55433C;transition:all .2s ease;margin:0;padding:0;touch-action:manipulation}.tile.placed{border:1px solid #55433C;cursor:pointer;position:relative}.tile.placed:hover:after{content:"×";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#c8beb899;pointer-events:none}.tile.placed:hover{background-color:#c8beb80f}.piece{width:125px;height:125px;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;background-color:#3a2a22;border:1px solid #55433C;margin:0;padding:0;touch-action:none}.piece:active{cursor:grabbing}.piece.dragging{opacity:.5;transform:scale(.95);z-index:1000}.tile-image{width:100%;height:100%;background-size:500px 500px;background-repeat:no-repeat;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.congratulations{text-align:center;margin-bottom:2rem;animation:fadeIn .5s ease-in}.congratulations h2{color:var(--text-color);margin-bottom:.5rem;font-size:2rem}.congratulations p{color:var(--text-color);margin-bottom:1.5rem;font-size:1.2rem}.secret-button{background-color:#786c69;color:#c8beb8!important;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:150px;box-shadow:0 2px 6px #0000004d;touch-action:manipulation}.secret-button:hover{background-color:#6b615e;transform:translateY(-1px);box-shadow:0 4px 10px #00000059}.secret-button:active{background-color:#5f5653;transform:translateY(0);box-shadow:0 2px 6px #0000004d}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.puzzle-container{padding:15px;min-height:auto}.puzzle-content{gap:30px;padding:15px;flex-direction:column;align-items:center;background:#8e5d45;border-radius:12px;box-shadow:var(--box-shadow)}.grid{grid-template-columns:repeat(4,100px);grid-template-rows:repeat(4,100px);margin-bottom:20px}.pieces-container{grid-template-columns:repeat(4,100px);grid-template-rows:repeat(4,100px)}.tile,.piece{width:100px;height:100px}.tile-image{background-size:400px 400px}.congratulations h2{font-size:1.8rem}.congratulations p{font-size:1.1rem}.puzzle-buttons{gap:15px;margin-top:15px}.reset-button,.secret-button{padding:12px 20px;font-size:15px;min-width:140px;min-height:44px}}@media (max-width: 480px){.puzzle-container{padding:20px 5px 10px;min-height:100vh;justify-content:flex-start}.puzzle-content{flex-direction:column;gap:20px;padding:10px;align-items:center;width:100%;background:#8e5d45;border-radius:10px;box-shadow:var(--box-shadow)}.grid{grid-template-columns:repeat(4,75px);grid-template-rows:repeat(4,75px);margin-bottom:20px;gap:2px;padding:2px}.pieces-container{grid-template-columns:repeat(4,75px);grid-template-rows:repeat(4,75px);gap:2px;padding:2px}.tile{width:75px;height:75px;border:1px solid #55433C}.piece{width:75px;height:75px;border:1px solid #55433C;cursor:pointer}.tile-image{background-size:300px 300px}.tile.placed:hover:after{font-size:16px}.congratulations{margin-bottom:1.5rem;padding:0 10px}.congratulations h2{font-size:1.5rem;margin-bottom:.3rem}.congratulations p{font-size:1rem;margin-bottom:1rem}.puzzle-buttons{gap:10px;margin-top:15px}.reset-button,.secret-button{padding:12px 20px;font-size:14px;min-width:120px;min-height:44px}.puzzle-header{margin-bottom:1rem;padding:.5rem}.piece{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tile.placed{touch-action:manipulation}.piece:active{opacity:.7;transform:scale(.95)}.tile.placed:active{background-color:#c8beb81a}}@media (max-width: 360px){.puzzle-container{padding:5px}.grid,.pieces-container{grid-template-columns:repeat(4,65px);grid-template-rows:repeat(4,65px)}.tile,.piece{width:65px;height:65px}.tile-image{background-size:260px 260px}.congratulations h2{font-size:1.3rem}.congratulations p{font-size:.9rem}.puzzle-buttons{gap:8px}.reset-button,.secret-button{padding:10px 16px;font-size:13px;min-width:100px}}.puzzle-container,.puzzle-container *{color:#c8beb8!important}.secret-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem;background:#3a2a22;color:var(--text-color)}.secret-nav{width:100%;max-width:800px;margin-bottom:2rem;display:flex;gap:1rem;justify-content:flex-start}.nav-link{color:var(--text-color);text-decoration:none;font-size:1.1rem;padding:.5rem 1rem;border:2px solid #8E5D45;border-radius:25px;transition:all .3s ease;display:inline-block}.secret-content{max-width:800px;background:#8e5d45;padding:4rem;border-radius:20px;box-shadow:var(--box-shadow);animation:fadeIn .5s ease-out;text-align:center}.secret-content,.secret-content *{color:#c8beb8!important}.secret-content a{color:#c8beb8!important;text-decoration:underline}.secret-content a:hover{opacity:.85}.wedding-invitation{margin-bottom:2rem}.wedding-invitation h1{font-family:Playfair Display,serif;font-size:2.5rem;color:var(--text-color);margin-bottom:2rem;font-weight:400;letter-spacing:2px}.couple-names h2{font-family:Playfair Display,serif;font-size:3rem;color:var(--text-color);margin:1rem 0 2rem;font-weight:400;letter-spacing:3px}.invitation-details{margin:2rem 0;line-height:1.8}.invitation-details p{font-family:Cormorant Garamond,serif;font-size:1.4rem;color:var(--text-color);margin:.5rem 0}.date,.time{font-size:1.6rem!important;font-weight:500}.location{font-style:italic;margin-top:1rem!important}.address{font-size:1.2rem!important;color:var(--text-color)}.rsvp-section{margin:2rem 0;padding:1.5rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.rsvp-section p{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:var(--text-color);margin:.5rem 0}.contact{font-size:1.2rem!important;color:var(--text-color)}.message{margin:2rem 0;font-family:Cormorant Garamond,serif;font-size:1.3rem;line-height:1.8;color:var(--text-color);font-style:italic}.additional-info-link{margin-top:2rem;text-align:center}.additional-info-link a{display:inline-block;background-color:#786c69;color:var(--text-color);text-decoration:none;font-size:1.1rem;padding:12px 24px;border:none;border-radius:8px;box-shadow:0 2px 6px #0000004d;transition:all .2s ease}.additional-info-link a:hover{background-color:#6b615e;transform:translateY(-1px);box-shadow:0 4px 10px #00000059}.additional-info-link a:active{background-color:#5f5653;transform:translateY(0);box-shadow:0 2px 6px #0000004d}.additional-info-link a:focus{outline:2px solid rgba(200,190,184,.6);outline-offset:2px}.invitation-photo{margin:1rem 0 1.5rem;width:100%;aspect-ratio:16 / 9;max-height:360px;background-size:cover;background-position:center;border-radius:12px;box-shadow:0 4px 12px #00000059}@media (max-width: 600px){.invitation-photo{max-height:45vw;min-height:120px;border-radius:8px}}@media (max-width: 1024px){.secret-content,.secret-nav{max-width:90%}}@media (max-width: 900px){.secret-content,.secret-nav{max-width:95%}}@media (max-width: 768px){.secret-container{padding:1.5rem}.secret-nav{flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:100%}.nav-link{font-size:1rem;padding:.4rem .8rem}.secret-content{padding:3rem;max-width:100%;background:#8e5d45}.wedding-invitation h1{font-size:2rem;letter-spacing:1px}.couple-names h2{font-size:2.5rem;letter-spacing:2px}.invitation-details p{font-size:1.3rem}.date,.time{font-size:1.4rem!important}.message,.rsvp-section p{font-size:1.2rem}}@media (max-width: 480px){.secret-container{padding:1rem}.secret-nav{margin-bottom:1.5rem;gap:.5rem}.nav-link{font-size:.9rem;padding:.3rem .6rem;white-space:nowrap}.secret-content{padding:2rem;border-radius:15px;margin-top:1rem}.wedding-invitation h1{font-size:1.8rem;margin-bottom:1.5rem}.couple-names h2{font-size:2rem;letter-spacing:1px;margin:.5rem 0 1.5rem}.invitation-details{margin:1.5rem 0}.invitation-details p{font-size:1.2rem;text-align:left}.date,.time{font-size:1.3rem!important;text-align:center}.message{font-size:1.1rem;line-height:1.6;text-align:left;margin:1.5rem 0}.rsvp-section{padding:1rem;margin:1.5rem 0}.rsvp-section p{font-size:1.1rem;text-align:left}.additional-info-link a{font-size:1rem;padding:.4rem .8rem}}.additional-info-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem;background:#3a2a22;color:var(--text-color)}.additional-info-content,.additional-info-content *{color:#c8beb8!important}.additional-info-content a{color:#c8beb8!important;text-decoration:underline}.additional-info-content a:hover{opacity:.85}.additional-info-content{width:100%;max-width:800px;background:#8e5d45;padding:4rem;border-radius:20px;box-shadow:var(--box-shadow);animation:fadeIn .5s ease-out}.info-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.info-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-section h2{font-family:Playfair Display,serif;font-size:1.8rem;color:var(--text-color);margin-bottom:1.5rem;font-weight:400;letter-spacing:1px}.info-section p{font-family:Cormorant Garamond,serif;font-size:1.3rem;line-height:1.8;color:var(--text-color);margin-bottom:1rem}.info-section ul{list-style:none;padding:0;margin:1rem 0}.info-section li{font-family:Cormorant Garamond,serif;font-size:1.3rem;line-height:1.8;color:var(--text-color);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.info-section li:before{content:"•";position:absolute;left:0;color:var(--text-color)}.additional-info-nav{width:100%;max-width:800px;margin-bottom:2rem;display:flex;gap:1rem;justify-content:flex-start}.nav-link{color:#8e5d45;text-decoration:none;font-size:1.1rem;padding:.5rem 1rem;border:2px solid #8E5D45;border-radius:25px;transition:all .3s ease;display:inline-block}.nav-link:hover{background-color:#8e5d45;color:var(--text-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.additional-info-content,.additional-info-nav{max-width:90%}}@media (max-width: 900px){.additional-info-content,.additional-info-nav{max-width:95%}}@media (max-width: 768px){.additional-info-container{padding:1.5rem}.additional-info-content{padding:3rem;max-width:100%;background:#8e5d45}.additional-info-nav{flex-wrap:wrap;justify-content:center;gap:.8rem}.nav-link{font-size:1rem;padding:.4rem .8rem}.info-section{margin-bottom:2.5rem;padding-bottom:1.5rem}.info-section h2{font-size:1.6rem}.info-section p{font-size:1.2rem}.info-section li{font-size:1.2rem;padding-left:1.2rem}}@media (max-width: 480px){.additional-info-container{padding:1rem}.additional-info-content{padding:2rem;border-radius:15px;margin-top:1rem}.additional-info-nav{margin-bottom:1.5rem;gap:.5rem}.nav-link{font-size:.9rem;padding:.3rem .6rem;white-space:nowrap}.info-section{margin-bottom:2rem;padding-bottom:1rem}.info-section h2{font-size:1.4rem;margin-bottom:1rem;text-align:center}.info-section p{font-size:1.1rem;line-height:1.6;text-align:left}.info-section ul{margin:.8rem 0}.info-section li{font-size:1.1rem;line-height:1.6;padding-left:1rem;margin-bottom:.4rem}.info-section li:before{font-size:.8rem}.info-section a{word-break:break-word}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:var(--header-height)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.main-content>.container{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px;box-shadow:none;padding:30px;animation:fadeIn .3s ease-in-out;margin-top:20px;margin-bottom:20px;color:var(--text-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.main-content>.container{padding:15px;margin-top:8px;margin-bottom:8px;border-radius:12px;background:transparent;box-shadow:none}}@media (max-width: 480px){.main-content{padding-top:calc(var(--header-height) + 5px)}.main-content>.container{padding:10px;margin-top:5px;margin-bottom:5px;border-radius:8px;background:transparent;box-shadow:none}.container{padding:0 .25rem}}:root{--primary-color: #8E5D45;--secondary-color: #786C69;--background-color: #140F0F;--text-color: #C8BEB8;--surface-color: #3A2A22;--surface-elevated-color: #55433C;--border-color: #55433C;--header-height: 60px;--border-radius: 8px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .4);--gradient-start: #140F0F;--gradient-end: #3A2A22}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{background:#3a2a22}body{font-family:Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#3a2a22;color:var(--text-color);line-height:1.6;min-height:100vh}a{text-decoration:none;color:inherit}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:10px 20px;border-radius:var(--border-radius);border:none;cursor:pointer;font-weight:600;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background-color:var(--primary-color);color:var(--text-color);box-shadow:var(--box-shadow)}.btn-primary:hover{background-color:#7d513d;transform:translateY(-2px);box-shadow:0 6px 8px #00000026}
