:root{color:#22242a;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0,#ed74522e,#0000 28rem),linear-gradient(#fffaf2 0%,#f3f7f4 100%);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.splash{text-align:center;place-content:center;gap:.8rem;min-height:100vh;display:grid}.app-frame{background:#ffffffad;width:min(100%,520px);max-width:100vw;min-height:100vh;margin:0 auto;padding-bottom:5.7rem;position:relative;overflow-x:clip;box-shadow:0 0 42px #25231d14}.topbar{z-index:10;background:#233b53;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;min-height:3.85rem;padding:.22rem 1rem;display:flex;position:sticky;top:0}.brand,.logo-lockup{align-items:center;gap:.65rem;font-weight:800;display:flex}.reward-icon{color:#fff;background:#233b53;border-radius:8px;place-items:center;width:2.35rem;height:2.35rem;display:grid}.meetup-logo{filter:drop-shadow(0 2px 3px #221c501f);flex:none;display:block;overflow:visible}.meetup-logo-mark{width:5.2rem;height:3.7rem}.meetup-logo-wide{width:8.4rem;height:6rem}.meetup-logo-large{width:min(70vw,15rem);height:auto}.meetup-logo-main{fill:#ed7452;letter-spacing:0;font-family:Impact,Arial Narrow,Arial,sans-serif;font-size:48px;font-weight:520}.meetup-logo-sub{fill:#fff;letter-spacing:0;font-family:Arial,Helvetica,sans-serif;font-size:37px;font-weight:420}.meetup-logo-sub.shadow{fill:#2c2c5238;transform:translate(2px,3px)}.icon-action{color:#233b53;background:#fff;border:1px solid #233b5326;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-width:3.9rem;height:2.35rem;font-weight:800;display:inline-flex}.avatar{color:#fff;text-transform:uppercase;background:#233b53;border-radius:8px;flex:none;place-items:center;font-weight:950;display:grid;overflow:hidden}img.avatar{object-fit:cover}.avatar-tiny{width:1.65rem;height:1.65rem;font-size:.85rem}.avatar-md{width:2.65rem;height:2.65rem;font-size:1.1rem}.avatar-profile{background:#ffffff24;width:4.25rem;height:4.25rem;font-size:1.8rem}.page{min-width:0;padding:1rem;overflow-x:clip}.auth-screen{align-content:center;gap:1rem;width:min(100%,520px);min-height:100vh;margin:0 auto;padding:1rem;display:grid}.auth-hero{padding:1rem .35rem}.auth-hero h1,.hero-band h1,.section-head h1{letter-spacing:0;margin:0;line-height:1.04}.auth-hero h1{max-width:11ch;margin-top:1.4rem;font-size:clamp(2rem,10vw,3.45rem)}.auth-hero p{color:#5b6269;max-width:34rem;font-size:1.05rem;line-height:1.55}.panel{background:#fff;border:1px solid #25231d14;border-radius:8px;min-width:0;box-shadow:0 14px 30px #25231d12}.auth-card,.form-stack{gap:.9rem;min-width:0;padding:1rem;display:grid}.segmented{background:#eef3ef;border-radius:8px;grid-template-columns:1fr 1fr;padding:.25rem;display:grid}.segmented button{color:#52605c;background:0 0;border:0;border-radius:6px;padding:.7rem;font-weight:750}.segmented .selected{color:#233b53;background:#fff;box-shadow:0 6px 14px #25231d14}.field{color:#525a61;gap:.4rem;font-size:.9rem;font-weight:700;display:grid}.field input,.field textarea,.search-bar input{color:#22242a;background:#fbfcfb;border:1px solid #233b5329;border-radius:8px;outline:none;width:100%;padding:.86rem .9rem}.field textarea{resize:vertical;min-height:7.5rem}.field input:focus,.field textarea:focus,.search-bar input:focus{border-color:#ed7452;box-shadow:0 0 0 3px #ed745229}.primary,.search-bar button,.small-link{color:#fff;background:#ed7452;border:0;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:2.9rem;padding:0 1rem;font-weight:800;display:inline-flex}.google-button{color:#22242a;background:#fff;border:1px solid #233b5329;border-radius:8px;justify-content:center;align-items:center;gap:.65rem;min-height:2.9rem;padding:0 1rem;font-weight:850;display:inline-flex}.google-button span{color:#1a73e8;background:#f4f7fb;border-radius:999px;place-items:center;width:1.55rem;height:1.55rem;font-weight:950;display:grid}.divider{color:#7a8581;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;font-size:.8rem;font-weight:800;display:grid}.divider:before,.divider:after{content:"";background:#233b531f;height:1px}.form-note{color:#62706d;align-items:center;gap:.4rem;margin:0;font-size:.86rem;display:flex}.hero-band{color:#fff;background:#233b53;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin:.2rem 0 1.2rem;padding:1.1rem;display:flex}.hero-band h1{font-size:1.85rem}.eyebrow{color:#ffffffb8;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .45rem;font-size:.72rem;font-weight:900}.hero-stat{background:#ffffff1f;border-radius:8px;place-items:center;min-width:4.3rem;height:4.3rem;display:grid}.hero-stat strong{font-size:1.45rem}.hero-stat span{font-size:.75rem}.section-head,.card-title-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-head{margin:.6rem 0 .8rem}.section-head h2,.section-head h1,.split-list h2{margin:0}.small-link{background:#233b53;min-height:2.35rem}.meetup-list,.reward-list,.split-list{gap:.85rem;display:grid}.meetup-card,.reward-progress,.reward-card,.friend-row{padding:1rem}.meetup-card h3,.reward-card h3,.reward-progress h2{margin:0}.meetup-card p,.reward-card p,.reward-progress p{color:#68716e;margin:.25rem 0 0}.card-title-row time{color:#233b53;background:#f2f6f1;border-radius:8px;flex:none;padding:.5rem .58rem;font-weight:850}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.95rem 0;display:grid}.meta-grid span{color:#53615d;text-align:center;background:#f7f6f1;border-radius:8px;align-content:center;justify-items:center;gap:.25rem;min-height:3rem;padding:.45rem;font-size:.78rem;font-weight:750;display:grid}.notes{background:#fff7ef;border-radius:8px;padding:.8rem}.invite-strip,.location-strip{color:#2f6f58;background:#eef7f1;border-radius:8px;align-items:center;gap:.55rem;margin-top:.75rem;padding:.75rem;font-size:.9rem;font-weight:750;display:flex}.location-strip{color:#315e8f;background:#eef3fb}.rsvp-row{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.9rem;display:grid}.chip{color:#46535d;text-transform:capitalize;background:#fff;border:1px solid #233b5329;border-radius:8px;min-height:2.35rem;font-weight:800}.chip.active{color:#27654f;background:#e7f4eb;border-color:#2f7f64}.attendance{border-top:1px solid #25231d14;margin-top:1rem;padding-top:.9rem}.attendance h4,.card-invites h4{margin:0 0 .55rem}.card-invites{border-top:1px solid #25231d14;margin-top:.8rem;padding-top:.8rem}.card-invites div{flex-wrap:wrap;gap:.45rem;display:flex}.card-invites .chip{justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;display:inline-flex}.attendee,.friend-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.friend-row.selected{border-color:#ed74526b;box-shadow:0 14px 30px #ed74521f}.attendee{min-height:2.4rem}.attendee span{flex:1}.attendee small{color:#2f7f64;font-size:.78rem;font-weight:850}.attendee input{accent-color:#2f7f64;width:1.25rem;height:1.25rem}.search-bar{background:#fff;border:1px solid #25231d14;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.65rem;display:grid}.search-bar input{background:0 0;border:0;padding-left:0}.friend-row div{gap:.15rem;display:grid}.friend-copy{flex:1;min-width:0}.friend-row span,.friend-row small{color:#6b7470;font-size:.9rem}.friend-row small{text-overflow:ellipsis;white-space:nowrap;max-width:15rem;overflow:hidden}.crew-section h2{margin-bottom:.8rem}.icon-only{color:#233b53;background:#fff;border:1px solid #233b5324;border-radius:8px;flex:none;place-items:center;width:2.4rem;height:2.4rem;display:grid}.invite-picker,.location-picker{background:#fbfcfb;border:1px solid #233b531f;border-radius:8px;gap:.65rem;min-width:0;padding:.85rem;display:grid}.invite-picker h2,.location-picker h2,.chat-panel h2{margin:0;font-size:1rem}.invite-picker p,.location-picker p,.chat-panel p{color:#68716e;margin:.2rem 0 0}.secondary-action{color:#233b53;background:#fff;border:1px solid #233b5329;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:2.7rem;padding:0 .9rem;font-weight:850;display:inline-flex}.location-actions{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.address-field{position:relative}.address-suggestions{z-index:12;background:#fff;border:1px solid #233b5324;border-radius:8px;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;box-shadow:0 16px 34px #161c2429}.address-suggestion{color:#22242a;text-align:left;background:#fff;border:0;border-bottom:1px solid #233b5314;gap:.12rem;width:100%;padding:.75rem .85rem;display:grid}.address-suggestion:last-child{border-bottom:0}.address-suggestion:hover,.address-suggestion:focus{background:#fff7ef;outline:none}.address-suggestion strong{color:#233b53;font-size:.92rem}.address-suggestion span{color:#66706e;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;overflow:hidden}.address-suggestion.muted{color:#66706e;cursor:default;font-weight:750}.mapbox-map,.mapbox-empty{background:#eef3ef;border:1px solid #233b5324;border-radius:8px;width:100%;min-width:0;min-height:14.5rem;overflow:hidden}.mapbox-map .mapboxgl-canvas,.mapbox-map .mapboxgl-canvas-container,.mapbox-map .mapboxgl-map{max-width:100%}.mapbox-empty{text-align:center;color:#5f6d69;align-content:center;place-items:center;gap:.45rem;padding:1rem;display:grid}.mapbox-empty svg{color:#ed7452}.mapbox-empty strong{color:#233b53}.mapbox-empty span{max-width:24rem;font-size:.88rem;line-height:1.4}.pin-summary{color:#7c3e2b;background:#fff7ef;border-radius:8px;align-items:center;gap:.55rem;min-height:2.6rem;padding:.7rem .8rem;font-size:.88rem;font-weight:800;display:flex}.pin-summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.coordinate-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}@media (width<=380px){.coordinate-grid,.location-actions{grid-template-columns:1fr}}.invite-option{background:#fff;border:1px solid #233b531a;border-radius:8px;justify-content:space-between;align-items:center;gap:.8rem;min-height:3.4rem;padding:.7rem;display:flex}.invite-option span{gap:.15rem;display:grid}.invite-option small{color:#6b7470}.invite-option input{accent-color:#ed7452;width:1.25rem;height:1.25rem}.chat-panel{gap:.85rem;margin-top:.9rem;padding:1rem;display:grid}.chat-fab{right:max(1rem,50vw - 260px + 1rem);bottom:calc(5.75rem + env(safe-area-inset-bottom));z-index:24;color:#fff;background:#233b53;border:0;border-radius:999px;place-items:center;width:3.55rem;height:3.55rem;display:grid;position:fixed;box-shadow:0 16px 34px #161c2442}.chat-badge{color:#fff;background:#ed7452;border:2px solid #fff;border-radius:999px;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .28rem;font-size:.72rem;font-weight:950;display:grid;position:absolute;top:-.2rem;right:-.1rem}.chat-drawer{right:max(1rem,50vw - 260px + 1rem);bottom:calc(9.7rem + env(safe-area-inset-bottom));z-index:25;grid-template-rows:auto minmax(0,1fr);gap:.8rem;width:min(100% - 2rem,480px);max-height:min(72vh,39rem);padding:.9rem;display:grid;position:fixed}.chat-drawer-head{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.chat-drawer-head h2,.chat-drawer-head p{margin:0}.chat-drawer-head h2{font-size:1.05rem}.chat-drawer-head p{color:#68716e;font-size:.86rem;font-weight:750}.chat-tabs{background:#eef3ef;border-radius:8px;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.chat-tabs button{color:#52605c;background:0 0;border:0;border-radius:6px;min-height:2.25rem;font-weight:850}.chat-tabs .selected{color:#4e12ff;background:#fff;box-shadow:0 6px 14px #25231d14}.chat-layout{grid-template-columns:minmax(7.6rem,.78fr) minmax(0,1.22fr);gap:.75rem;min-height:0;display:grid}.chat-contact-list{align-content:start;gap:.45rem;min-height:0;padding-right:.15rem;display:grid;overflow:auto}.chat-contact{color:#22242a;text-align:left;background:#fff;border:1px solid #233b531a;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;min-height:3.7rem;padding:.55rem;display:grid}.chat-contact.selected{background:#fff7ef;border-color:#ed74526b}.chat-contact.unread strong,.chat-contact.unread small{color:#22242a;font-weight:950}.chat-contact span{gap:.12rem;min-width:0;display:grid}.chat-contact small{text-overflow:ellipsis;white-space:nowrap;color:#6b7470;font-size:.78rem;overflow:hidden}.chat-contact i{color:#fff;background:#ed7452;border-radius:999px;place-items:center;min-width:1.2rem;height:1.2rem;font-size:.7rem;font-style:normal;font-weight:950;display:grid}.group-avatar{color:#4e12ff;background:#c6cef3;border-radius:8px;place-items:center;width:2.65rem;height:2.65rem;display:grid}.chat-thread{grid-template-rows:minmax(0,1fr) auto;gap:.55rem;min-width:0;min-height:0;display:grid}.message-list{background:#f6f7f4;border-radius:8px;align-content:start;gap:.95rem;min-height:14rem;max-height:24rem;padding:.75rem .75rem 1.2rem;display:grid;overflow:hidden auto}.message-list.compact{min-height:18rem;max-height:25rem}.message-bubble{background:#fff;border:1px solid #233b531a;border-radius:8px;width:fit-content;max-width:min(82%,21rem);padding:.65rem 1.35rem .82rem .78rem;position:relative}.message-bubble.mine{color:#fff;background:#233b53;justify-self:end}.message-bubble span{color:#7b8581;margin-bottom:.2rem;font-size:.73rem;font-weight:900;display:block}.message-bubble.mine span,.message-bubble.mine p{color:#ffffffd1}.message-bubble p{color:#22242a;margin:0}.reaction-row,.reaction-picker{flex-wrap:wrap;gap:.3rem;margin:0;display:flex}.reaction-row{z-index:3;position:absolute;bottom:-.52rem;left:.48rem}.message-bubble.mine .reaction-row{justify-content:flex-end;left:auto;right:1.3rem}.reaction-menu{z-index:5;position:absolute;bottom:.18rem;right:.18rem}.message-bubble.mine .reaction-menu{right:.18rem}.reaction-trigger{color:#233b53;background:#233b531f;border:0;border-radius:999px;place-items:center;width:.92rem;height:.92rem;padding:0;font-size:.62rem;font-weight:950;line-height:1;display:grid}.reaction-picker{z-index:6;opacity:0;pointer-events:none;background:#fff;border:1px solid #233b531f;border-radius:999px;width:max-content;max-width:6.5rem;padding:.22rem;transition:opacity .14s,transform .14s;position:absolute;bottom:1.1rem;right:0;transform:translateY(.18rem);box-shadow:0 12px 28px #161c242e}.message-bubble:not(.mine) .reaction-picker{left:auto;right:0}.reaction-menu.open .reaction-picker{opacity:1;pointer-events:auto;transform:translateY(0)}.reaction-chip,.reaction-picker button{color:#233b53;background:#f7f6f1;border:1px solid #233b531f;border-radius:999px;min-height:1.34rem;padding:0 .34rem;font-size:.68rem;font-weight:850}.reaction-chip.active{color:#4e12ff;background:#ece8ff;border-color:#4e12ff59}.reaction-chip{min-height:1.25rem;padding:0 .32rem;font-size:.66rem;box-shadow:0 2px 8px #161c241a}.message-bubble.mine .reaction-chip,.message-bubble.mine .reaction-picker button,.message-bubble.mine .reaction-trigger{color:#fff;background:#ffffff1f;border-color:#ffffff2e}.message-bubble.mine .reaction-picker{background:#fff}.message-bubble.mine .reaction-picker button{color:#233b53;background:#f7f6f1}.message-bubble.mine .reaction-chip.active{background:#c6cef352}.message-form{grid-template-columns:1fr auto;gap:.55rem;display:grid}.message-form input{background:#fbfcfb;border:1px solid #233b5329;border-radius:8px;outline:none;min-width:0;padding:.82rem .9rem}.message-form input:focus{border-color:#ed7452;box-shadow:0 0 0 3px #ed745229}.message-form button{color:#fff;background:#ed7452;border:0;border-radius:8px;place-items:center;width:2.9rem;height:2.9rem;display:grid}.message-form button:disabled{opacity:.45;cursor:not-allowed}.rewards-band{background:#2f7f64}.progress-track{background:#edf1ee;border-radius:999px;height:.75rem;margin-top:1rem;overflow:hidden}.progress-track span{border-radius:inherit;background:#ed7452;height:100%;display:block}.reward-card{gap:.85rem;display:flex}.reward-card.unlocked{border-color:#2f7f6461}.reward-card small{color:#2f7f64;margin-top:.45rem;font-weight:850;display:inline-block}.empty{color:#60706b;text-align:center;border:1px dashed #233b5333;border-radius:8px;align-content:center;place-items:center;gap:.45rem;min-height:9rem;padding:1rem;display:grid}.empty svg{color:#ed7452}.toast{z-index:30;color:#fff;background:#233b53;border:0;border-radius:8px;width:min(100% - 2rem,480px);padding:.85rem 1rem;font-weight:800;position:fixed;bottom:5.6rem;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #161c243d}.bottom-nav{z-index:20;width:min(100%,520px);padding:.5rem .55rem max(.5rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-top:1px solid #25231d14;grid-template-columns:repeat(5,1fr);gap:.2rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{color:#66706e;border-radius:8px;align-content:center;place-items:center;gap:.18rem;min-height:3.35rem;font-size:.72rem;font-weight:800;display:grid}.profile-hero{color:#fff;background:#233b53;border-radius:8px;align-items:center;gap:1rem;margin:.2rem 0 1rem;padding:1.1rem;display:flex}.profile-hero .eyebrow{margin-bottom:.25rem}.profile-hero h1{letter-spacing:0;margin:0;font-size:1.8rem;line-height:1.04}.profile-hero>div:last-child>span{color:#ffffffc7;margin-top:.25rem;font-weight:750;display:inline-block}.profile-photo-wrap{flex:none;position:relative}.photo-upload{color:#fff;cursor:pointer;background:#ed7452;border:2px solid #233b53;border-radius:8px;place-items:center;width:2rem;height:2rem;display:grid;position:absolute;bottom:-.35rem;right:-.35rem}.photo-upload input{display:none}.profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.profile-stat{align-content:center;place-items:center;gap:.2rem;min-height:4.6rem;padding:.6rem .35rem;display:grid}.profile-stat strong{color:#233b53;font-size:1.35rem}.profile-stat span{color:#6b7470;font-size:.72rem;font-weight:850}.profile-card{gap:.7rem;margin-top:.85rem;padding:1rem;display:grid}.profile-card h2{margin:0;font-size:1rem}.profile-card p{color:#68716e;margin:0}.bottom-nav a.active{color:#d95f3d;background:#fff0e9}@media (width<=460px){.chat-layout{grid-template-columns:1fr}.chat-contact-list{grid-auto-columns:minmax(10.5rem,1fr);grid-auto-flow:column;padding:0 0 .25rem;overflow:auto hidden}.message-list.compact{min-height:13rem;max-height:17rem}}@media (width>=780px){.app-frame,.auth-screen,.bottom-nav{width:min(100%,620px)}.chat-fab,.chat-drawer{right:max(1rem,50vw - 310px + 1rem)}.auth-screen{grid-template-columns:1fr 24rem;width:min(100% - 2rem,920px)}}
