.matchTopDock{flex:none;position:relative;z-index:3;display:grid;gap:4px;padding:7px var(--dm-gutter,20px) 6px;background:rgba(255,255,255,.98);border-bottom:1px solid #eee8f0;box-shadow:none}
.placeRevealPrompt{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;margin:0;padding:8px 9px;border:1px solid #eadfeb;border-radius:13px;background:#fbf8fc}.placeRevealIcon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#f2eafb;font-size:14px}.placeRevealCopy{min-width:0}.placeRevealCopy b{display:block;color:#312c34;font-size:12px;line-height:1.35}.placeRevealCopy p{margin:2px 0 0;color:#817985;font-size:11px;line-height:1.42}.placeRevealPrompt>button{min-height:32px;padding:0 10px;border:0;border-radius:9px;background:#8552bd;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.placeRevealPrompt>button:disabled{opacity:.55;cursor:default}
.matchRetentionNotice{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;padding:0 2px;border:0;background:none}.matchRetentionIcon{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:#f1edf3;color:#8a8390;font-size:10px;line-height:1}.matchRetentionCopy{min-width:0}.matchRetentionCopy b{display:block;color:#6f6a75;font-size:10.5px;font-weight:700;line-height:1.35}.matchRetentionCopy p{display:none}
.matchEndPrompt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #eadfeb;border-radius:12px;background:#fffafb}.matchEndCopy{min-width:0}.matchEndCopy b{display:block;font-size:12px;line-height:1.4;color:#3f3742}.matchEndCopy p{margin:2px 0 0;font-size:11px;line-height:1.45;color:#817985}.matchEndPrompt>button{min-height:34px;padding:0 11px;border:0;border-radius:10px;background:#8552bd;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}.matchEndPrompt>button:disabled{opacity:.55;cursor:default}
.placeRevealMessage{white-space:pre-line!important;width:min(92%,340px)!important;padding:9px 11px!important;border:0!important;border-radius:12px!important;background:#eee9f0!important;color:#756c79!important;box-shadow:none!important;line-height:1.5!important}
.stablePlacePanel{flex:none;width:calc(100% - (var(--dm-gutter,20px) * 2));margin:8px var(--dm-gutter,20px) 0;border:1px solid #ece7ed;border-radius:14px;background:#fff;overflow:hidden}.stablePlaceHead{display:flex;align-items:center;gap:6px;min-height:38px;padding:7px 9px 6px;color:#3f3742}.stablePlaceHead>span{font-size:13px;line-height:1}.stablePlaceHead>b{font-size:12.5px;line-height:1.35}.stablePlaceToggle{margin-left:auto;flex:none;min-height:28px;padding:0 8px;border:1px solid #e5dce8;border-radius:9px;background:#faf7fb;color:#735b7d;font-size:11px!important;font-weight:700;line-height:1;white-space:nowrap}.stablePlaceMap{width:100%;height:96px;display:grid;place-items:center;overflow:hidden;background:#f3eff4;color:#8a818d;font-size:11px;line-height:1.5}.stablePlacePanel.mapCollapsed .stablePlaceMap{display:none!important}.stablePlaceMap img{width:100%;height:100%;display:block;object-fit:cover}.stablePlaceRows{display:grid;padding:4px 9px 6px}.stablePlaceRow{display:grid;grid-template-columns:11px minmax(0,1fr);gap:6px;align-items:flex-start;padding:3px 0}.stablePlaceRow+.stablePlaceRow{border-top:1px solid #f0edf1}.stablePlaceDot{padding-top:5px;color:#9b67b7;font-size:7px;line-height:1}.stablePlaceRow>div{min-width:0}.stablePlaceRow small{display:block;color:#948b97;font-size:10.5px;line-height:1.35}.stablePlaceRow b{display:block;margin-top:1px;color:#3d373f;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.stablePlaceRow span:not(.stablePlaceDot){display:block;margin-top:1px;color:#777078;font-size:10.5px;line-height:1.4;overflow-wrap:anywhere}
.placeRevealToast{position:fixed;z-index:7600;left:50%;bottom:calc(var(--dm-nav-height,69px) + 12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 40px),390px);padding:10px 12px;border-radius:12px;background:#2c2830;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.2);font-size:12px;font-weight:700;text-align:center}
@media(max-width:360px){.matchTopDock{padding:7px 16px}.placeRevealPrompt{grid-template-columns:26px minmax(0,1fr);padding:8px 9px}.placeRevealPrompt>button,.matchEndPrompt>button{width:100%;min-height:36px}.placeRevealPrompt>button{grid-column:1/-1}.matchEndPrompt{grid-template-columns:1fr}.stablePlacePanel{width:calc(100% - 32px);margin-left:16px;margin-right:16px}.stablePlaceMap{height:88px}.stablePlaceToggle{padding:0 7px;font-size:10.5px!important}}
/* 단체방 참여자 목록. 누가 들어와 있는지 보이지 않으면 상황 판단이 안 된다 */
.matchMembers{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 2px}
.matchMembers>b{font-size:10.5px;color:#8a8390;font-weight:800;flex:none}
.matchMemberList{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.matchMemberChip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:2px 7px;border:1px solid #efe9f3;border-radius:20px;background:#faf9fb;font-size:10.5px;color:#4a4550}
.matchMemberChip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.matchMemberAction{flex:none;border:0;background:none;padding:0;font-size:11px;font-weight:800;color:#c0396b;cursor:pointer}
.matchMemberAction:disabled{opacity:.5;cursor:default}

/* 어떤 약속에 대한 대화인지 위에 고정한다 */
/* 상단은 대화보다 작아야 한다. 공연·경로·시각을 두 줄로 눌러 담는다 */
.matchPotSummary{display:grid;gap:1px;padding:0 2px}
.matchPotSummary>b{font-size:12.5px;color:#2b2830;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.matchPotSummary>small{font-size:10.5px;color:#7a7480;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
