:root{--brand:#0f766e;--brand-hover:#115e59;--brand-tint:#e7f6f3;--accent:#0f766e;--sun:#f59e0b;--danger:#c0362c;--ok:#15803d;--brand-ink:#fff;--bg:#f6f9fb;--surface:#fff;--ink:#1d2733;--muted:#5b6878;--line:#e3e9ef;--warn-bg:#fff6dc;--shadow:0 1px 2px #1018280a, 0 2px 8px #1018280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}.app{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.offline{background:var(--warn-bg);padding:8px 16px;font-size:14px}.header{background:var(--surface);color:var(--ink);padding:calc(28px + env(safe-area-inset-top)) 16px 24px;box-shadow:0 1px 0 var(--line);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.header h1{color:var(--brand);letter-spacing:-.02em;margin:0 0 4px;font-size:28px}.header p{color:var(--muted);margin:0}.main{flex:1;align-content:start;gap:16px;width:100%;max-width:640px;margin:0 auto;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:18px}.card h2{margin:0 0 8px;font-size:18px}.card p{margin:0;line-height:1.5}.field label,.field .label{color:var(--muted);margin-bottom:4px;font-size:14px;display:block}.field input,.field textarea,.filter{width:100%;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:16px}.field input:focus,.field textarea:focus,.filter:focus{outline:2px solid var(--brand);outline-offset:-1px;background:var(--surface)}.city-results{border:1px solid var(--line);border-radius:8px;margin:4px 0 0;padding:0;list-style:none;overflow:hidden}.city-results button{text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);padding:10px 12px;font-size:16px}.city-results li:last-child button{border-bottom:0}.muted{color:var(--muted);font-size:14px}.card p.muted,.card .muted{margin-top:2px}.footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px;font-size:12px;display:flex}.footer a{color:inherit}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.spread{justify-content:space-between}.row.dates>.field{flex:140px}.push-right{margin-left:auto}.center{text-align:center}button,.file-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 16px;font-size:16px}button:disabled{opacity:.55;cursor:default}.primary{background:var(--brand);color:var(--brand-ink);font-weight:600}.primary:hover:not(:disabled){background:var(--brand-hover)}.secondary,.file-button{background:var(--surface);color:var(--ink);border-color:var(--line);display:inline-block}.danger{color:var(--danger);border-color:var(--danger);background:0 0}.small{padding:6px 12px;font-size:14px}.link{color:var(--accent);text-align:left;background:0 0;border:0;padding:4px 0;font-size:14px}.error{color:var(--danger);font-size:14px}.success{color:var(--ok);font-size:14px}.hint{color:var(--muted);margin:4px 0 0;font-size:13px}.signin form{gap:12px;display:grid}.code-input{letter-spacing:.4em;text-align:center;font-size:28px!important}.muted-inline{color:var(--muted);font-size:14px}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.item{justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 0;display:flex}.item p{margin:0}.list.past{opacity:.75}.note{margin-top:2px;font-size:14px;font-style:italic;display:block}.person{color:inherit;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:flex}.person>span{display:grid}.subform{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:12px}.avatar{object-fit:cover;background:var(--line);border-radius:50%;flex:none}.avatar-initials{background:var(--brand-tint);color:var(--brand);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.photo-row{align-items:center;gap:16px;display:flex}.chips{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.chip{background:var(--brand-tint);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:4px 4px 4px 12px;font-size:14px;display:inline-flex}.chip button{color:var(--muted);background:0 0;border:0;padding:0 8px;font-size:18px;line-height:1}.profile-head{align-items:center;gap:16px;display:flex}.profile-head h2{margin:0;font-size:22px}.details{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0}.danger-zone{margin-top:16px}.with-nav{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tabs{background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #1018280a}.tabs a{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);border-radius:10px;padding:9px 1px;font-size:12px;line-height:18px;text-decoration:none;overflow:hidden}.tabs a[aria-current=page]{color:var(--brand);background:var(--brand-tint)}.button{text-align:center;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 16px;font-size:16px;text-decoration:none;display:inline-block}.button.whatsapp{color:#fff;background:#1f8f4e;border-color:#1f8f4e;font-weight:600}.button.block{display:block}.days{margin:0;font-weight:600}.item-actions{align-items:center;gap:12px;display:flex}.actions>*{text-align:center;flex:1}.section-heading{color:var(--muted);margin:8px 0 -4px;font-size:15px}.header-profile{outline:2px solid var(--brand-tint);border-radius:50%;flex:none}.post{padding:0;overflow:hidden}.post-photo{object-fit:cover;background:var(--line);width:100%;max-height:70vh;display:block}.card>.post-photo{border-radius:8px}.post-body{padding:12px 16px 16px}.post-body p{margin:0}.post-people a{color:inherit;font-weight:600}.like{background:var(--surface);border:1px solid var(--line);color:var(--muted);padding:6px 12px;font-size:15px}.like.liked{color:#d1344f;border-color:#d1344f}.danger-link{color:var(--danger)}.tag-list{max-height:260px;overflow-y:auto}.tag-option{cursor:pointer;padding:8px 0}.tag-option input,.checkbox input{flex:none;width:20px;height:20px}.checkbox{align-items:flex-start;gap:10px;font-size:15px;display:flex}.checkbox .hint{display:block}.install{background:var(--brand-tint);border-color:#0000}.install p{margin:0}.header.compact{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;align-items:center}.header.compact h1{margin:0;font-size:22px}.header.compact{z-index:10;position:sticky;top:0}.card a:not(.button):not(.person){color:var(--accent)}.button.primary{color:var(--brand-ink);border-color:var(--brand);font-weight:600}.meeting-when{gap:2px;display:grid}.meeting-date{color:var(--brand);font-size:18px;font-weight:700}.meeting .person{padding:6px 0}.meeting .list>li+li{border-top:0}.popup-backdrop{z-index:50;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#1d273359;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.popup{width:100%;max-width:480px;box-shadow:0 12px 40px #1018282e}.popup .button{display:block}.popup-head{align-items:center;gap:14px;display:flex}.popup-head h2{margin:0 0 4px}.popup .link{text-align:center}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{color:var(--muted);background:0 0;padding:8px;font-size:14px}.segmented button[aria-selected=true]{background:var(--brand-tint);color:var(--brand);font-weight:600}.map-box{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;position:relative;overflow:hidden}.map{aspect-ratio:1.25;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;display:block}.map-sea{fill:#e6f1f7}.map-land{fill:#fff;stroke:#c9d8e2;stroke-width:.8px}.map-link{stroke-width:2px;stroke-linecap:round}.map-link.meeting{stroke:var(--sun)}.map-link.match{stroke:var(--brand);stroke-dasharray:4 4;opacity:.7}.map-pin circle{stroke:#fff;stroke-width:2px}.map-pin.travel circle{fill:#6b8fa3}.map-pin.match circle{fill:var(--brand)}.map-pin.meeting circle{fill:var(--sun)}.map-pin.selected circle{stroke:var(--ink);stroke-width:3px}.map-pin text{fill:#fff;text-anchor:middle;pointer-events:none;font-weight:700}.map-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-controls{flex:none;gap:6px;display:flex}.map-controls button{background:var(--surface);width:34px;height:34px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);padding:0;font-size:18px;line-height:1}.map-legend{white-space:nowrap;color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;font-size:12px;display:flex}.dot{border-radius:50%;width:10px;height:10px;margin-left:4px;display:inline-block}.dot:first-child{margin-left:0}.dot.meeting{background:var(--sun)}.dot.match{background:var(--brand)}.dot.travel{background:#6b8fa3}.map-person{gap:6px;padding:8px 0}.map-person .person{padding:0}.map-note{border-radius:8px;margin:0;padding:6px 10px;font-size:14px}.map-note.meeting{background:#fff6dc}.map-note.match{background:var(--brand-tint)}.cohort-switch{width:auto;color:var(--brand);margin-left:auto;padding:6px 8px;font-size:14px;font-weight:600}.cohort-head h2,.invite-head h2{margin:2px 0 0}.badge{background:var(--brand-tint);color:var(--brand);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600}.invite-url{overflow-wrap:anywhere;color:var(--ink);font-size:12px;display:block}.item.invite>div:first-child{min-width:0}.leaderboard{padding:0}.leader{grid-template-columns:28px 1fr auto;align-items:center;gap:8px;display:grid}.leader.mine{border-top:1px dashed var(--line);padding-top:8px}.leader-rank{color:var(--muted);text-align:center;font-weight:700}.leader-count{color:var(--brand);font-size:20px;font-weight:700}.disclaimer h3{margin:8px 0 -4px;font-size:15px}.disclaimer p{margin:0}
