/* V22: consistent profile rhythm, crop controls and shared authors. */
[hidden]{display:none!important}
.profile-banner,.view-profile-content .profile-banner{height:auto;aspect-ratio:2/1}
.profile-identity{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px;align-items:start;margin-top:-24px;padding:0 10px}
.profile-portrait{display:grid;justify-items:center;gap:6px;min-width:0}
.profile-identity .profile-avatar{width:76px;height:76px;border:4px solid var(--bg)}
.profile-copy{padding:35px 0 0;min-width:0}
.profile-copy h1,.profile-copy h3{font-size:19px;line-height:1.25;letter-spacing:-.4px}
.profile-copy .bio{font-size:12px;line-height:1.55;white-space:pre-wrap}
.profile-copy>p:not(.bio){font-size:12px;margin-top:4px}
.favorite-brand{font-size:10px;font-weight:650;color:var(--muted);text-align:center;overflow-wrap:anywhere;max-width:80px;line-height:1.4}
.profile-buttons{margin:18px 10px 0;display:flex}.profile-buttons .edit-profile:first-child{flex:1;justify-content:center}
.profile-header .edit-profile{min-height:39px}.profile-header .profile-share{width:40px}
.profile-stats{margin-top:20px}.profile-stats b{font-size:17px}
.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invite-actions #share-invite{grid-column:1/-1}
.invite-button{min-height:42px;height:auto;padding:9px 7px;font-size:12px}
.qr-canvas-wrap{width:248px;max-width:100%;min-height:0;aspect-ratio:1;margin:18px auto;padding:4px;background:#fff;display:grid;place-items:center}
.qr-canvas-wrap canvas{display:block;width:100%;height:auto;max-width:240px;image-rendering:pixelated}
.qr-canvas-wrap:has(canvas[hidden]){aspect-ratio:auto;background:transparent;color:var(--muted)}
.qr-copy{font-size:12px;line-height:1.6}.invite-url{overflow-wrap:anywhere;user-select:text}
.utility-sheet{z-index:210}.utility-sheet .sheet-content{max-height:92dvh;overflow-y:auto;padding-bottom:max(22px,env(safe-area-inset-bottom))}
.crop-stage{width:100%;aspect-ratio:1;background:#101110;position:relative;overflow:hidden;touch-action:none;border-radius:12px;margin-top:14px;cursor:grab}
.crop-stage.banner-crop{aspect-ratio:2/1}.crop-stage canvas{display:block;width:100%;height:100%}
.crop-stage:not(.banner-crop):after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 100px #0009;border:1px solid #fff9;pointer-events:none}
.crop-zoom{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:12px;color:var(--muted)}
.crop-zoom input{flex:1;min-width:0;accent-color:#afc8b4;touch-action:pan-x}
.utility-copy{font-size:12px;line-height:1.55;color:var(--muted);margin:12px 0}
.scanner-view{width:100%;aspect-ratio:1;max-height:44dvh;object-fit:cover;background:#101110;border-radius:12px;display:block}
.scanner-upload{display:block;text-align:center;border:1px solid var(--line);border-radius:9px;padding:12px;font-size:12px;cursor:pointer}
.collab-picker{border:1px solid var(--line);border-radius:10px;padding:12px;margin:14px 0}
.collab-picker summary{cursor:pointer;font-size:13px;font-weight:650}.collab-picker summary span{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}
.collab-picker p,.collab-request p{font-size:11px;line-height:1.5;color:var(--muted)}
#collab-friends{max-height:160px;overflow-y:auto;margin-top:10px}
.collab-option{display:flex;align-items:center;gap:10px;min-height:44px;border-top:1px solid var(--line);font-size:12px}
.collab-option input{width:18px;height:18px;accent-color:#afc8b4;flex:none}.collab-option .avatar{width:28px;height:28px}
.collab-request{border-bottom:1px solid var(--line);padding:13px 0}.collab-request .friend-info b{white-space:normal}
.collab-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.collab-actions button{background:#2e342f;border:1px solid #4e5b50;border-radius:8px;color:var(--text);font:600 12px Manrope,system-ui,sans-serif;padding:10px 12px}
.collab-actions button[data-collab-answer="accept"]{background:var(--cream);color:#1b1d1a}
.coauthors{display:flex;align-items:center;gap:10px;padding:10px 0 12px}.coauthor-avatars{display:flex;flex:none;padding-left:0}
.coauthor-avatars .avatar{width:29px;height:29px;border:2px solid var(--bg);margin-left:-8px}.coauthor-avatars .avatar:first-child{margin-left:0}
.coauthor-names{min-width:0;font-size:13px;line-height:1.5}.coauthor-names button{font:700 13px Manrope,system-ui,sans-serif;border:0;background:none;padding:0;color:var(--text)}
.coauthor-names small{display:block;font-size:10px;color:var(--muted)}
.moment-actions{display:flex;gap:8px;margin:12px 0}.moment-actions button{border:1px solid var(--line);background:#2c302c;border-radius:8px;padding:10px;color:var(--text);font-size:12px}
.delete-moment[data-leave-post]{font-size:15px}
.double-pouch{display:flex;align-items:center;gap:10px;font-size:13px;margin:15px 0}.double-pouch input{width:19px;height:19px;accent-color:#afc8b4}.double-pouch small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.tab[data-tab="friends"]{position:relative}.tab.has-unread:after{content:'';position:absolute;top:6px;left:calc(50% + 9px);width:7px;height:7px;border-radius:50%;background:#cfdece;box-shadow:0 0 0 2px #1b1d1b}
.feed.is-gated .post-card{filter:none;pointer-events:auto}.gated-placeholder{display:grid;place-items:center;background:#282e28;color:var(--muted);font-size:12px;aspect-ratio:4/5}
@media(display-mode:standalone){.topbar{padding-top:calc(16px + env(safe-area-inset-top));height:calc(67px + env(safe-area-inset-top))}.screen{height:calc(100% - 67px - env(safe-area-inset-top))}}
