/* Content-first place cards and editor. Reuses the existing PeakTales palette. */
.custom-modern-saved-popup .saved-popup-card {padding:14px 16px!important;}
.custom-modern-saved-popup .saved-popup-card.no-gpx {max-width:none!important;}
.custom-modern-saved-popup .saved-popup-top-bar {min-height:0!important;gap:10px!important;padding-bottom:9px!important;margin-bottom:11px!important;}
.custom-modern-saved-popup .saved-popup-header-left {height:auto!important;min-width:0!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px 9px!important;}
.custom-modern-saved-popup .saved-popup-header-right {height:auto!important;gap:6px!important;}
.custom-modern-saved-popup .saved-popup-title {height:auto!important;max-height:none!important;white-space:normal!important;line-height:1.3!important;overflow-wrap:anywhere!important;}
.custom-modern-saved-popup .saved-popup-weather-pill {padding:0 8px!important;}
.custom-modern-saved-popup .saved-popup-grid {gap:10px!important;}
.custom-modern-saved-popup .saved-popup-info-col {height:auto!important;min-height:0!important;justify-content:flex-start!important;gap:8px!important;}
.custom-modern-saved-popup .saved-popup-desc-wrap {max-height:none!important;min-height:0!important;overflow:visible!important;padding:9px 11px!important;}
.custom-modern-saved-popup .saved-popup-desc {display:block!important;max-height:none!important;height:auto!important;overflow:visible!important;white-space:pre-wrap!important;font-size:13px!important;line-height:1.55!important;overflow-wrap:anywhere!important;}
.custom-modern-saved-popup .saved-popup-actions-wrap {margin-top:auto!important;padding-top:4px!important;}
.custom-modern-saved-popup .saved-popup-actions {padding-top:0!important;gap:6px!important;}
.custom-modern-saved-popup .saved-popup-btn,.custom-modern-saved-popup .saved-popup-memory-btn {height:34px!important;min-height:34px!important;margin:0!important;padding:5px 9px!important;font-size:11.5px!important;white-space:normal!important;line-height:1.2!important;}
.custom-modern-saved-popup .saved-popup-btn svg,.custom-modern-saved-popup .saved-popup-memory-btn svg {flex:0 0 auto!important;}
.custom-modern-saved-popup .saved-popup-actions-wrap:has(.saved-popup-memory-btn) {display:grid!important;grid-template-columns:minmax(112px,1fr) minmax(0,3fr)!important;gap:6px!important;align-items:stretch!important;}
.custom-modern-saved-popup .saved-popup-memory-btn {width:100%!important;}
.custom-modern-saved-popup .saved-popup-stats-grid {padding:7px 9px!important;gap:5px!important;}

@media (min-width:1025px) {
  .custom-modern-saved-popup .leaflet-popup-content {width:min(1060px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;max-width:min(1060px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;max-height:calc(100dvh - 92px)!important;}
  .custom-modern-saved-popup:has(.saved-popup-card.no-gpx) .leaflet-popup-content {width:min(880px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;max-width:min(880px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;}
  .custom-modern-saved-popup .saved-popup-grid.has-gpx {grid-template-columns:minmax(0,0.9fr) minmax(0,1fr) minmax(300px,1.35fr)!important;}
  .custom-modern-saved-popup .saved-popup-grid.no-gpx {grid-template-columns:minmax(220px,0.85fr) minmax(0,1.6fr)!important;}
  .custom-modern-saved-popup .saved-popup-media-col,.custom-modern-saved-popup .saved-popup-minimap-col {min-width:0!important;}
  .custom-modern-saved-popup .saved-popup-media-col {width:100%!important;max-width:100%!important;}
  .custom-modern-saved-popup .saved-popup-title {font-size:19px!important;}
  .custom-modern-saved-popup .saved-popup-desc {font-size:14px!important;}
}
@media (min-width:769px) and (max-width:1024px) {
  .custom-modern-saved-popup .leaflet-popup-content {max-height:calc(100dvh - 72px)!important;}
  .custom-modern-saved-popup .saved-popup-grid.no-gpx {grid-template-columns:minmax(180px,38%) minmax(0,1fr)!important;}
  .custom-modern-saved-popup .saved-popup-media-col {width:100%!important;max-width:100%!important;}
}
@media (max-width:768px) and (orientation:portrait) {
  #mobilePlaceSurface .saved-popup-card {padding:11px!important;}
  #mobilePlaceSurface .saved-popup-top-bar {padding-bottom:7px!important;margin-bottom:8px!important;}
  #mobilePlaceSurface .saved-popup-title {font-size:18px!important;}
  #mobilePlaceSurface .saved-popup-grid {gap:8px!important;}
  #mobilePlaceSurface .saved-popup-desc-wrap {max-height:none!important;overflow:visible!important;padding:9px 10px!important;}
  #mobilePlaceSurface .saved-popup-desc {max-height:none!important;overflow:visible!important;font-size:14px!important;line-height:1.5!important;}
  #mobilePlaceSurface .saved-popup-actions-wrap:has(.saved-popup-memory-btn) {display:block!important;}
  #mobilePlaceSurface .saved-popup-memory-btn {margin:0 0 6px!important;}
  #mobilePlaceSurface .saved-popup-actions a,#mobilePlaceSurface .saved-popup-actions button,#mobilePlaceSurface .saved-popup-memory-btn {min-height:44px!important;height:auto!important;padding:8px 4px!important;font-size:12px!important;}
}
@media (orientation:landscape) and (max-height:500px) and (max-width:1024px) {
  #mobilePlaceSurface .saved-popup-desc-wrap,#mobilePlaceSurface .saved-popup-desc {max-height:none!important;overflow:visible!important;}
  #mobilePlaceSurface .saved-popup-desc {font-size:12px!important;line-height:1.45!important;}
  #mobilePlaceSurface .saved-popup-actions-wrap:has(.saved-popup-memory-btn) {display:grid!important;grid-template-columns:minmax(80px,1fr) minmax(0,3fr)!important;}
  #mobilePlaceSurface .saved-popup-actions a,#mobilePlaceSurface .saved-popup-actions button,#mobilePlaceSurface .saved-popup-memory-btn {min-height:44px!important;height:auto!important;font-size:12px!important;}
}

#editModal {width:min(860px,calc(100vw - 32px))!important;max-width:none!important;max-height:calc(100dvh - 32px)!important;margin:auto!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important;}
#editModal .card {width:100%!important;max-width:none!important;max-height:calc(100dvh - 32px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:16px 18px!important;}
#editModal .card > div:first-child {flex:0 0 auto!important;margin-bottom:8px!important;padding-bottom:8px!important;}
#editModal .card > div:first-child button {width:36px!important;height:36px!important;flex:0 0 36px!important;}
#editModal .modal-content {min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:4px 2px 10px!important;gap:11px!important;}
#editModal .edit-primary-options {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
#editModal .edit-type-group {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;}
#editModal .edit-status-group {grid-template-columns:repeat(2,minmax(0,145px))!important;gap:6px!important;}
#editModal #legacyTypeHint {margin:7px 0 0!important;color:#94a3b8;font-size:11px;line-height:1.4;}
#editModal #legacyTypeHint[hidden] {display:none!important;}
#editModal .option-btn {height:auto!important;min-height:40px!important;white-space:normal!important;line-height:1.2!important;}
#editModal .modal-actions {flex:0 0 auto!important;justify-content:flex-end!important;margin-top:8px!important;padding-top:9px!important;gap:6px!important;flex-wrap:wrap!important;}
#editModal .modal-actions > button {flex:0 0 auto!important;width:auto!important;min-width:82px!important;min-height:40px!important;padding:7px 12px!important;box-shadow:none!important;}
#editModal .modal-actions > button:last-child {min-width:100px!important;}
#editModal .visit-editor {margin:1px 0 0!important;padding:0!important;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(30,41,59,.35);}
#editModal .visit-editor summary {padding:10px 12px!important;cursor:pointer;list-style:none;font-size:13px;font-weight:600;}
#editModal .visit-editor summary::-webkit-details-marker {display:none;}
#editModal .visit-editor[open] {padding-bottom:10px!important;}
#editModal .visit-editor[open] > :not(summary) {margin-left:12px!important;margin-right:12px!important;}
#editModal .visit-editor label {font-size:12px!important;}
#editModal .visit-editor input,#editModal .visit-editor textarea {width:calc(100% - 24px)!important;min-height:38px!important;padding:8px 10px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:9px!important;background:rgba(30,41,59,.55)!important;color:#f8fafc!important;font:inherit!important;box-sizing:border-box!important;}
#editModal .visit-editor input[type="date"] {color-scheme:dark!important;}
#editModal .visit-editor textarea {min-height:72px!important;resize:vertical!important;}
#editModal .visit-editor button {min-height:38px!important;padding:6px 10px!important;}
#editModal #markerDescription {min-height:110px!important;max-height:40dvh!important;resize:vertical!important;}
@media (max-width:700px) {
  #editModal {width:calc(100vw - 16px)!important;max-height:calc(var(--pt-viewport-height,100dvh) - var(--pt-safe-top,0px) - var(--pt-safe-bottom,0px) - 16px)!important;}
  #editModal .card {max-height:calc(var(--pt-viewport-height,100dvh) - var(--pt-safe-top,0px) - var(--pt-safe-bottom,0px) - 16px)!important;padding:12px!important;}
  #editModal .edit-primary-options {grid-template-columns:minmax(0,1fr)!important;}
  #editModal .edit-type-group {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #editModal .edit-status-group {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #editModal .details-group {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  #editModal .modal-actions {justify-content:space-between!important;}
  #editModal .modal-actions > button {min-width:0!important;min-height:44px!important;padding:8px 10px!important;}
  #editModal .modal-actions > button:last-child {min-width:88px!important;}
  #editModal input,#editModal textarea {font-size:16px!important;}
}
@media (orientation:landscape) and (max-height:500px) and (max-width:1024px) {
  :root {--pt-sheet-height:calc(var(--pt-viewport-height) - var(--pt-header-height) - var(--pt-safe-bottom) - 46px);}
  #editModal {width:min(860px,calc(100vw - var(--pt-safe-left,0px) - var(--pt-safe-right,0px) - 16px))!important;max-height:calc(var(--pt-viewport-height,100dvh) - var(--pt-safe-top,0px) - var(--pt-safe-bottom,0px) - 16px)!important;}
  #editModal .card {max-height:calc(var(--pt-viewport-height,100dvh) - var(--pt-safe-top,0px) - var(--pt-safe-bottom,0px) - 16px)!important;}
  #editModal .edit-primary-options {grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;}
  #editModal .edit-status-group {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Only allocate columns for content that exists. */
.custom-modern-saved-popup .saved-popup-grid.no-photo.no-gpx {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"info"!important;}
.custom-modern-saved-popup .saved-popup-grid.no-photo.has-gpx {grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr)!important;grid-template-areas:"minimap info"!important;}
.custom-modern-saved-popup .saved-popup-card.sparse .saved-popup-grid {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"media" "info"!important;}
.custom-modern-saved-popup .saved-popup-card.sparse.no-photo .saved-popup-grid {grid-template-areas:"info"!important;}
.custom-modern-saved-popup .saved-popup-info-col {height:auto!important;min-height:0!important;align-self:start!important;}
.custom-modern-saved-popup .saved-popup-stat-label {font-size:10.5px!important;}
@media (min-width:1025px) {
  .custom-modern-saved-popup:has(.saved-popup-card.no-photo.has-gpx) .leaflet-popup-content {width:min(760px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;max-width:min(760px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;}
  .custom-modern-saved-popup:has(.saved-popup-card.no-photo.no-gpx) .leaflet-popup-content {width:min(520px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;max-width:min(520px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;}
  .custom-modern-saved-popup:has(.saved-popup-card.sparse.has-photo) .leaflet-popup-content {width:min(460px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;max-width:min(460px,calc(100vw - var(--sidebar-current-width,340px) - 28px))!important;}
}
@media (min-width:769px) and (max-width:1024px) {
  .custom-modern-saved-popup:has(.saved-popup-card.no-photo.no-gpx) .leaflet-popup-content {width:min(520px,calc(100vw - 28px))!important;max-width:min(520px,calc(100vw - 28px))!important;}
  .custom-modern-saved-popup:has(.saved-popup-card.sparse.has-photo) .leaflet-popup-content {width:min(460px,calc(100vw - 28px))!important;max-width:min(460px,calc(100vw - 28px))!important;}
}
@media (min-width:769px) {
  .custom-modern-saved-popup .saved-popup-card.sparse.has-photo .saved-popup-media-col,
  .custom-modern-saved-popup .saved-popup-card.sparse.has-photo .carousel {height:205px!important;min-height:205px!important;max-height:205px!important;}
  .custom-modern-saved-popup .saved-popup-card.sparse.has-photo .carousel-main {height:155px!important;min-height:155px!important;max-height:155px!important;}
  .custom-modern-saved-popup .saved-popup-card.sparse.has-photo .carousel-main.single-photo {height:205px!important;min-height:205px!important;max-height:205px!important;}
  .custom-modern-saved-popup .saved-popup-card.sparse.has-photo .carousel-thumbs {height:50px!important;min-height:50px!important;max-height:50px!important;}
}
@media (max-width:768px) and (orientation:portrait) {
  #mobilePlaceSurface .saved-popup-grid.no-photo.has-gpx {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"minimap" "info"!important;}
  #mobilePlaceSurface .saved-popup-grid.no-photo.no-gpx {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"info"!important;}
}
@media (orientation:landscape) and (max-height:500px) and (max-width:1024px) {
  #mobilePlaceSurface .custom-modern-saved-popup:has(.saved-popup-card.sparse.has-photo) {right:auto!important;width:min(420px,calc(100vw - var(--pt-rail-space) - var(--pt-safe-left) - 16px))!important;}
  #mobilePlaceSurface .custom-modern-saved-popup:has(.saved-popup-card.no-photo.no-gpx) {right:auto!important;width:min(520px,calc(100vw - var(--pt-rail-space) - var(--pt-safe-left) - 16px))!important;}
  #mobilePlaceSurface .saved-popup-grid.no-photo.has-gpx {grid-template-columns:minmax(120px,34%) minmax(0,1fr)!important;grid-template-areas:"minimap info"!important;}
  #mobilePlaceSurface .saved-popup-grid.no-photo.no-gpx {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"info"!important;}
  #mobilePlaceSurface .saved-popup-card.sparse.has-photo .saved-popup-grid {grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"media" "info"!important;}
  #mobilePlaceSurface .saved-popup-card.sparse.has-photo .saved-popup-media-col,
  #mobilePlaceSurface .saved-popup-card.sparse.has-photo .saved-popup-media-col > div,
  #mobilePlaceSurface .saved-popup-card.sparse.has-photo .carousel,
  #mobilePlaceSurface .saved-popup-card.sparse.has-photo .carousel-main {height:100px!important;min-height:100px!important;max-height:100px!important;}
}

/* One-line diary entry in each place, with notes available on demand. */
.saved-popup-visits {border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(30,41,59,.55);min-width:0;}
.saved-popup-visits summary {list-style:none;display:flex;align-items:center;gap:8px;min-height:32px;padding:5px 9px;cursor:pointer;font-size:12px;font-weight:650;color:#cbd5e1;}
.saved-popup-visits summary::-webkit-details-marker {display:none;}
.saved-popup-visit-icon {width:17px;height:17px;flex:none;color:#2dd4bf;}
.saved-popup-visit-title {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.saved-popup-visit-count {padding:1px 6px;border-radius:99px;background:rgba(20,184,166,.16);color:#2dd4bf;font-size:10px;white-space:nowrap;}
.saved-popup-visit-chevron {width:14px;height:14px;margin-left:auto;flex:none;transition:transform .2s ease;}
.saved-popup-visits[open] .saved-popup-visit-chevron {transform:rotate(180deg);}
.saved-popup-visit-notes {padding:0 10px 8px;max-height:180px;overflow-y:auto;}
.saved-popup-visit-entry {padding:8px 0;border-top:1px solid rgba(255,255,255,.08);font-size:12px;line-height:1.45;color:#cbd5e1;}
.saved-popup-visit-entry time {font-size:11px;font-weight:700;color:#2dd4bf;}
.saved-popup-visit-entry p {margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;}

/* Keep the map readable behind the edit dialog without a rectangular blur. */
#editModal {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#editModal::backdrop {background:rgba(2,6,23,.78)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#editModal .card {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#editModal .detail-field-label {display:block!important;margin:0 0 4px!important;color:#94a3b8!important;font-size:11px!important;font-weight:650!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important;}
#editModal .details-group > div {min-width:0;}

/* Profile uses an even backdrop instead of a blurred rectangular surface. */
#profilePage {background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
dialog#profilePage::backdrop {background:rgba(2,6,23,.78)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#profilePage .profile-content-wrapper {background:#0f172a!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#profilePage .profile-stat-box {cursor:pointer;font:inherit;min-width:0;transition:transform .18s ease,border-color .18s ease;}
#profilePage .profile-stat-box:hover {transform:translateY(-2px);}
#profilePage .profile-stat-box:focus-visible {outline:2px solid #14b8a6;outline-offset:2px;}

/* The details dialog must fit its card; the global full-screen dialog blur makes a blue column. */
body dialog#placeDetailsModal[open] {
  height:fit-content!important;
  max-height:calc(100dvh - 32px)!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body dialog#placeDetailsModal::backdrop {
  background:rgba(2,6,23,.82)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* The desktop dock uses its compact icon layout from base-0.css. */
.sidebar-reveal {display:none;}

/* Compact, readable diary editor. */
#editModal .visit-editor summary.visit-editor-summary {display:flex;align-items:center;gap:8px;padding:9px 11px!important;line-height:1.2;}
#editModal .visit-editor-summary svg {width:16px;height:16px;flex:none;color:#2dd4bf;}
#editModal .visit-editor-summary .visit-editor-chevron {width:14px;height:14px;margin-left:auto;color:#cbd5e1;transition:transform .2s ease;}
#editModal .visit-editor[open] .visit-editor-chevron {transform:rotate(180deg);}
#visitCountBadge:not([hidden]) {display:inline-block;margin-left:auto;padding:2px 7px;border-radius:99px;background:rgba(20,184,166,.16);color:#2dd4bf;font-size:10px;white-space:nowrap;}
#editModal .visit-editor-body {display:grid;gap:10px;padding:0 12px 10px;}
#editModal .visit-editor[open] > .visit-editor-body {margin:0!important;}
#editModal .visit-editor-fields {display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:10px;}
#editModal .visit-editor-fields > div {min-width:0;}
#editModal .visit-editor label {margin:0 0 4px!important;font-size:11px!important;font-weight:650!important;color:#94a3b8;}
#editModal .visit-editor input,#editModal .visit-editor textarea {width:100%!important;margin:0!important;}
#editModal .visit-editor textarea {min-height:48px!important;max-height:140px!important;}
#editModal .visit-add-button {justify-self:start;min-height:32px!important;padding:5px 10px!important;}
#editModal #visitHistory {display:grid;gap:6px;list-style:none;margin:0;padding:0;}
#editModal .visit-editor-entry {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(30,41,59,.35);}
#editModal .visit-editor-entry time {color:#2dd4bf;font-size:11px;font-weight:700;}
#editModal .visit-editor-entry p {margin:3px 0 0;color:#cbd5e1;font-size:12px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;}
#editModal .visit-editor-entry button {margin:0;flex:none;min-height:28px!important;padding:3px 8px!important;}
@media (max-width:700px) {
  #editModal .visit-editor-fields {grid-template-columns:minmax(0,1fr);gap:8px;}
  #editModal .visit-editor-entry {align-items:center;}
}
