:root{--cream:#fdf8f3;--cream-dark:#f5ede4;--peach:#ffcdb2;--peach-dark:#ffb4a2;--coral:#e5989b;--rose:#b5838d;--wine:#6d6875;--charcoal:#1a1a2e;--dark:#0f0f1a;--white:#fff;--shadow:#6d687514;--shadow-lg:#6d687526}*{box-sizing:border-box;margin:0;padding:0}html{max-width:100vw;overflow-x:hidden}body{background:var(--cream);color:var(--charcoal);max-width:100vw;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;font-weight:500;line-height:1.2}.app{flex-direction:column;min-height:100vh;display:flex}.nav{z-index:1000;justify-content:space-between;align-items:center;padding:1rem 2rem;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f1af2;padding:.75rem 2rem;box-shadow:0 4px 30px #0000004d}.nav.light{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fdf8f3f2}.nav.light .nav-logo,.nav.light .nav-link{color:var(--charcoal)}.nav-logo{color:var(--white);cursor:pointer;align-items:center;gap:.5rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;text-decoration:none;display:flex}.nav-logo-icon{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.nav-links{align-items:center;gap:2rem;display:flex}.nav-link{color:#fffc;cursor:pointer;padding:.25rem 0;font-size:.95rem;text-decoration:none;transition:color .2s;position:relative}.nav-link:hover{color:var(--coral)}.nav-cta{background:linear-gradient(135deg,var(--peach-dark)0%,var(--coral)100%);color:var(--white);cursor:pointer;border:none;border-radius:50px;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 4px 15px #e5989b4d}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e5989b66}.hero{background:var(--dark);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-cards-bg{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:rotate(-12deg)scale(1.3)}.hero-cards-grid{grid-template-columns:repeat(5,200px);gap:20px;animation:60s linear infinite slowScroll;display:grid}@keyframes slowScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.hero-floating-card{background:var(--charcoal);border:1px solid #ffffff1a;border-radius:16px;min-height:140px;padding:1rem;transition:all .4s;box-shadow:0 20px 60px #0006}.hero-floating-card:hover{border-color:var(--coral);z-index:10;transform:scale(1.05)}.hero-floating-card.type-sighting{background:linear-gradient(145deg,#1e1e30 0%,#252540 100%)}.hero-floating-card.type-chat{background:linear-gradient(145deg,#2a1f2d 0%,#352535 100%)}.hero-floating-card.type-post{background:linear-gradient(145deg,#1f2a2d 0%,#253535 100%)}.hero-floating-card.type-match{background:linear-gradient(145deg,var(--coral)0%,var(--rose)100%)}.hero-floating-card.type-reveal{background:linear-gradient(145deg,#2d2a1f 0%,#353525 100%)}.hfc-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.hfc-emoji{font-size:1.5rem}.hfc-venue{color:var(--white);font-size:.85rem;font-weight:600}.hfc-location{color:#ffffff80;font-size:.7rem}.hfc-text{color:#ffffffb3;font-size:.8rem;font-style:italic;line-height:1.4}.hfc-time{color:var(--coral);margin-top:.5rem;font-size:.65rem}.hfc-chat-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.hfc-avatar{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.hfc-name{color:var(--white);font-size:.85rem;font-weight:600}.hfc-unread{background:var(--coral);color:#fff;border-radius:10px;margin-left:auto;padding:.15rem .4rem;font-size:.65rem}.hfc-message{color:#ffffffb3;font-size:.8rem}.hfc-match-text{color:var(--white);text-align:center;margin-bottom:.5rem;font-size:1rem;font-weight:600}.hfc-match-names{color:#fffc;text-align:center;font-size:.75rem}.hfc-post-step{color:var(--coral);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.7rem}.hfc-reveal-spinner{border:3px solid #fff3;border-top-color:var(--coral);border-radius:50%;width:30px;height:30px;margin:0 auto .75rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero-overlay{z-index:1;background:radial-gradient(#0f0f1ab3 0%,#0f0f1ae6 70%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;max-width:800px;padding:2rem;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--peach);background:#ffffff1a;border:1px solid #ffffff1a;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.85rem;animation:1s ease-out .2s backwards fadeInUp;display:inline-flex}.hero-badge-dot{background:var(--coral);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.hero-title{color:var(--white);margin-bottom:1.5rem;font-size:clamp(2.5rem,7vw,5rem);line-height:1.1;animation:1s ease-out .3s backwards fadeInUp}.hero-title-accent{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.hero-subtitle{color:#ffffffb3;max-width:550px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.15rem;animation:1s ease-out .4s backwards fadeInUp}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;animation:1s ease-out .5s backwards fadeInUp;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn{cursor:pointer;border:none;border-radius:50px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:linear-gradient(135deg,var(--peach-dark)0%,var(--coral)100%);color:var(--white);box-shadow:0 8px 30px #e5989b66}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px #e5989b80}.btn-secondary{color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3}.btn-secondary:hover{background:#fff3;transform:translateY(-2px)}.btn-light{background:var(--white);color:var(--charcoal);box-shadow:0 4px 20px var(--shadow)}.btn-light:hover{box-shadow:0 8px 30px var(--shadow-lg);transform:translateY(-2px)}.btn-outline{color:var(--charcoal);border:1px solid var(--cream-dark);box-shadow:none;background:0 0}.btn-outline:hover{background:#fdeae6b3;transform:translateY(-1px)}.section{max-width:1200px;margin:0 auto;padding:6rem 2rem}.section-header{text-align:center;margin-bottom:4rem}.section-label{text-transform:uppercase;letter-spacing:2px;color:var(--coral);margin-bottom:1rem;font-size:.85rem;display:inline-block}.section-title{color:var(--charcoal);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem)}.section-subtitle{color:var(--wine);max-width:600px;margin:0 auto;font-size:1.1rem}.how-it-works-bg{background:linear-gradient(180deg,var(--cream)0%,var(--cream-dark)100%)}.steps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;display:grid}.step{background:var(--white);text-align:center;box-shadow:0 10px 40px var(--shadow);border-radius:24px;padding:2rem;transition:all .3s;position:relative;overflow:hidden}.step:before{content:"";background:linear-gradient(90deg,var(--peach)0%,var(--coral)100%);height:4px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.step:hover:before{transform:scaleX(1)}.step:hover{box-shadow:0 20px 60px var(--shadow-lg);transform:translateY(-5px)}.step-image{border-radius:16px;width:100%;height:160px;margin-bottom:1.5rem;position:relative;overflow:hidden}.step-image-inner{justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.step-image-1{background:linear-gradient(135deg,#ffe5d9 0%,#ffcdb2 100%)}.step-image-2{background:linear-gradient(135deg,#d8e2dc 0%,#b8d0c7 100%)}.step-image-3{background:linear-gradient(135deg,#f4e4d4 0%,#e8d5c4 100%)}.step-image-4{background:linear-gradient(135deg,#ffd6e0 0%,#ffadc6 100%)}.step-number{background:var(--white);width:36px;height:36px;color:var(--coral);box-shadow:0 4px 15px var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:1rem;font-weight:600;display:flex;position:absolute;top:10px;right:10px}.step-title{color:var(--charcoal);margin-bottom:.75rem;font-size:1.3rem}.step-desc{color:var(--wine);font-size:.95rem}.step-ui-mockup{background:var(--white);border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;box-shadow:inset 0 2px 8px #0000000d}.mockup-post-form{width:100%;max-width:280px}.mockup-form-field{margin-bottom:.75rem}.mockup-label{color:var(--charcoal);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.7rem;font-weight:600}.mockup-input{background:var(--cream);color:var(--charcoal);border:1px solid var(--cream-dark);border-radius:8px;padding:.5rem .75rem;font-size:.8rem}.mockup-textarea{background:var(--cream);color:var(--charcoal);border:1px solid var(--cream-dark);border-radius:8px;min-height:50px;padding:.5rem .75rem;font-size:.75rem;line-height:1.4}.mockup-button{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white);text-align:center;border-radius:8px;margin-top:.5rem;padding:.6rem 1.2rem;font-size:.8rem;font-weight:600}.mockup-sighting-card{background:var(--cream);border:2px solid var(--cream-dark);border-radius:12px;width:100%;max-width:280px;padding:1rem}.mockup-card-location{color:var(--charcoal);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.mockup-card-time{color:var(--wine);margin-bottom:.75rem;font-size:.65rem}.mockup-card-description{color:var(--charcoal);margin-bottom:.75rem;font-size:.75rem;font-style:italic;line-height:1.4}.mockup-button-claim{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white);text-align:center;border-radius:8px;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.mockup-chat{flex-direction:column;gap:.5rem;width:100%;max-width:280px;display:flex}.mockup-chat-bubble{border-radius:12px;max-width:85%;padding:.6rem .8rem}.mockup-chat-them{background:var(--cream);border-bottom-left-radius:4px;align-self:flex-start}.mockup-chat-you{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-bottom-right-radius:4px;align-self:flex-end}.mockup-chat-you .mockup-chat-name,.mockup-chat-you .mockup-chat-text{color:var(--white)}.mockup-chat-name{opacity:.8;color:var(--wine);margin-bottom:.2rem;font-size:.6rem;font-weight:600}.mockup-chat-text{color:var(--charcoal);font-size:.75rem;line-height:1.3}.mockup-reveal{text-align:center;width:100%;max-width:280px}.mockup-reveal-profiles{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.mockup-profile-preview{text-align:center}.mockup-avatar{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);width:60px;height:60px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .5rem;font-size:1.8rem;font-weight:600;display:flex;box-shadow:0 4px 12px #e5989b4d}.mockup-status{color:var(--wine);font-size:.65rem;font-weight:500}.mockup-reveal-icon{color:var(--coral);font-size:1.5rem;font-weight:600}.mockup-button-reveal{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white);border-radius:8px;padding:.6rem 1.2rem;font-size:.8rem;font-weight:600;display:inline-block}.features{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.feature{background:var(--white);box-shadow:0 10px 40px var(--shadow);border-radius:24px;padding:2.5rem;transition:all .3s}.feature:hover{box-shadow:0 20px 60px var(--shadow-lg);transform:translateY(-5px)}.feature-icon{background:var(--cream);border-radius:20px;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:1.5rem;font-size:2rem;display:flex}.feature-title{color:var(--charcoal);margin-bottom:.75rem;font-size:1.3rem}.feature-desc{color:var(--wine);font-size:.95rem}.stories-section{background:var(--charcoal);padding:6rem 2rem}.stories-section .section-label{color:var(--peach)}.stories-section .section-title{color:var(--white)}.stories-section .section-subtitle{color:#fff9}.stories-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.story-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:24px;transition:all .3s;overflow:hidden}.story-card:hover{border-color:var(--coral);transform:translateY(-5px);box-shadow:0 20px 60px #0000004d}.story-image{height:220px;position:relative;overflow:hidden}.story-image-bg{object-fit:cover;width:100%;height:100%}.story-image-placeholder{background:linear-gradient(135deg,var(--peach)0%,var(--coral)50%,var(--rose)100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:5rem;display:flex}.story-content{padding:1.5rem}.story-names{color:var(--white);margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:1.4rem}.story-location{color:var(--coral);margin-bottom:1rem;font-size:.85rem}.story-text{color:#ffffffb3;font-size:.95rem;font-style:italic;line-height:1.6}.find-page{background:var(--cream);min-height:100vh;padding-top:100px}.find-header{max-width:1200px;margin:0 auto;padding:2rem}.find-filters{max-width:1200px;margin:0 auto;padding:0 2rem 2rem}.find-title{color:var(--charcoal);margin-bottom:.5rem;font-size:2.5rem}.find-subtitle{color:var(--wine);margin-bottom:2rem}.search-bar{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.search-input-wrapper{flex:1;min-width:250px;position:relative}.search-input{border:2px solid var(--cream-dark);background:var(--white);width:100%;color:var(--charcoal);border-radius:50px;padding:1rem 1rem 1rem 3rem;font-size:1rem;transition:all .2s}.search-input:focus{border-color:var(--coral);outline:none}.search-icon{opacity:.5;font-size:1.2rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.filters{flex-wrap:wrap;gap:1rem;display:flex}.filter-group{flex:1;grid-template-columns:100px 1fr;align-items:center;gap:.75rem;min-width:200px;display:grid}.filter-group label{color:var(--wine);white-space:nowrap;text-align:left;font-size:.9rem}.autocomplete-wrapper{width:100%;position:relative}.filter-input{border:2px solid var(--cream-dark);background:var(--white);width:100%;color:var(--charcoal);border-radius:50px;padding:.75rem 1rem;font-size:.9rem;transition:all .2s}.filter-input:focus{border-color:var(--coral);outline:none}.autocomplete-dropdown{background:var(--white);border:2px solid var(--cream-dark);z-index:10;border-radius:12px;max-height:250px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.autocomplete-item{cursor:pointer;color:var(--charcoal);border-bottom:1px solid var(--cream-dark);padding:.75rem 1rem;font-size:.9rem;transition:all .2s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--cream);color:var(--coral)}.date-filter-wrapper{flex-direction:column;gap:.5rem;width:100%;display:flex}.date-picker-input{border:2px solid var(--cream-dark);background:var(--white);width:100%;color:var(--charcoal);border-radius:50px;padding:.75rem 1rem;font-size:.9rem;transition:all .2s}.date-picker-input:focus{border-color:var(--coral);outline:none}.filter-select{border:2px solid var(--cream-dark);background:var(--white);color:var(--charcoal);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236D6875' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:50px;padding:.75rem 2rem .75rem 1rem;font-size:.9rem;transition:all .2s}.filter-select:focus{border-color:var(--coral);outline:none}.results-count{max-width:1200px;color:var(--wine);margin:0 auto 1rem;padding:0 2rem;font-size:.9rem}.loading-state{flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.spinner{border:3px solid #6d687533;border-top-color:var(--coral);border-radius:50%;width:32px;height:32px;margin-bottom:1rem;animation:.8s linear infinite spin}.sightings-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 2rem 4rem;display:grid}.sighting-card{background:var(--white);box-shadow:0 10px 40px var(--shadow);cursor:pointer;border:2px solid #0000;border-radius:20px;padding:1.5rem;transition:all .3s}.sighting-card:hover{box-shadow:0 15px 50px var(--shadow-lg);border-color:var(--peach);transform:translateY(-3px)}.sighting-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.sighting-location{color:var(--charcoal);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.sighting-type{background:var(--cream);color:var(--rose);border-radius:20px;padding:.3rem .8rem;font-size:.75rem}.sighting-venue{color:var(--charcoal);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.2rem}.sighting-time{color:var(--wine);opacity:.7;margin-bottom:1rem;font-size:.8rem}.sighting-descriptions{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.sighting-desc-section{flex-direction:column;gap:.25rem;display:flex}.sighting-desc-label{color:var(--rose);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.75rem;font-weight:600}.sighting-desc{color:var(--wine);margin:0;font-size:.95rem;line-height:1.6}.poster-preview{background:var(--cream);border-left:3px solid var(--peach);border-radius:12px;padding:.75rem}.sighting-desc-preview{color:var(--wine);opacity:.8;margin:0;font-size:.85rem;font-style:italic;line-height:1.5}.sighting-cta{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white);cursor:pointer;border:none;border-radius:50px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:500;transition:all .3s;display:inline-flex}.sighting-cta:hover{transform:scale(1.05);box-shadow:0 5px 20px #e5989b66}.report-link{color:var(--rose);cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:0;font-size:.85rem;text-decoration:underline}.post-page{background:var(--cream);min-height:100vh;padding-top:100px}.post-container{max-width:700px;margin:0 auto;padding:2rem}.post-progress{gap:.5rem;margin-bottom:2rem;display:flex}.post-progress-step{background:var(--cream-dark);border-radius:2px;flex:1;height:4px;transition:all .3s}.post-progress-step.active{background:linear-gradient(90deg,var(--peach)0%,var(--coral)100%)}.post-card{background:var(--white);box-shadow:0 20px 60px var(--shadow);border-radius:24px;padding:2.5rem}.post-step-title{color:var(--charcoal);margin-bottom:.5rem;font-size:1.8rem}.post-step-desc{color:var(--wine);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-label{color:var(--charcoal);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-label-hint{color:var(--wine);opacity:.7;font-weight:400}.form-input,.form-textarea,.form-select{border:2px solid var(--cream-dark);width:100%;color:var(--charcoal);background:var(--cream);border-radius:12px;padding:1rem 1.25rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--coral);background:var(--white);outline:none}.form-input.dob-input{appearance:none;min-height:56px;line-height:1.2}.form-input.dob-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.form-textarea{resize:vertical;min-height:120px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row.compact{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.75rem}.form-group-inline{margin-bottom:0}.form-input-compact{padding:.85rem 1rem;font-size:.9rem}@media (max-width:600px){.form-row.compact{grid-template-columns:1fr}.form-group-inline{margin-bottom:1rem}}.post-buttons{gap:1rem;margin-top:2rem;display:flex}.btn-back{color:var(--wine);border:2px solid var(--cream-dark);background:0 0}.btn-back:hover{border-color:var(--coral);color:var(--coral)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#0f0f1acc;justify-content:center;align-items:center;padding:2rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--white);border-radius:24px;width:100%;max-width:500px;max-height:90vh;animation:.3s slideUp;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{background:var(--cream);cursor:pointer;width:36px;height:36px;color:var(--wine);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{background:var(--coral);color:var(--white)}.modal-header{padding:2rem 2rem 0}.modal-badge{background:var(--cream);color:var(--rose);border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.4rem .8rem;font-size:.8rem;display:inline-flex}.modal-title{color:var(--charcoal);margin-bottom:.5rem;font-size:1.8rem}.modal-subtitle{color:var(--wine);font-size:.95rem}.modal-body{padding:2rem}.modal-sighting-descriptions{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.modal-desc-section{flex-direction:column;gap:.5rem;display:flex}.modal-desc-label{color:var(--rose);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.8rem;font-weight:600}.modal-sighting-text{color:var(--charcoal);background:var(--cream);border-radius:12px;margin:0;padding:1.25rem;font-size:1rem;font-style:italic;line-height:1.7;position:relative}.modal-sighting-text:before{content:"\"";color:var(--peach);opacity:.3;font-family:Playfair Display,serif;font-size:3rem;line-height:1;position:absolute;top:-5px;left:8px}.poster-info{margin-top:.5rem}.poster-desc{background:linear-gradient(135deg,var(--peach)0%,var(--coral)5%,var(--cream)5%);border-left:4px solid var(--coral)}.modal-footer{padding:0 2rem 2rem}@media (max-width:768px){.modal-footer{padding-bottom:calc(2rem + 80px + env(safe-area-inset-bottom,0))}}.auth-modal{max-width:420px}.auth-header{text-align:center;padding:2.5rem 2rem 0}.auth-icon{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;font-size:2.5rem;display:flex}.auth-title{color:var(--charcoal);margin-bottom:.5rem;font-size:1.8rem}.auth-subtitle{color:var(--wine);font-size:.95rem}.auth-body{padding:2rem}.auth-tabs{background:var(--cream);border-radius:50px;gap:0;margin-bottom:2rem;padding:4px;display:flex}.auth-tab{color:var(--wine);cursor:pointer;background:0 0;border:none;border-radius:50px;flex:1;padding:.75rem;font-size:.9rem;font-weight:500;transition:all .3s}.auth-tab.active{background:var(--white);color:var(--charcoal);box-shadow:0 2px 10px var(--shadow)}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-divider{align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.auth-divider-line{background:var(--cream-dark);flex:1;height:1px}.auth-divider-text{color:var(--wine);font-size:.85rem}.auth-social-buttons{flex-direction:column;gap:.75rem;display:flex}.auth-social-btn{border:2px solid var(--cream-dark);background:var(--white);color:var(--charcoal);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.75rem;padding:.9rem;font-size:.95rem;transition:all .2s;display:flex}.auth-social-btn:hover{border-color:var(--coral);background:var(--cream)}.auth-social-icon{font-size:1.2rem}.chat-page{background:var(--cream);flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.chat-container{flex-direction:column;flex:1;width:100%;max-width:100vw;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.chat-header-fixed{background:var(--white);padding:1rem 1.5rem;padding-top:calc(1rem + env(safe-area-inset-top,0));z-index:100;justify-content:space-between;align-items:center;gap:.75rem;max-width:100vw;display:flex;position:fixed;top:0;left:0;right:0;overflow-x:hidden;box-shadow:0 2px 10px #00000014}.chat-header{background:var(--white);box-shadow:0 10px 40px var(--shadow);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1.5rem;display:flex}.chat-header-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.chat-header-info-clickable{cursor:pointer}.chat-header-info-clickable:focus-visible{outline:2px solid var(--coral);border-radius:999px;padding:.25rem}.chat-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.chat-avatar{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.chat-name{color:var(--charcoal);white-space:nowrap;text-overflow:ellipsis;font-family:Playfair Display,serif;font-size:1.1rem;overflow:hidden}.chat-status{color:var(--rose);white-space:nowrap;font-size:.8rem}.chat-back-btn{color:var(--wine);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.35rem;padding:.5rem;font-size:.9rem;font-weight:500;transition:color .2s;display:flex}.chat-back-btn:hover{color:var(--coral)}.chat-reveal-btn{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white);cursor:pointer;white-space:nowrap;border:none;border-radius:50px;flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500;transition:all .3s;display:flex}.chat-reveal-btn:hover{transform:scale(1.05);box-shadow:0 5px 20px #e5989b66}.chat-icon-btn{color:var(--wine);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.chat-icon-btn:hover{background:var(--cream);color:var(--coral)}.chat-menu-container{position:relative}.chat-dropdown-menu{background:var(--white);z-index:200;border-radius:12px;min-width:140px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.chat-dropdown-item{width:100%;color:var(--wine);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.95rem;transition:background .2s;display:flex}.chat-dropdown-item:hover{background:var(--cream)}.chat-dropdown-item svg{flex-shrink:0}.reveal-pending{background:var(--cream);color:var(--rose);white-space:nowrap;border-radius:50px;flex-shrink:0;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500;display:flex}.waiting-reveal{color:var(--coral);font-weight:500;animation:2s ease-in-out infinite pulse}.reveal-prompt{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white);text-align:center;top:calc(75px + env(safe-area-inset-top,0));z-index:90;border-radius:0;max-width:100vw;margin:0;padding:1rem 1.5rem;position:fixed;left:0;right:0}.reveal-prompt p{margin:0;font-size:.95rem}.reveal-prompt-btn{background:var(--white);color:var(--coral);cursor:pointer;border:none;border-radius:50px;margin-left:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .2s}.reveal-prompt-btn:hover{transform:scale(1.05);box-shadow:0 3px 10px #0003}.chat-messages{padding:1rem 1.5rem;padding-top:calc(90px + env(safe-area-inset-top,0));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:1rem;padding-bottom:90px;display:flex;overflow:hidden auto}.chat-messages-with-prompt{padding-top:calc(145px + env(safe-area-inset-top,0))}.chat-message{border-radius:20px;max-width:70%;padding:1rem 1.25rem;font-size:.95rem;line-height:1.5;animation:.3s messageIn}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message-sent{background:linear-gradient(135deg,var(--peach-dark)0%,var(--coral)100%);color:var(--white);border-bottom-right-radius:4px;align-self:flex-end}.chat-message-received{background:var(--white);color:var(--charcoal);box-shadow:0 4px 20px var(--shadow);border-bottom-left-radius:4px;align-self:flex-start}.chat-input-fixed{background:var(--white);padding:1rem 1.5rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0));z-index:10000;gap:1rem;max-width:100vw;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.chat-input-container{background:var(--white);box-shadow:0 10px 40px var(--shadow);border-radius:20px;gap:1rem;padding:1rem;display:flex}.chat-input{background:var(--cream);color:var(--charcoal);border:none;border-radius:50px;flex:1;padding:1rem 1.25rem;font-size:.95rem}.chat-input:focus{outline:none}.chat-send{background:linear-gradient(135deg,var(--peach-dark)0%,var(--coral)100%);width:50px;height:50px;color:var(--white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;transition:all .3s;display:flex}.chat-send:hover{transform:scale(1.1)}.chat-send:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.chat-page{padding-bottom:env(safe-area-inset-bottom,0)}.chat-header-fixed{padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0));gap:.5rem}.chat-back-btn{padding:.4rem;font-size:.85rem}.chat-avatar{width:36px;height:36px;font-size:1.1rem}.chat-name{font-size:1rem}.chat-status{font-size:.75rem}.chat-reveal-btn{gap:.3rem;padding:.5rem .75rem;font-size:.8rem}.reveal-pending{padding:.5rem .75rem;font-size:.8rem}.chat-icon-btn{padding:.4rem}.chat-messages{padding:.75rem 1rem;padding-top:calc(80px + env(safe-area-inset-top,0));padding-bottom:155px}.chat-messages-with-prompt{padding-top:calc(130px + env(safe-area-inset-top,0))}.chat-message{max-width:85%;padding:.75rem 1rem;font-size:.9rem}.chat-input-fixed{padding:.75rem 1rem;bottom:75px}.chat-input{padding:.75rem 1rem;font-size:.9rem}.chat-send{width:44px;height:44px}.reveal-prompt{top:calc(60px + env(safe-area-inset-top,0));padding:.75rem 1rem;font-size:.85rem}.reveal-prompt-btn{margin-left:.35rem;padding:.4rem .75rem;font-size:.85rem}}.stories-page{background:var(--cream);min-height:100vh;padding-top:100px}.stories-hero{text-align:center;max-width:800px;margin:0 auto;padding:3rem 2rem}.stories-title{color:var(--charcoal);margin-bottom:1rem;font-size:3rem}.stories-subtitle{color:var(--wine);font-size:1.2rem}.stories-container{max-width:1200px;margin:0 auto;padding:2rem}.stories-full-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;display:grid}.story-card-full{background:var(--white);box-shadow:0 20px 60px var(--shadow);border-radius:24px;transition:all .3s;overflow:hidden}.story-card-full:hover{box-shadow:0 30px 80px var(--shadow-lg);transform:translateY(-5px)}.story-image-full{height:280px;position:relative;overflow:hidden}.story-couple-image{object-fit:cover;width:100%;height:100%}.story-couple-placeholder{background:linear-gradient(135deg,var(--peach)0%,var(--coral)50%,var(--rose)100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:6rem;display:flex}.story-content-full{padding:2rem}.story-names-full{color:var(--charcoal);margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:1.8rem}.story-location-full{color:var(--coral);margin-bottom:1.5rem;font-size:.9rem}.story-text-full{color:var(--wine);font-size:1.05rem;font-style:italic;line-height:1.7}.legal-page{background:var(--cream);min-height:100vh;padding-top:120px}.legal-container{background:var(--white);max-width:800px;box-shadow:0 20px 80px var(--shadow);border-radius:24px;margin:0 auto;padding:3rem}.legal-subtitle{color:var(--wine);margin-bottom:2rem}.legal-sections section{margin-bottom:2rem}.legal-sections h2{color:var(--charcoal);margin-bottom:.75rem;font-size:1.2rem}.legal-contact{color:var(--wine);margin-top:2rem}.legal-contact a{color:var(--coral);text-decoration:none}.legal-contact a:hover{text-decoration:underline}.safety-list{color:var(--wine);padding-left:1.5rem;line-height:1.6;list-style:outside}.footer{background:var(--charcoal);color:var(--cream);margin-top:auto;padding:4rem 2rem 2rem}.footer-content{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto;display:grid}.footer-brand{align-items:center;gap:.5rem;margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.5rem;display:flex}.footer-brand-icon{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.footer-desc{color:var(--wine);max-width:300px;font-size:.95rem;line-height:1.6}.footer-title{text-transform:uppercase;letter-spacing:2px;color:var(--peach);margin-bottom:1.5rem;font-size:.85rem}.footer-links{flex-direction:column;gap:.75rem;display:flex}.footer-link{color:var(--wine);cursor:pointer;font-size:.95rem;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--coral)}.footer-bottom{border-top:1px solid #b5838d33;justify-content:space-between;align-items:center;max-width:1200px;margin:3rem auto 0;padding-top:2rem;display:flex}.footer-copy{color:var(--wine);font-size:.85rem}.footer-socials{gap:1rem;display:flex}.footer-social{width:40px;height:40px;color:var(--cream);cursor:pointer;background:#b5838d33;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.footer-social:hover{background:var(--coral);transform:translateY(-3px)}.success-container{text-align:center;padding:4rem 2rem}.success-icon{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 2rem;font-size:3rem;animation:.5s successPop;display:flex}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-title{color:var(--charcoal);margin-bottom:1rem;font-size:2rem}.success-text{color:var(--wine);max-width:500px;margin:0 auto 2rem;font-size:1.1rem}.reveal-success{text-align:center;padding:3rem 2rem}.reveal-profiles{flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:2rem;display:flex}.reveal-profile{text-align:center}.reveal-avatar{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:1rem;font-size:3rem;display:flex;box-shadow:0 10px 40px #e5989b66}.reveal-name{color:var(--charcoal);font-family:Playfair Display,serif;font-size:1.3rem}.empty-state{text-align:center;max-width:500px;margin:0 auto;padding:4rem 2rem}.empty-icon{opacity:.6;margin-bottom:1rem;font-size:4rem}.empty-state h3{color:var(--charcoal);margin-bottom:.5rem;font-size:1.5rem}.empty-state p{color:var(--wine);opacity:.8;margin-bottom:2rem}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.empty-title{color:var(--charcoal);margin-bottom:.5rem;font-size:1.5rem}.empty-text{color:var(--wine)}.image-upload-wrapper{width:100%}.image-upload-label{color:var(--charcoal);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.image-upload{background:var(--white);border:2px dashed var(--cream-dark);cursor:pointer;border-radius:16px;transition:all .3s;position:relative;overflow:hidden}.image-upload:hover{border-color:var(--peach);box-shadow:0 8px 30px var(--shadow-lg);transform:translateY(-2px)}.image-upload.dragging{border-color:var(--coral);background:var(--cream);transform:scale(1.02)}.image-upload.has-image{border:none}.image-upload-large{aspect-ratio:1;width:100%;max-width:300px}.image-upload-medium,.image-upload-small{aspect-ratio:3/4;width:100%}.image-preview{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%}.image-upload-overlay{opacity:0;background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:1rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.image-upload:hover .image-upload-overlay{opacity:1}.image-remove-btn{width:36px;height:36px;color:var(--coral);cursor:pointer;background:#fffffff2;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.image-remove-btn:hover{background:var(--coral);color:var(--white);transform:rotate(90deg)}.image-edit-text{color:var(--white);font-size:1rem;font-weight:500}.image-index-badge{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);width:32px;height:32px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 4px 12px #0003}.image-upload-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;padding:2rem;display:flex}.upload-icon{opacity:.5;font-size:3rem}.upload-text{text-align:center}.upload-main-text{color:var(--charcoal);margin-bottom:.25rem;font-size:1.1rem;font-weight:500}.upload-sub-text{color:var(--wine);font-size:.85rem}.profile-images-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;display:grid}@media (max-width:768px){.profile-images-grid{grid-template-columns:repeat(2,1fr)}}@supports (-webkit-touch-callout:none){body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,button,select{-webkit-user-select:text;user-select:text}.app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.nav{padding-top:calc(1rem + env(safe-area-inset-top))}}@media (hover:none) and (pointer:coarse){.btn{min-height:48px;padding:.875rem 2rem}.filter-select,.form-input,.form-textarea{min-height:48px;font-size:16px}.nav-link{align-items:center;min-height:44px;padding:.75rem 1rem;display:flex}.sighting-card,.hero-card{cursor:pointer;-webkit-tap-highlight-color:transparent}.sighting-card:active,.hero-card:active{opacity:.9;transform:scale(.98)}*{-webkit-overflow-scrolling:touch}input[type=text],input[type=email],input[type=password],input[type=url],textarea,select{font-size:16px!important}}@media (max-width:900px){.filters{grid-template-columns:repeat(2,1fr);gap:1rem}.hero-cards-grid{grid-template-columns:repeat(4,180px)}.footer-content{grid-template-columns:1fr 1fr}}@media (max-width:600px){.nav-links{display:none}.hero-cards-grid{grid-template-columns:repeat(3,160px)}.section{padding:4rem 1.5rem}.sightings-grid,.footer-content{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.search-bar{flex-direction:column}}.app-main{flex-direction:column;flex:1;display:flex}.bottom-nav{background:var(--white);border-top:1px solid var(--cream-dark);width:100%;padding:env(safe-area-inset-bottom,0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:none;left:0;right:0;box-shadow:0 -4px 20px #00000014;z-index:9999!important;position:fixed!important;bottom:0!important}@media (max-width:768px){.bottom-nav{padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0));justify-content:space-around;align-items:center;display:flex}.nav,.footer{display:none}.app-main{padding-bottom:80px}.find-page,.post-page,.chat-page,.profile-page{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.find-header{padding:1rem 1.5rem .5rem}.find-title{font-size:2rem}.find-subtitle{margin-bottom:1rem;font-size:.9rem}.find-filters{padding:0 1.5rem 1rem}.filters{flex-direction:column;gap:.75rem}.filter-group{min-width:unset;justify-content:space-between}.filter-group label{font-size:.85rem}.filter-select{flex:1;min-width:150px;padding:.6rem 1.5rem .6rem .75rem;font-size:.85rem}.search-input{padding:.875rem .875rem .875rem 2.5rem;font-size:.9rem}.search-icon{left:.875rem}.results-count{padding:0 1.5rem;font-size:.85rem}}.bottom-nav-item{cursor:pointer;color:#999;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 4px;transition:all .2s;display:flex}.bottom-nav-item.active{color:var(--coral)}.bottom-nav-icon{justify-content:center;align-items:center;width:24px;height:24px;transition:transform .2s;display:flex}.bottom-nav-icon svg{stroke-width:2px;width:24px;height:24px}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.1)}.bottom-nav-label{letter-spacing:.3px;margin-top:2px;font-size:11px;font-weight:500}.mobile-home{background:linear-gradient(135deg,var(--cream)0%,var(--white)100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}.mobile-home:before{content:"";background:radial-gradient(circle,var(--peach)0%,transparent 70%);opacity:.1;pointer-events:none;width:100%;height:100%;position:absolute;top:-50%;right:-50%}.mobile-home-content{text-align:center;z-index:1;width:100%;max-width:400px;position:relative}.mobile-logo{justify-content:center;margin-bottom:1.5rem;display:flex}.mobile-logo-icon{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-radius:24px;justify-content:center;align-items:center;width:80px;height:80px;font-size:3rem;animation:3s ease-in-out infinite float;display:flex;box-shadow:0 8px 30px #e5989b66}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mobile-title{color:var(--charcoal);letter-spacing:-.5px;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:2.5rem;font-weight:600}.mobile-tagline{color:var(--wine);margin-bottom:2.5rem;font-size:1.1rem;line-height:1.5}.mobile-quick-actions{flex-direction:column;gap:1rem;margin-bottom:2.5rem;display:flex}.mobile-action-btn{box-shadow:0 4px 15px var(--shadow);border-radius:16px;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;transition:all .3s;display:flex}.mobile-action-btn:active{transform:scale(.98)}.mobile-action-primary{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);color:var(--white)}.mobile-action-secondary{background:var(--white);border:2px solid var(--cream-dark);color:var(--charcoal)}.mobile-action-icon{flex-shrink:0;font-size:2rem}.mobile-action-text{text-align:left;flex:1}.mobile-action-title{margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.mobile-action-desc{opacity:.9;font-size:.85rem}.mobile-action-secondary .mobile-action-desc{color:var(--wine)}.mobile-stats{background:var(--white);box-shadow:0 4px 15px var(--shadow);border-radius:16px;justify-content:center;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.mobile-stat{text-align:center}.mobile-stat-number{color:var(--coral);margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600}.mobile-stat-label{color:var(--wine);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.mobile-stat-divider{background:var(--cream-dark);width:1px;height:40px}@media (max-width:768px){body:has(.mobile-home){overflow:hidden}}.loading-screen{background:linear-gradient(135deg,var(--cream)0%,var(--white)100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-logo{font-size:4rem;animation:2s ease-in-out infinite pulse}.loading-text{color:var(--charcoal);margin-top:1rem;font-family:Playfair Display,serif;font-size:1.5rem}.onboarding-flow{background:linear-gradient(135deg,var(--cream)0%,var(--white)100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.onboarding-container{width:100%;max-width:480px}.onboarding-progress{margin-bottom:1.5rem}.progress-bar{background:var(--cream-dark);border-radius:2px;width:100%;height:4px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--peach)0%,var(--coral)100%);height:100%;transition:width .3s}.progress-text{text-align:center;color:var(--wine);font-size:.85rem;font-weight:500}.onboarding-step{background:var(--white);box-shadow:0 10px 40px var(--shadow);border-radius:24px;padding:2.5rem 2rem}.onboarding-logo{text-align:center;margin-bottom:1.5rem;font-size:4rem;animation:3s ease-in-out infinite float}.onboarding-title{color:var(--charcoal);text-align:center;margin-top:0;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:2rem}.onboarding-subtitle{text-align:center;color:var(--wine);margin-top:0;margin-bottom:2rem;font-size:1rem}.onboarding-form{flex-direction:column;gap:1.5rem;display:flex}.gender-options{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.gender-option{background:var(--cream);border:2px solid var(--cream-dark);cursor:pointer;color:var(--charcoal);border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.gender-option:hover{border-color:var(--peach);transform:translateY(-2px)}.gender-option.active{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);border-color:var(--coral);color:var(--white)}.gender-icon{font-size:2.5rem}.onboarding-buttons{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-terms{text-align:center;color:var(--wine);margin-top:-.5rem;font-size:.75rem;line-height:1.4}.checkbox-label{color:var(--charcoal);cursor:pointer;text-align:left;align-items:flex-start;gap:.75rem;font-size:.9rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:.25rem}.checkbox-label span{flex:1;line-height:1.5}.link-text{color:var(--coral);text-decoration:underline}.page-container{min-height:100vh;padding-top:4rem}@media (max-width:768px){.page-container{padding-top:1rem;padding-bottom:80px}}.onboarding-flow{background:var(--cream);justify-content:center;align-items:flex-start;padding:0;display:flex;position:fixed;inset:0;overflow-y:auto}.onboarding-container{width:100%;max-width:500px;min-height:100dvh;padding:1rem 1.5rem 2rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(2rem,env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;display:flex}.onboarding-step{text-align:center;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;display:flex}.onboarding-form{width:100%;margin-top:1rem}.onboarding-buttons{justify-content:center;gap:1rem;width:100%;display:flex}.onboarding-buttons .btn{flex:1}.btn-full{width:100%}.profile-page{-webkit-overflow-scrolling:touch;min-height:100dvh;overflow-y:auto}@media (max-width:768px){.profile-page{padding-top:0}.profile-container{padding-top:env(safe-area-inset-top,0)}body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.post-page{min-height:100dvh;position:relative}.post-container{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.post-card{margin-top:0}}.form-label-hint.error{color:var(--coral);font-weight:500}.mobile-welcome{background:var(--dark);justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.mobile-welcome-cards-bg{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:rotate(-12deg)scale(1.3)}.mobile-welcome-cards-grid{grid-template-columns:repeat(3,160px);gap:20px;animation:60s linear infinite slowScroll;display:grid}.mobile-welcome-overlay{z-index:1;background:radial-gradient(#0f0f1ab3 0%,#0f0f1ae6 70%);position:absolute;inset:0}.mobile-welcome-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex;position:relative}.mobile-welcome .mobile-title{color:var(--white);margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.1}.mobile-welcome .mobile-tagline{color:#ffffffb3;max-width:320px;margin-bottom:3rem;font-size:1.125rem}.mobile-welcome-cta{flex-direction:column;gap:1rem;width:100%;max-width:320px;margin-bottom:3rem;display:flex}.mobile-welcome-btn{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);width:100%;max-width:300px;color:var(--white);border-radius:50px;margin:0 auto;padding:1rem 2rem;font-size:1.125rem;font-weight:600;text-decoration:none;transition:all .3s;display:block;box-shadow:0 8px 24px #faa89a4d}.mobile-welcome-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #faa89a66}.mobile-welcome .mobile-stats{-webkit-backdrop-filter:blur(20px);background:#0000004d;border:1px solid #ffffff1a;border-radius:16px;gap:2rem;padding:1.5rem 2rem;display:flex}.mobile-welcome .mobile-stat-number,.mobile-welcome .mobile-stat-label{color:var(--white)}.chat-list-header{padding:2rem 0 1rem}.chat-list-header h1{color:var(--charcoal);font-size:2rem;font-weight:700}.chat-list{flex-direction:column;gap:0;display:flex}.chat-preview{border-bottom:1px solid var(--cream-dark);align-items:center;gap:1rem;padding:1rem;text-decoration:none;transition:background .2s;display:flex}.chat-preview:hover{background:var(--cream)}.chat-preview-avatar{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);width:50px;height:50px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.chat-preview-content{flex:1;min-width:0}.chat-preview-header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.chat-preview-name{color:var(--charcoal);font-size:1rem;font-weight:600}.chat-preview-time{color:var(--charcoal);opacity:.6;font-size:.75rem}.chat-preview-message{color:var(--charcoal);opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.chat-preview-badge{background:var(--coral);min-width:24px;height:24px;color:var(--white);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:600;display:flex}.bottom-nav-icon{font-size:20px;line-height:1}@media (max-width:768px){.page-container{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}}.safety-centre-page{background:var(--cream);min-height:100vh;padding-bottom:80px}.safety-centre-header{background:var(--white);border-bottom:1px solid var(--cream-dark);z-index:10;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:sticky;top:0}.safety-centre-header h1{color:var(--charcoal);margin:0;font-size:1.5rem}.back-button{color:var(--coral);cursor:pointer;background:0 0;border:none;align-items:center;padding:.5rem;font-size:1rem;transition:opacity .2s;display:flex}.back-button:hover{opacity:.7}.safety-centre-tabs{background:var(--white);border-bottom:2px solid var(--cream-dark);z-index:9;display:flex;position:sticky;top:73px}.safety-tab{color:var(--wine);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:1rem;font-size:1rem;font-weight:500;transition:all .2s}.safety-tab:hover{background:#faa89a0d}.safety-tab.active{color:var(--coral);border-bottom-color:var(--coral)}.safety-centre-content{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.safety-tab-content h2{color:var(--charcoal);margin-bottom:.5rem;font-size:2rem}.safety-intro{color:var(--wine);margin-bottom:2rem;font-size:1.1rem}.safety-card{background:var(--white);border:1px solid var(--cream-dark);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.safety-card h3{color:var(--charcoal);margin-bottom:1rem;font-size:1.3rem}.safety-card p{color:var(--wine);margin-bottom:1rem;line-height:1.6}.safety-card ul{margin:0;padding:0;list-style:none}.safety-card li{color:var(--wine);padding:.5rem 0 .5rem 1.5rem;line-height:1.6;position:relative}.safety-card li:before{content:"•";color:var(--coral);font-size:1.2rem;font-weight:700;position:absolute;left:0}.safety-card li strong{color:var(--charcoal)}.safety-link{color:var(--coral);margin-top:1rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-block}.safety-link:hover{opacity:.7}.safety-note{border-left:4px solid var(--coral);background:#faa89a1a;border-radius:8px;margin:1rem 0;padding:1rem;font-size:.95rem}.resources-grid{gap:1.5rem;margin-bottom:2rem;display:grid}.resource-card{background:var(--white);border:1px solid var(--cream-dark);border-radius:16px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.resource-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.resource-card h3{color:var(--charcoal);margin-bottom:.5rem;font-size:1.2rem}.resource-description{color:var(--wine);margin-bottom:1rem;font-size:.95rem}.resource-contact{flex-direction:column;gap:.75rem;display:flex}.resource-phone{color:var(--charcoal);margin:0;font-size:1.1rem;font-weight:500}.resource-link{color:var(--coral);font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-block}.resource-link:hover{opacity:.7}.emergency-notice{background:linear-gradient(135deg,var(--coral),var(--rose));color:var(--white);border-radius:16px;margin-top:2rem;padding:1.5rem}.emergency-notice h3{color:var(--white);margin-bottom:.75rem}.emergency-notice p{color:var(--white);margin-bottom:.5rem;line-height:1.6}.emergency-notice strong{font-size:1.2rem;font-weight:700}.safety-centre-footer{background:var(--white);border-top:1px solid var(--cream-dark);z-index:10;flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.safety-centre-footer a{color:var(--coral);font-size:.9rem;font-weight:500;text-decoration:none;transition:opacity .2s}.safety-centre-footer a:hover{opacity:.7}@media (max-width:768px){.safety-centre-tabs{top:69px}.safety-tab{padding:.75rem .5rem;font-size:.9rem}.safety-centre-content{padding:1.5rem 1rem}.safety-tab-content h2{font-size:1.6rem}.safety-centre-footer{flex-direction:column;align-items:center;gap:.75rem;padding:1rem}.safety-centre-page{padding-bottom:140px}}.settings-page{background:var(--cream);min-height:100vh;padding-bottom:80px}.settings-header{background:var(--white);border-bottom:1px solid var(--cream-dark);z-index:10;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:sticky;top:0}.settings-header h1{color:var(--charcoal);margin:0;font-size:1.5rem}.settings-content{max-width:800px;margin:0 auto;padding:1.5rem}.settings-section{margin-bottom:2rem}.settings-section-title{color:var(--charcoal);margin-bottom:.75rem;padding:0 .5rem;font-size:1.1rem;font-weight:600}.settings-list{background:var(--white);border:1px solid var(--cream-dark);border-radius:12px;overflow:hidden}.settings-item{color:var(--charcoal);border-bottom:1px solid var(--cream-dark);justify-content:space-between;align-items:center;padding:1rem 1.25rem;text-decoration:none;transition:background-color .2s;display:flex}.settings-item-button{border:none;border-bottom:1px solid var(--cream-dark);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0}.settings-item-button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.settings-item:last-child,.settings-item-button:last-child{border-bottom:none}.settings-item:hover{background-color:#faa89a0d}.settings-item-content{align-items:center;gap:1rem;display:flex}.settings-item-icon{text-align:center;width:32px;font-size:1.4rem}.settings-item-label{color:var(--charcoal);font-size:1rem}.settings-item-status{color:var(--wine);font-size:.85rem;font-weight:400}.settings-item-arrow{color:var(--wine);opacity:.5;font-size:1.2rem}.settings-sign-out{background:linear-gradient(135deg,var(--coral),var(--rose));width:100%;color:var(--white);cursor:pointer;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.settings-sign-out:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fb84754d}.settings-footer{text-align:center;margin-top:3rem;padding:1rem}.settings-version{color:var(--wine);opacity:.6;margin-bottom:.25rem;font-size:.85rem}.settings-copyright{color:var(--wine);opacity:.5;font-size:.8rem}@media (max-width:768px){.settings-content{padding:1rem}.settings-section-title{font-size:1rem}.settings-item{padding:.875rem 1rem}.settings-item-icon{width:28px;font-size:1.2rem}.settings-item-label{font-size:.95rem}}.profile-page-modern{background:var(--cream);min-height:100vh;padding-bottom:100px}.profile-hero{background:linear-gradient(135deg,var(--peach)0%,var(--coral)100%);height:240px;position:relative;overflow:hidden}.profile-hero-bg{background-image:radial-gradient(circle at 20%,#fff3 0%,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff26 0%,#0000 50%);position:absolute;inset:0}.profile-avatar-container{position:absolute;bottom:-60px;left:50%;transform:translate(-50%)}.profile-avatar{border:4px solid var(--white);object-fit:cover;border-radius:50%;width:120px;height:120px;box-shadow:0 8px 24px #0000001f}.profile-avatar-placeholder{background:var(--cream);justify-content:center;align-items:center;display:flex}.profile-avatar-initial{font-size:3rem}.profile-content{max-width:600px;margin:0 auto;padding:80px 2rem 2rem}.profile-header-info{text-align:center;margin-bottom:2rem}.profile-name{color:var(--charcoal);margin-bottom:.5rem;font-size:2rem;font-weight:700}.profile-location{color:var(--wine);margin:0;font-size:1rem}.profile-section{background:var(--white);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000000a}.profile-section-title{color:var(--rose);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;font-size:.9rem;font-weight:600}.profile-bio{color:var(--charcoal);margin:0;font-size:1rem;line-height:1.7}.profile-interests{flex-wrap:wrap;gap:.5rem;display:flex}.profile-tag{background:var(--cream);color:var(--wine);border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:inline-block}.profile-tag-pill{color:var(--charcoal);background:#e5989b26}.match-profile-photo{border-radius:24px;width:180px;height:240px;overflow:hidden;box-shadow:0 12px 40px #0003}.match-photo-button{cursor:pointer;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0;position:relative}.match-photo-main{object-fit:cover;width:100%;height:100%;display:block}.match-photo-indicator{color:var(--white);background:linear-gradient(#0000,#000000b3);padding:.75rem;font-size:.9rem;position:absolute;bottom:0;left:0;right:0}.match-gallery-modal{z-index:10000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.match-gallery-content{background:#000;border-radius:20px;width:100%;max-width:480px;position:relative;overflow:hidden}.match-gallery-image{object-fit:cover;width:100%;max-height:80vh;display:block}.match-gallery-close{color:var(--white);cursor:pointer;background:#00000080;border:none;border-radius:50%;width:32px;height:32px;font-size:1.5rem;position:absolute;top:.5rem;right:.5rem}.match-gallery-nav{color:var(--white);cursor:pointer;background:#00000080;border:none;border-radius:50%;width:44px;height:44px;font-size:2rem;position:absolute;top:50%;transform:translateY(-50%)}.match-gallery-prev{left:.5rem}.match-gallery-next{right:.5rem}.match-gallery-count{color:var(--white);background:#00000080;border-radius:999px;padding:.25rem .6rem;font-size:.85rem;position:absolute;bottom:.75rem;right:.75rem}.match-profile-page{color:var(--white);background:#050509;min-height:100dvh}.match-profile-hero{height:65vh;min-height:420px;position:relative;overflow:hidden}.match-profile-hero-image{cursor:pointer;background-position:50%;background-size:cover;border:none;margin:0;padding:0;position:absolute;inset:0}.match-profile-hero-placeholder{background:linear-gradient(135deg,#1f1f2b,#0f0f1a);justify-content:center;align-items:center;font-size:4rem;display:flex;position:absolute;inset:0}.match-profile-hero-overlay{background:linear-gradient(#0003,#000000d9);position:absolute;inset:0}.match-profile-hero-header{z-index:2;justify-content:space-between;display:flex;position:absolute;top:1.25rem;left:1rem;right:1rem}.match-profile-hero-btn{width:44px;height:44px;color:var(--white);cursor:pointer;background:#00000059;border:none;border-radius:50%;font-size:1.25rem}.match-profile-hero-info{z-index:2;position:absolute;bottom:2rem;left:1.5rem;right:1.5rem}.match-profile-hero-info h1{margin:0 0 .5rem;font-size:2.4rem}.match-profile-hero-meta{color:#fffc;gap:1rem;font-size:1rem;display:flex}.match-profile-content{z-index:3;background:#050509;border-radius:24px 24px 0 0;margin-top:-2rem;padding:2rem 1.5rem 3rem;position:relative}.match-profile-card{background:#13131f;border-radius:16px;margin-bottom:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 10px 25px #00000073}.match-profile-card-title{text-transform:uppercase;letter-spacing:1px;color:#ffffffb3;margin-bottom:.65rem;font-size:.85rem}.match-profile-card-text{color:#ffffffe6;margin:0;line-height:1.6}.match-profile-card-list{color:#ffffffe6;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.match-profile-tags{flex-wrap:wrap;gap:.5rem;display:flex}@media (min-width:768px){.match-profile-hero{border-radius:0 0 30px 30px}.match-profile-content{max-width:520px;margin:-3rem auto 0}}.profile-gallery{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.profile-gallery-item{aspect-ratio:1;border-radius:12px;overflow:hidden}.profile-gallery-item img{object-fit:cover;width:100%;height:100%}.profile-actions{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.btn-large{width:100%;padding:1rem 2rem;font-size:1rem}.profile-footer{text-align:center;border-top:1px solid var(--cream-dark);margin-top:2rem;padding-top:2rem}.profile-report-link{color:var(--rose);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:.9rem}.profile-report-link:hover{text-decoration:underline}.profile-edit-header{margin-bottom:2rem}.profile-photo-upload{justify-content:center;margin-top:.5rem;display:flex}.form-required{color:var(--coral)}.profile-edit-actions{grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;display:grid}.profile-save-success{color:#155724;text-align:center;background:#d4edda;border-radius:8px;margin-top:1rem;padding:1rem;font-weight:500}.profile-preview-modal{z-index:10000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.profile-preview-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:0;background:#0f0f1acc;position:absolute;inset:0}.profile-preview-content{background:var(--white);-webkit-overflow-scrolling:touch;z-index:1;border-radius:24px;flex-direction:column;gap:1rem;width:100%;max-width:500px;max-height:90vh;padding:2rem;display:flex;position:relative;overflow-y:auto}.profile-preview-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.profile-preview-header h2{color:var(--charcoal);margin:0;font-size:1.5rem}.profile-preview-card{background:var(--cream);border-radius:16px;flex:1;margin-bottom:1.5rem;padding:1.5rem}.profile-preview-photos{margin-bottom:1.5rem}.profile-preview-main{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%;margin-bottom:1rem}.profile-preview-placeholder{background:var(--white);justify-content:center;align-items:center;display:flex}.profile-preview-placeholder-icon{color:var(--rose);font-size:4rem}.profile-preview-gallery{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.profile-preview-gallery-item{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.profile-preview-info{color:var(--charcoal)}.profile-preview-name{color:var(--charcoal);margin:0 0 .5rem;font-size:1.5rem}.profile-preview-location,.profile-preview-height{color:var(--wine);margin:.25rem 0;font-size:.95rem}.profile-preview-section{margin-top:1.5rem}.profile-preview-section h4{color:var(--rose);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.profile-preview-section p{color:var(--charcoal);margin:0;line-height:1.6}.profile-preview-tags{flex-wrap:wrap;gap:.5rem;display:flex}@media (max-width:768px){.profile-page-modern{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.profile-content{padding:80px 1.5rem 2rem}.profile-edit-actions{grid-template-columns:1fr}.profile-preview-content{max-height:95vh;padding:1.5rem}}
