.play-map-trigger { display:flex; align-items:center; gap:9px; width:100%; flex:0 0 auto; padding:10px 24px; border:0; border-bottom:1px solid var(--border); background:var(--panel); color:var(--text); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.play-map-trigger[hidden] { display:none; }
.play-map-trigger > span { color:var(--muted); }
.play-map-trigger > strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.play-map-trigger > span:last-child { margin-left:auto; flex-shrink:0; }
.play-map-trigger:hover { background:var(--bg); }
.play-map-dialog { width:min(860px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--border); border-radius:16px; background:var(--panel); color:var(--text); }
.play-map-dialog[open] { display:flex; flex-direction:column; }
.play-map-dialog::backdrop { background:#0009; }
.play-map-header { display:flex; align-items:center; justify-content:space-between; padding:16px 22px; border-bottom:1px solid var(--border); }
.play-map-header h2 { font-size:18px; margin:0; }
.play-map-close { border:0; background:transparent; color:var(--text); font-size:26px; cursor:pointer; width:36px; height:36px; }
.play-map-body { padding:18px 22px 24px; overflow:auto; min-height:0; }
.play-map-sidebar { min-width:0; }
.play-map-picker { display:grid; gap:8px; font-size:13px; color:var(--muted); }
.play-map-picker select { width:100%; min-width:0; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--panel); color:var(--text); font:inherit; }
.play-map-location { font-weight:650; margin:0 0 6px; }
.play-map-muted { font-size:13px; line-height:1.6; color:var(--muted); margin:8px 0 14px; }
.play-map-details { padding:16px 0 0; }
.play-map-details h3 { font-size:16px; margin:0 0 8px; }
.play-map-details p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.play-map-action { padding:10px 16px; border:1px solid var(--border); border-radius:8px; background:var(--accent); color:#181818; font:inherit; font-weight:600; cursor:pointer; }
.play-map-action:disabled { opacity:.45; cursor:default; }
@media(max-width:700px) { .play-map-trigger { padding:10px 16px; } .play-map-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); } .play-map-body { padding:16px; } }
@media(min-width:701px) { .play-map-body { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:0 22px; } .play-map-body > p { grid-column:1 / -1; } }
