/* Warm pub windows: the map retains sole ownership of marker positioning. */
.pub-window-light{display:none}
#map .qpin.live{border-color:#d6c48b;box-shadow:inset 0 0 0 2px #344f39,inset 0 0 0 3px #a3a376,0 2px 4px #0003}
#map .qpin.live::after{display:none}
:root.light .pub-window-light{opacity:.48}
#map .qpin.type-general{border-radius:15px 15px 7px 7px}
#map .qpin.type-music{border-radius:50%;box-shadow:inset 0 0 0 2px #354c3e,inset 0 0 0 3px #a98b4c,inset 0 0 0 6px #fff1ce12,0 4px 10px #30251240}
#map .qpin.type-film{border-radius:5px;border-top-width:5px;background-image:repeating-linear-gradient(125deg,#e0c487 0 4px,#354c3e 4px 8px)!important;background-size:100% 4px!important;background-repeat:no-repeat!important}
#map .qpin.type-theme{border-radius:12px 4px 12px 4px}
#map .qpin.type-popculture{border-radius:15px 15px 10px 10px}
#map .qpin.type-mixed{border-radius:8px 13px 8px 13px}
#map .qpin.type-app{border-radius:6px}
/* Keep multi-quiz counts inside all sign shapes, and the personal avatar outside. */
#map .qpin.type-film.has-count>.pin-glyph{top:-1px;height:13px}
#map .qpin.type-film.has-count>.pin-count{bottom:2px}
.quiz-pin-self{position:absolute;z-index:10;top:9px;left:39px;display:grid;place-items:center;width:25px;height:25px;border:2px solid #e8ce8e;border-radius:50%;background:var(--parchment,#291c0b);box-shadow:0 2px 6px #0004;color:var(--ink);pointer-events:none}
.quiz-pin-self>span{font:16px/1 system-ui!important;text-shadow:none}
.quiz-pin-self.arriving{animation:pub-avatar-land .65s cubic-bezier(.2,.9,.3,1) both}
@keyframes pub-avatar-land{0%{opacity:0;transform:translateY(-13px) scale(.75)}65%{opacity:1;transform:translateY(2px) scale(1.06)}100%{transform:translateY(0) scale(1)}}
body.pub-app .detail-panel .dp-title{font-size:29px!important;line-height:1.14}
body.pub-app .detail-panel .dp-daytags{padding-bottom:12px;border-bottom:1px dashed var(--border)}
body.pub-app .detail-panel .dp-fav{box-shadow:inset 0 0 0 3px var(--parchment),inset 0 0 0 4px var(--border)}
body.pub-app .detail-panel{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
body.pub-app .detail-panel .dp-action,.quiz-evening-actions button{transition:translate .14s ease,filter .14s ease}
body.pub-app .detail-panel .dp-action:active,.quiz-evening-actions button:active{translate:0 2px;filter:brightness(.95)}
.pub-result-celebration{position:fixed;z-index:180;left:50%;bottom:calc(var(--app-bottom,88px) + 16px);transform:translateX(-50%);width:min(360px,calc(100% - 24px));display:flex;align-items:center;gap:15px;padding:18px 37px 18px 16px;border:1px solid var(--border);border-radius:17px;background:var(--parchment);color:var(--ink);box-shadow:0 8px 28px #0003}
.pub-result-celebration strong{font:750 16px/1.4 system-ui!important;display:block}
.pub-result-celebration p{font:500 13px/1.5 system-ui!important;margin:4px 0;color:var(--muted2);overflow-wrap:anywhere}
.pub-result-celebration small{font:500 12px/1.5 system-ui!important;color:var(--gold2)}
.pub-result-medal{flex:0 0 54px;height:66px;animation:pub-medal-in .65s cubic-bezier(.2,.8,.2,1) both}
.pub-result-medal svg{display:block;width:54px;height:66px;overflow:visible}
@keyframes pub-medal-in{0%{opacity:0;transform:translateY(12px) rotate(-15deg) scale(.7)}65%{opacity:1;transform:translateY(-2px) rotate(4deg) scale(1.04)}100%{transform:none}}
.pub-result-close{position:absolute;right:3px;top:4px;min-width:34px;min-height:34px;background:transparent;color:var(--muted2);border:0;border-radius:8px;font:24px/1 system-ui!important;cursor:pointer}
:root.light .quiz-pin-self,:root.light .pub-result-celebration{background:var(--surface-card,#fffaf1)}
@media(prefers-reduced-motion:reduce){.quiz-pin-self.arriving,.pub-result-medal{animation:none}body.pub-app .detail-panel,body.pub-app .detail-panel .dp-action,.quiz-evening-actions button{transition:none}body.pub-app .detail-panel .dp-action:active,.quiz-evening-actions button:active{translate:none}}

.quiz-pin-pulse{border-color:#efca7e}

/* The venue name is the card heading; no duplicate title or image strip. */
body.pub-app .detail-panel .detail-toolbar{align-items:center;gap:10px;padding:12px 14px 12px 20px}
body.pub-app .detail-panel .detail-toolbar .dp-title{flex:1;min-width:0;margin:0;color:var(--ink);font-size:26px!important;line-height:1.15;overflow-wrap:anywhere;white-space:normal}
.detail-toolbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
body.pub-app .detail-panel .detail-toolbar .dp-fav{margin:0;width:40px;height:40px;flex-shrink:0}
body.pub-app .detail-panel .detail-toolbar .detail-close{width:40px;min-width:40px;height:40px;min-height:40px;flex-shrink:0}
