/* SAMMY – POSITION POPUP 2.0. Isolated styles; no remote webfonts or map services. */
.sammy-position-open{display:inline-flex;align-items:center;gap:7px;min-height:35px;border:1px solid #78baf0;background:linear-gradient(180deg,#f7fcff,#eaf6ff);color:#184e7c;border-radius:9px;padding:6px 12px;font:inherit;font-size:.86rem;font-weight:750;cursor:pointer;box-shadow:0 1px 3px #1e517015;transition:background .15s,border-color .15s,transform .15s}
.sammy-position-open:hover,.sammy-position-open:focus-visible{background:#e0f2ff;border-color:#247cc0;transform:translateY(-1px)}
.sammy-position-open-icon{font-size:1.28rem;line-height:1;color:#0074d5}
.sammy-position-mask{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(14,30,49,.70);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sammy-position-mask[hidden],.sammy-position-thumbs[hidden],.sammy-position-marker[hidden]{display:none!important}
.sammy-position-dialog{box-sizing:border-box;width:min(1100px,100%);max-height:min(95dvh,930px);overflow-y:auto;border:1px solid #e7eef3;border-radius:23px;background:#fff;color:#152945;box-shadow:0 35px 100px #061b3899;padding:16px 17px 12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;line-height:1.44;overscroll-behavior:contain}
.sammy-position-dialog *{box-sizing:border-box}
.sammy-position-head{display:flex;align-items:center;gap:12px;margin-bottom:13px;padding:0 5px;min-height:66px}
.sammy-position-title-pin{font-size:29px;line-height:1}
.sammy-position-headlines{flex:1;min-width:0}
.sammy-position-head h2{margin:0!important;padding:0!important;color:#0f294d!important;line-height:1.17!important;font-size:clamp(23px,3vw,35px)!important;font-weight:850!important;letter-spacing:-.9px!important}
.sammy-position-subtitle{margin:4px 0 0!important;line-height:1.3;font-size:14px;color:#526986;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sammy-position-close{align-self:flex-start;flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:#193556;font-size:34px;line-height:1;cursor:pointer}
.sammy-position-close:hover,.sammy-position-close:focus-visible{background:#ebf3fb}
.sammy-position-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,29%);gap:16px;align-items:start}
.sammy-position-map-column{min-width:0}
.sammy-position-map{position:relative;width:100%;height:clamp(340px,53vh,535px);min-height:300px;overflow:hidden;border:1px solid #bed5e4;border-radius:12px;background:linear-gradient(155deg,#c7e4f2,#dcecd9);box-shadow:inset 0 1px 6px #52668b15;touch-action:none;user-select:none}
.sammy-position-map canvas{display:block;width:100%;height:100%;cursor:grab}
.sammy-position-map canvas:active{cursor:grabbing}
.sammy-position-marker{position:absolute;transform:translate(-50%,-83%);pointer-events:none;display:flex;align-items:center;flex-direction:column;width:104px;z-index:2;filter:drop-shadow(0 4px 3px #132a4666)}
.sammy-position-marker img{width:101px;height:101px;object-fit:contain}
.sammy-position-bubble{position:absolute;left:84px;top:11px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;background:#fffffff5;border-radius:12px;border:1px solid #d5e1ed;box-shadow:0 3px 9px #10254e27;padding:8px 11px;color:#173b60;font-size:12px;font-weight:770}
.sammy-position-zoom{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:3px;z-index:3}
.sammy-position-map button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #cbd7e0;border-radius:7px;background:#fffefa;color:#1b385a;box-shadow:0 2px 5px #12284437;font-size:23px;line-height:1;cursor:pointer}
.sammy-position-map button:hover,.sammy-position-map button:focus-visible{background:#eff8ff;border-color:#459ae0}
.sammy-position-expand{position:absolute;bottom:12px;right:11px;z-index:3}
.sammy-position-scale{position:absolute;bottom:11px;left:12px;font-size:11px;font-weight:700;letter-spacing:.1px;color:#163956;background:#ffffffe6;padding:3px 10px;border-bottom:3px solid #1d3b52;min-width:76px;text-align:center;border-radius:3px 3px 0 0}
.sammy-position-map-brand{position:absolute;bottom:12px;right:55px;color:#31506b;background:#ffffffdd;padding:4px 7px;border-radius:4px;font-size:10px;white-space:nowrap}
.sammy-position-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:11px 1px 3px}
.sammy-position-thumb{flex:0 0 93px;width:93px;height:65px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#e9f1f9;cursor:pointer}
.sammy-position-thumb.is-active{border-color:#168af0}
.sammy-position-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sammy-position-info{min-width:0;padding:1px 1px 0}
.sammy-position-cover{height:clamp(145px,21vh,205px);width:100%;background:linear-gradient(130deg,#bdeafc,#e8f6ff 53%,#badad1);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.sammy-position-cover img{max-width:100%;width:100%;height:100%;object-fit:cover}
.sammy-position-cover img[hidden]{display:none}
.sammy-position-cover .sammy-position-cover-avatar{width:160px;height:160px;object-fit:contain}
.sammy-position-place{font-size:clamp(18px,2vw,24px)!important;line-height:1.2!important;letter-spacing:-.4px;margin:13px 0 3px!important;color:#112d51!important;font-weight:820!important;overflow-wrap:anywhere}
.sammy-position-kind{color:#52708b;font-size:13px;margin-bottom:15px}
.sammy-position-detail{display:flex;align-items:flex-start;gap:11px;margin:10px 0}
.sammy-position-detail-icon{display:grid;place-items:center;border-radius:10px;background:#edf5fd;color:#2d6d9f;min-width:34px;width:34px;height:34px;font-size:23px}
.sammy-position-detail div{min-width:0}
.sammy-position-detail small{display:block;font-size:11px;color:#667d90;letter-spacing:.2px}
.sammy-position-detail b{display:block;font-size:14px;color:#22425f;font-weight:680;overflow-wrap:anywhere}
.sammy-position-date{font-size:14px;color:#22425f}
.sammy-position-explainer{border-top:1px solid #e6edf3;padding-top:13px;margin:15px 0 0!important;font-size:13px;color:#3a5269}
.sammy-position-mobile-close{display:none;border:1px solid #c8dbef;background:#eff7ff;color:#234b73;font:inherit;font-weight:700;border-radius:9px;padding:10px 15px;cursor:pointer}
.sammy-position-note{font-size:11px;color:#6c8191;padding:9px 3px 1px;border-top:1px solid #edf1f5;margin-top:9px}
.sammy-position-expanded .sammy-position-dialog{width:min(98vw,1500px);max-height:98dvh}
.sammy-position-expanded .sammy-position-map{height:min(72dvh,790px)}
@media(max-width:790px){.sammy-position-mask{padding:7px}.sammy-position-dialog{padding:11px;border-radius:16px;max-height:97dvh}.sammy-position-layout{grid-template-columns:1fr;gap:11px}.sammy-position-head{min-height:54px;margin-bottom:9px}.sammy-position-head h2{font-size:24px!important}.sammy-position-map{height:min(48dvh,435px);min-height:280px}.sammy-position-info{display:grid;grid-template-columns:90px 1fr;column-gap:12px;align-items:center}.sammy-position-cover{height:90px;width:90px;grid-row:span 3}.sammy-position-cover .sammy-position-cover-avatar{width:85px;height:85px}.sammy-position-place{margin:0!important;font-size:19px!important}.sammy-position-kind{margin:0 0 5px}.sammy-position-detail{margin:5px 0}.sammy-position-explainer{grid-column:1/-1}.sammy-position-mobile-close{display:none}.sammy-position-map-brand{font-size:9px}.sammy-position-bubble{display:none}}
@media(max-width:410px){.sammy-position-head{gap:7px}.sammy-position-title-pin{font-size:23px}.sammy-position-head h2{font-size:21px!important}.sammy-position-close{flex-basis:35px;width:35px;height:35px}.sammy-position-map{min-height:270px;height:40dvh}.sammy-position-thumb{flex-basis:75px;width:75px;height:53px}.sammy-position-map-brand{right:55px;max-width:185px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.sammy-position-open{transition:none}}
/* V3: polished dialog, globe button, higher-resolution themed illustrations. */
.sammy-position-dialog{width:min(1220px,100%);max-height:min(96dvh,960px);padding:15px 16px 12px;border-radius:19px}
.sammy-position-head{min-height:66px;gap:12px;margin-bottom:9px}
.sammy-position-head-avatar{height:64px;width:64px;object-fit:contain;flex-shrink:0}
.sammy-position-head h2{font-size:clamp(24px,2.7vw,36px)!important;color:#112344!important}
.sammy-position-map{height:clamp(360px,57vh,620px);border-radius:12px;background:#b1d8ea}
.sammy-position-layout{grid-template-columns:minmax(0,1fr) minmax(252px,26%);gap:14px}
.sammy-position-marker{width:95px;transform:translate(-50%,-76%);filter:drop-shadow(0 4px 3px #132a4655)}
.sammy-position-marker img{height:95px;width:95px}
.sammy-position-bubble{left:76px;top:0;font-size:12px}
.sammy-position-map .sammy-position-world{height:50px;display:flex;flex-direction:column;gap:0;font-size:25px}
.sammy-position-world-label{font-size:9px;font-weight:800;letter-spacing:-.2px}
.sammy-position-map-brand{background:#ffffffd9}
.sammy-position-map.sammy-map-is-world .sammy-position-scale{background:#ebf9ffeb}
.sammy-position-close{background:#f1f6fb;border-radius:50%}
.sammy-position-cover{height:clamp(140px,22vh,215px)}
.sammy-position-note{font-size:11px}
.sammy-position-expanded .sammy-position-map{height:min(73dvh,840px)}
@media(max-width:790px){.sammy-position-dialog{padding:10px;max-height:97dvh}.sammy-position-layout{grid-template-columns:1fr}.sammy-position-head-avatar{width:48px;height:48px}.sammy-position-map{height:48dvh;min-height:275px}.sammy-position-head h2{font-size:25px!important}.sammy-position-info{grid-template-columns:80px 1fr}.sammy-position-cover{width:80px;height:80px}.sammy-position-map-brand{font-size:9px}}
@media(max-width:410px){.sammy-position-head-avatar{width:37px;height:37px}.sammy-position-head h2{font-size:20px!important}.sammy-position-map{height:40dvh;min-height:265px}.sammy-position-zoom{top:9px;left:9px}}
/* The point at the bottom of the illustrated pin is the exact screen anchor. */
.sammy-position-marker{transform:translate(-50%,-100%)}
/* Keep the position marker modest in the full-world view. */
.sammy-map-is-world .sammy-position-marker{width:62px}
.sammy-map-is-world .sammy-position-marker img{width:62px;height:62px}
.sammy-map-is-world .sammy-position-bubble{display:none}
@media(max-width:790px){
 .sammy-position-info{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:start;column-gap:12px}
 .sammy-position-cover{grid-column:1;grid-row:1 / span 2}
 .sammy-position-place{grid-column:2;grid-row:1;align-self:end}
 .sammy-position-kind{grid-column:2;grid-row:2;align-self:start}
 .sammy-position-detail,.sammy-position-explainer{grid-column:1/-1}
 .sammy-position-detail{display:flex;margin:7px 0}
}

/* V3.5: Defensive safeguard if stale page markup still contains the old illustration notice. */
.sammy-position-theme{display:none!important;}
