*{box-sizing:border-box}body{color:#1f2937;background:#f5f3ff;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.card{background:#fff;border-radius:12px;max-width:420px;margin:10vh auto 0;padding:24px;box-shadow:0 1px 8px #00000014}h1{margin:0 0 16px;font-size:1.4rem}form{flex-direction:column;gap:12px;display:flex}input{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:1rem}button{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:8px;padding:10px 14px;font-size:1rem}button:disabled{opacity:.5;cursor:default}button.link{color:#7c3aed;background:0 0;margin-top:12px;padding:0;text-decoration:underline}.error{color:#b91c1c}.center{text-align:center;margin-top:20vh}.card.wide{max-width:560px;margin:4vh auto}label{flex-direction:column;gap:4px;font-size:.9rem;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;font-size:1rem}select{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:1rem}fieldset{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}h3{color:#6b7280;margin:8px 0 4px;font-size:.95rem}.hint{color:#6b7280;margin:0;font-size:.85rem}.error{margin:0}.nav{background:#fff;align-items:center;gap:16px;padding:12px 16px;display:flex;box-shadow:0 1px 4px #00000014}.nav-link{color:#4b5563;padding:4px 0;text-decoration:none}.nav-link.active{color:#7c3aed;border-bottom:2px solid #7c3aed;font-weight:600}.nav-out{margin:0 0 0 auto}.page{max-width:960px;margin:0 auto;padding:16px}.page.narrow{max-width:560px}.filters{background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 1px 8px #00000014}.filter-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.filters input[type=search],.filter-row input{min-width:0}summary{cursor:pointer;padding:4px 0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{cursor:pointer;border:1px solid #d1d5db;border-radius:999px;flex-direction:row;align-items:center;gap:4px;padding:4px 10px;font-size:.85rem}.chip:has(input:checked){background:#ede9fe;border-color:#7c3aed}.chip input{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:16px;display:grid}.profile-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 8px #00000014}.profile-card h3{color:inherit;margin:0 0 4px;font-size:1.05rem}.meta{color:#6b7280;margin:0;font-size:.9rem}.tags{flex-wrap:wrap;gap:4px;margin:8px 0 0;display:flex}.tag{background:#ede9fe;border-radius:999px;padding:2px 8px;font-size:.8rem}.tag.more{background:#f3f4f6}.empty,.center-text{text-align:center;color:#6b7280;margin-top:32px}.more{margin:20px auto;display:block}.details{background:#fff;border-radius:12px;grid-template-columns:max-content 1fr;gap:8px 16px;padding:16px;display:grid}.details dt{color:#6b7280}.details dd{margin:0}a.profile-card{color:inherit;text-decoration:none;display:block}a.profile-card:hover{box-shadow:0 2px 12px #7c3aed40}.back{color:#7c3aed;margin-bottom:8px;text-decoration:none;display:inline-block}.bridge{text-align:center;margin-top:16px}.badge{text-align:center;color:#fff;background:#dc2626;border-radius:999px;min-width:18px;margin-left:6px;padding:0 6px;font-size:.75rem;line-height:18px;display:inline-block}.badge.inline{margin:8px 0 0}.section{margin:24px 0 8px;font-size:1.05rem}.room-list{flex-direction:column;gap:12px;display:flex}.room-card{margin-top:4px;display:block}.member-list{margin:0;padding:0;list-style:none}.member-list li{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.contact-open{color:#15803d;font-size:.9rem}.outsider,.invite-status{margin-top:16px}.contact-block{flex-direction:column;gap:8px;margin:16px 0;display:flex}.contact-reveal{flex-direction:column;flex-basis:100%;gap:8px;margin:0;padding:0;list-style:none;display:flex}.contact-reveal li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}a.button{color:#fff;background:#7c3aed;border-radius:8px;padding:10px 14px;font-size:1rem;text-decoration:none}
