body{letter-spacing:-.005em}.topbar{background:rgba(255,253,249,.94);backdrop-filter:blur(14px)}.nav a{position:relative}.nav a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .24s ease}.nav a:not(.btn):hover:after{right:0}.btn{border-radius:6px;box-shadow:0 7px 18px rgba(8,29,47,.08)}.btn:hover{box-shadow:0 10px 24px rgba(8,29,47,.14)}.btn.outline{border-color:rgba(56,86,107,.42);color:var(--navy2);box-shadow:none}.hero{background:linear-gradient(90deg,rgba(3,16,28,.92) 0%,rgba(8,29,47,.68) 43%,rgba(8,29,47,.08) 76%),url('/assets/lounge-hero.png') center/cover}.search-card{border-radius:10px;padding:10px;border:1px solid rgba(255,255,255,.28)}.section.navy{background:linear-gradient(135deg,var(--navy),#102f47)}.section.cream{background:linear-gradient(180deg,var(--cream),#fffdf9)}.value{border-top-color:rgba(195,160,106,.65)}.app-shell{background:linear-gradient(180deg,#f7f3eb 0,#fbfaf7 260px)}.app-head{background:linear-gradient(90deg,var(--navy),#102f47)}.appnav button{border-radius:999px}.appnav button.active{background:rgba(195,160,106,.18);color:#fff4e3}.card{border-color:rgba(228,221,210,.9);border-radius:12px;box-shadow:0 12px 40px rgba(8,29,47,.055)}.person{position:relative;overflow:hidden;transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease}.person:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gold);opacity:0;transition:opacity .23s}.person:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(8,29,47,.11);border-color:rgba(195,160,106,.42)}.person:hover:before{opacity:1}.avatar{background:linear-gradient(145deg,var(--navy2),var(--navy));box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.tag{background:#f4efe6;color:#5d554a;border:1px solid rgba(195,160,106,.18);font-weight:600}.trip-card{border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--navy2));box-shadow:0 22px 55px rgba(8,29,47,.18)}.trip-card:after{background:radial-gradient(circle at 100% 0,rgba(195,160,106,.3),transparent 58%)}.stat{border-radius:8px;border:1px solid rgba(255,255,255,.08)}.tab{border-color:var(--line);box-shadow:none}.tab.active{background:var(--navy2);border-color:var(--navy2)}.input{border-radius:7px}.mobile-nav{background:rgba(255,253,249,.97);backdrop-filter:blur(14px)}
.profile-edit-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}.profile-summary{position:sticky;top:24px}.profile-complete{display:flex;justify-content:space-between;gap:12px;margin-top:28px;font-size:13px;color:var(--muted)}.complete-track{height:6px;background:var(--cream);border-radius:20px;overflow:hidden;margin-top:8px}.complete-track span{display:block;height:100%;background:var(--gold)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-section{padding-top:8px;border-top:1px solid var(--line)}.form-section:first-child{padding-top:0;border:0}.form-section h2{margin:0}.form fieldset{border:0;padding:0;margin:0}.form legend{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:9px}.choice-grid{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;border:1px solid var(--line);border-radius:30px;padding:8px 13px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}.choice input:checked+span{background:var(--navy);border-color:var(--navy);color:white}@media(max-width:900px){.mobile-nav{overflow-x:auto;justify-content:flex-start}.mobile-nav button{flex:0 0 auto;min-width:64px}.profile-edit-layout{grid-template-columns:1fr}.profile-summary{position:static}}@media(max-width:620px){.grid2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.avatar{overflow:hidden}.avatar img{width:100%;height:100%;display:block;object-fit:cover}.photo-actions{margin:14px 0 22px}.photo-actions .btn{margin:0 3px 8px}.photo-actions .small{margin:4px auto 0;max-width:220px}.btn:disabled{opacity:.6;cursor:wait;transform:none}
