.my-map-heading{padding:24px clamp(18px,4vw,48px);border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.my-map-heading h1{font-size:28px;line-height:1.1;margin:8px 0}.my-map-heading p{font-size:14px;color:#bbb;margin:8px 0}.my-map-heading .my-map-plan{width:100%;font-size:12px;margin:0}.my-map-actions{display:flex;flex-wrap:wrap;gap:7px}.my-map-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);gap:20px;padding:20px clamp(18px,3vw,40px)}.my-map-column,.my-map-story{min-width:0}.my-map-column #my-map-canvas{height:430px;min-height:350px;border:1px solid #514821;border-radius:12px;background:#dce7eb;position:relative;overflow:hidden}.my-map-privacy{font-size:12px;line-height:1.5;color:#aaa}.my-map-location-list h3{font-size:13px;margin:22px 0 8px}.my-map-location-list button{width:100%;justify-content:flex-start;text-align:left;border-bottom:1px solid #333}.my-map-location-list button[aria-pressed=true]{outline:1px solid #a58c21;background:#211d0d}.my-map-location-list small{display:block;color:#aaa;font-size:14px;margin-top:4px}.my-map-story .card{padding:20px}.my-map-story h2{font-size:23px;line-height:1.2;margin:10px 0}.my-map-story h3{font-size:16px}.my-map-story .subtle{font-size:12px;line-height:1.6;color:#bbb}.my-map-story .field{margin:14px 0}.my-map-story input,.my-map-story textarea,.my-map-story select{max-width:100%;min-width:0}.my-map-story .field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.my-map-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7}.my-map-memory-name{margin-bottom:0}.my-map-photos{display:grid;gap:10px;margin:16px 0}.my-map-photos figure{margin:0}.my-map-photos img{display:block;width:100%;max-height:330px;object-fit:contain;background:#090909;border-radius:8px}.my-map-photos figcaption{font-size:12px;color:#999;margin-top:5px;overflow-wrap:anywhere}.my-map-sharing{margin-top:24px;padding-top:16px;border-top:1px solid #444}.my-map-invite-row{display:flex;flex-wrap:wrap;gap:6px;padding:9px 0;border-bottom:1px solid #333;font-size:14px;align-items:center}.my-map-invite-row>span{width:100%;overflow-wrap:anywhere}.my-map-invite-row select{flex:1}.my-map-photo-choices{display:grid;gap:8px;padding:12px;border:1px solid #444;border-radius:8px;font-size:12px}.my-map-photo-choices input{width:auto}.my-map-editor small{font-size:12px;color:#aaa;line-height:1.5}.my-map-editor textarea{resize:vertical}
.my-map-friends{margin:16px 0;padding:14px;border:1px solid #3b3726;border-radius:10px;background:#111}.my-map-friends summary{font-size:14px;font-weight:700;cursor:pointer}.my-map-friends summary>span{font-weight:400;font-size:12px;color:#bbb;margin-left:8px}.my-map-friends .subtle{font-size:12px;line-height:1.6;color:#bbb}.my-map-friends .field{margin:12px 0}.my-map-friend-row{padding:12px 0;border-bottom:1px solid #333}.my-map-friend-row>small{display:block;font-size:12px;color:#aaa;margin:5px 0 8px;overflow-wrap:anywhere}.my-map-credit{display:flex;gap:7px;align-items:center;font-size:14px;flex-wrap:wrap}.my-map-credit time{font-size:12px;color:#aaa;margin-left:auto}.my-map-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;outline:1px solid #ffffff44}.my-map-contribution{border-left:3px solid;padding:10px 0 8px 12px;margin:18px 0}.my-map-contribution .my-map-text{margin:9px 0}.my-map-add-entry{margin-top:22px;border-top:1px solid #333;padding-top:14px}.my-map-friends input[type=color]{width:64px;height:38px;padding:3px}.my-map-story .my-map-photos figure>.small{margin-top:8px}.my-map-column .my-map-pin-cover{position:absolute;width:78px;height:68px;padding:3px;border:2px solid #f4cb47;border-radius:8px;background:#141414;color:white;z-index:6;box-shadow:0 3px 12px #0007;overflow:visible;pointer-events:auto;display:block;transform:none}.my-map-column .my-map-pin-cover[hidden]{display:none}.my-map-pin-cover img{width:68px;height:43px;object-fit:cover;display:block;border-radius:4px}.my-map-pin-cover>span{display:block;width:68px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;line-height:15px}.my-map-cover-stem{position:absolute;top:66px;left:var(--stem-left,39px);height:var(--stem-height,32px);width:1px;background:#8f741e;pointer-events:none;z-index:-1}.my-map-column .map-pins:has(.my-map-pin-cover) .pin-tooltip{display:none}.my-map-photos figcaption{line-height:1.5}.my-map-friends .form-error{font-size:12px}

.my-map-column .my-map-cover-stem{position:absolute;top:0;left:0;width:1px;background:#8f741e;pointer-events:none;z-index:5}.my-map-cover-stem[hidden]{display:none}
.my-map-story h2,.my-map-placement{scroll-margin-top:18px}.my-map-story h2:focus,.my-map-placement:focus{outline:2px solid #f4cb47;outline-offset:6px}.my-map-placement{padding:16px;border:1px solid #766328;border-radius:10px;background:#211d0d;margin-bottom:12px}.my-map-placement p,.my-map-draft-status,.my-map-retained-files{font-size:12px;line-height:1.6}.my-map-draft-status{color:#e9d98f}.my-map-pin-step{border:1px solid #444;border-radius:8px;padding:12px;margin:16px 0}.my-map-coordinates{margin-top:14px}.my-map-coordinates summary{font-size:12px;cursor:pointer;color:#bbb}.my-map-retained-files{overflow-wrap:anywhere;color:#ccc}.my-map-retained-files button{display:block;margin-top:8px}

/* Private memory text and list items can contain unbroken names and emails. */
.my-map-heading>div,.my-map-location-list .place-row>span:last-child{min-width:0}
.my-map-location-list .place-row>span:first-child{flex:none}
.my-map-location-list .place-row>span:last-child,.my-map-memory-name,.my-map-credit strong,.my-map-story h2{overflow-wrap:anywhere}
.my-map-location-list .place-row{line-height:1.5}

/* Give tablets the same focused editor flow as phones. The map remains in the
   document so Choose pin / Return to memory retain their Phase 1 focus targets. */
@media(max-width:1023px){
  .my-map-heading{padding:20px clamp(16px,3vw,28px);gap:12px}
  .my-map-heading>div:first-child{flex:1 1 100%}
  .my-map-heading h1{font-size:26px}
  .my-map-heading>.my-map-actions{width:100%;gap:8px}
  .my-map-heading>.my-map-actions button{flex:1 1 120px}
  .my-map-heading>.my-map-actions button.primary{flex-basis:180px}
  .my-map-layout{grid-template-columns:minmax(0,1fr);padding:16px clamp(14px,3vw,28px);gap:18px;align-items:start}
  .my-map-layout.is-editing>.my-map-story{grid-row:1}
  .my-map-column #my-map-canvas{height:clamp(300px,48dvh,430px);min-height:300px}
  .my-map-story .card{padding:clamp(16px,3vw,24px)}
  .my-map-story h2,.my-map-placement{scroll-margin-top:calc(var(--mobile-header-height,64px) + env(safe-area-inset-top,0px) + 16px)}
  .my-map-location-list .place-row{padding:12px;font-size:14px;align-items:flex-start}
  .my-map-location-list small,.my-map-story .subtle,.my-map-privacy,.my-map-friends .subtle,.my-map-photos figcaption{font-size:12px}
  .my-map-friends summary,.my-map-coordinates summary{min-height:44px;padding-block:12px;line-height:1.5}
  .my-map-coordinates summary{font-size:14px}
  .my-map-friends summary>span{font-size:12px}
  .my-map-photo-choices label{display:flex;align-items:center;gap:10px;min-height:44px;overflow-wrap:anywhere}
  .my-map-photo-choices input{flex:none}
  .my-map-invite-row{gap:8px;font-size:14px}
  .my-map-invite-row select{flex:1 1 140px}
}
@media(max-width:520px){
  .my-map-heading>.my-map-actions button.primary{flex-basis:100%}
  .my-map-story .field-row{grid-template-columns:minmax(0,1fr);gap:0}
  .my-map-story .field-row .field{margin-block:10px}
  .my-map-friends summary>span{display:block;margin:4px 0 0}
  .my-map-story .my-map-actions{gap:8px}
  .my-map-story .my-map-actions button{flex:1 1 120px}
}
