/* Duk⁶ Duk⁶ 4: same HKeventMap UI; official plan preserved */
#stage{position:absolute;transform-origin:0 0}#floor{width:100%;height:auto}.booth-hotspot{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:3px;background:rgba(0,0,0,0);cursor:pointer;padding:0}.booth-hotspot:focus-visible,.booth-hotspot:hover{outline:2px solid #ff4f9a;background:#ff4f9a55}#mapPreview{z-index:5}.duk-ig-posts{display:grid;gap:10px}.duk-ig-posts a{color:var(--ui-accent)}

/* V3.10.9: left-only anchored society preview and pointer */
#mapPreview{left:8px;right:auto!important;bottom:auto!important;max-width:min(340px,calc(100% - 16px));padding-right:10px!important}
#dukPreviewArrow{position:absolute;z-index:19;pointer-events:none;transform:translate(-50%,-50%);width:0;height:0;filter:drop-shadow(1px 2px 2px #0006)}
#dukPreviewArrow[data-side="right"]{border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:12px solid var(--ui-card)}
#dukPreviewArrow[data-side="left"]{border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:12px solid var(--ui-card)}
#dukPreviewArrow[data-side="top"]{border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:12px solid var(--ui-card)}
#dukPreviewArrow[data-side="bottom"]{border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid var(--ui-card)}
#dukPreviewArrow[hidden]{display:none}

/* Event-specific layout only. Preview typography, colors, actions and image are shared. */
#mapPreview .preview-society{display:flex;align-items:center;gap:9px;margin-top:8px;min-width:0}
#mapPreview .preview-society .preview-art{width:128px;height:128px;flex:0 0 128px;object-fit:cover;border-radius:8px;background:var(--ui-bg)}
#mapPreview .preview-society .preview-content{display:grid;gap:6px;min-width:0;flex:1}
#mapPreview .preview-society b{font-size:13px;line-height:1.4}
#mapPreview .preview-society .actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:5px}
#mapPreview .preview-society .actions button{min-width:0!important;min-height:38px!important;padding:8px 10px!important;border-radius:7px!important;font-size:13px!important;line-height:1.25!important;font-weight:700!important;cursor:pointer}
#mapPreview .preview-society .actions [data-fav]{background:var(--ui-soft)!important;color:var(--ui-accent)!important;border:1px solid var(--ui-accent)!important}
#mapPreview .preview-society .actions [data-detail]{background:var(--ui-accent)!important;color:#fff!important;border:1px solid var(--ui-accent)!important}
#mapPreview .preview-society .hashtag-list{display:flex;justify-content:flex-start;gap:5px;flex-wrap:wrap}
#mapPreview .preview-society .hashtag{font-size:11px!important;padding:4px 7px!important}
#mapPreview .preview-society .preview-ig{font-size:12px;color:var(--ui-accent);text-decoration:underline}
#mapPreview .preview-society p{font-size:11px;line-height:1.45;margin:0}
@media(max-width:560px){#mapPreview .preview-society .preview-art{width:108px;height:108px;flex-basis:108px}}

/* Shared society-card layout and booth badge */
.item .photo-wrap{position:relative;min-width:0;align-self:start}
.item .photo-wrap .booth{position:absolute!important;top:0!important;left:0!important;z-index:3;display:block!important;background:#fff!important;color:#1c2c4a!important;border-radius:7px 0 7px 0!important;padding:5px 8px!important;font-size:13px!important;line-height:1.2!important;font-weight:800!important;min-width:0!important}
.item .photo-wrap .photo-placeholder{display:flex;align-items:center;justify-content:center;text-align:center}
.item .photo-wrap .photo-placeholder[hidden]{display:none!important}
.item .hashtag-list:empty{display:none}
.item .society-intro{font-size:12px;line-height:1.5;color:var(--ui-muted,#aab2c4);margin:5px 0}

/* Shared preview close control, consistent with RG34 */
#mapPreview .map-preview-close{position:absolute;top:8px;right:8px;width:30px;height:30px;min-height:30px;border-radius:7px;background:var(--ui-soft);color:var(--ui-text);border:1px solid var(--ui-border);font-size:20px;cursor:pointer;z-index:2}
#mapPreview>strong{display:block;padding-right:38px}

/* V3.11.6: Duk hashtag layout uses RG34 card-foot visual standard. */
#results .item .info .hashtag-list{position:static!important;display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:5px!important;margin:6px 0 0!important;padding:0!important;transform:none!important;}
#results .item .info .hashtag-list .hashtag{position:static!important;display:inline-flex!important;width:auto!important;max-width:100%!important;margin:0!important;padding:4px 7px!important;background:var(--ui-soft)!important;color:var(--ui-accent)!important;border:1px solid transparent!important;border-radius:7px!important;font-size:11px!important;line-height:1.4!important;font-weight:500!important;text-align:left!important;transform:none!important;}

/* Allow native pointer events to implement one-finger pan and two-finger pinch. */
#viewport{touch-action:none;overscroll-behavior:contain}
#viewport .booth-hotspot{touch-action:none}
