/* Compact settings panel, preserving the existing PeakTales palette. */
body dialog#settingsModal {
  background:rgba(2,6,23,.7)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(10px + env(safe-area-inset-bottom,0px))!important;
}
#settingsModal .settings-card {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  width:min(440px,100%)!important;
  max-width:440px!important;
  max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0f172a!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:20px!important;
  box-shadow:0 20px 56px rgba(0,0,0,.42)!important;
  color:#f8fafc;
}
#settingsModal .settings-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px 13px;flex:none;}
#settingsModal .settings-heading {display:flex;align-items:center;gap:10px;min-width:0;}
#settingsModal .settings-heading svg {width:18px;height:18px;color:#14b8a6;flex:none;}
#settingsModal h2 {font-size:18px;line-height:1.2;letter-spacing:-.02em;margin:0;color:#f8fafc;}
#settingsModal button.settings-close {display:grid;place-items:center;min-width:34px!important;min-height:34px!important;width:34px;height:34px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#cbd5e1;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
#settingsModal .settings-close svg {width:14px;height:14px;}
#settingsModal .settings-body {padding:0 20px 10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
#settingsModal .settings-section {margin:0;padding:15px 0;border-top:1px solid rgba(255,255,255,.1);}
#settingsModal .settings-section h3 {margin:0 0 13px;font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;}
#settingsModal .settings-field-label {display:block;margin-bottom:7px;font-size:13px;font-weight:600;color:#e2e8f0;}
#settingsModal #map-style-selector {display:block;box-sizing:border-box;width:100%;min-height:42px;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#1e293b;color:#f8fafc;font:600 13px 'Plus Jakarta Sans',sans-serif;cursor:pointer;}
#settingsModal .settings-switch-group {margin:14px 0 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#1e293b;overflow:hidden;}
#settingsModal .settings-toggle-row {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 12px;cursor:pointer;transition:background .2s ease;}
#settingsModal .settings-toggle-row + .settings-toggle-row {border-top:1px solid rgba(255,255,255,.1);}
#settingsModal .settings-toggle-row:hover {background:#334155;}
#settingsModal .settings-toggle-copy {display:grid;gap:3px;min-width:0;}
#settingsModal .settings-toggle-copy strong {font-size:13px;line-height:1.25;color:#f8fafc;}
#settingsModal .settings-toggle-copy small {font-size:11px;line-height:1.3;color:#94a3b8;}
#settingsModal .settings-location-status {margin:0 0 9px;font-size:11px;line-height:1.4;color:#94a3b8;}
#settingsModal .settings-location-status[hidden] {display:none;}
#settingsModal .settings-location-status[data-error="true"] {color:#f8fafc;}
#locateMeBtn {position:fixed;right:calc(var(--sidebar-current-width,340px) + 16px);bottom:22px;z-index:1050;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#1e293b;color:#5eead4;box-shadow:0 8px 22px rgba(0,0,0,.3);cursor:pointer;transition:transform .2s ease,background .2s ease;}
#locateMeBtn[hidden] {display:none!important;}
#locateMeBtn svg {width:22px;height:22px;}
#locateMeBtn:hover {transform:translateY(-2px);background:#334155;}
#locateMeBtn:focus-visible {outline:2px solid #14b8a6;outline-offset:2px;}
#settingsModal .settings-toggle-row input[type="checkbox"] {position:relative;appearance:none;-webkit-appearance:none;box-sizing:border-box;flex:none;width:38px;height:23px;margin:0;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:#334155;cursor:pointer;transition:background .22s ease,border-color .22s ease;}
#settingsModal .settings-toggle-row input[type="checkbox"]::before {content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#f8fafc;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .22s cubic-bezier(.2,.8,.2,1);}
#settingsModal .settings-toggle-row input[type="checkbox"]:checked {background:#14b8a6;border-color:#14b8a6;}
#settingsModal .settings-toggle-row input[type="checkbox"]:checked::before {transform:translateX(15px);}
#settingsModal #waymarked-trails-toggle:checked {background:#f97316;border-color:#f97316;}
#settingsModal button.settings-action {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px!important;width:auto;padding:7px 12px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#1e293b;color:#e2e8f0;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
#settingsModal .settings-action svg {width:16px;height:16px;flex:none;}
#settingsModal button.settings-map-export {min-height:30px!important;margin-top:0;padding:4px 0;border:0;background:transparent;color:#94a3b8;font-size:11px;}
#settingsModal button.settings-map-export:hover {background:transparent;color:#f8fafc;}
#settingsModal .settings-data-panel {border-top:1px solid rgba(255,255,255,.1);}
#settingsModal .settings-data-panel summary {display:flex;align-items:center;justify-content:space-between;min-height:40px;list-style:none;cursor:pointer;color:#94a3b8;font-size:12px;font-weight:600;}
#settingsModal .settings-data-panel summary::-webkit-details-marker {display:none;}
#settingsModal .settings-data-panel summary svg {width:15px;height:15px;transition:transform .2s ease;}
#settingsModal .settings-data-panel[open] summary svg {transform:rotate(180deg);}
#settingsModal .settings-data-panel summary:hover {color:#f8fafc;}
#settingsModal .settings-data-content {padding:2px 0 13px;}
#settingsModal .settings-data-actions {display:flex;flex-wrap:wrap;gap:7px;}
#settingsModal .settings-data-content > .settings-data-actions .settings-action {min-height:34px!important;padding:6px 10px;background:transparent;}
#settingsModal .settings-data-content p {margin:9px 0;font-size:11px;line-height:1.45;color:#94a3b8;}
#settingsModal .settings-import-review {margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#1e293b;}
#settingsModal .settings-import-review[hidden] {display:none;}
#settingsModal .settings-import-review .settings-data-actions[hidden] {display:none;}
#settingsModal .settings-import-review p {margin:0 0 10px;color:#e2e8f0;}
#settingsModal .settings-import-review .settings-action:first-child {border-color:#14b8a6;color:#5eead4;}
#settingsModal button.settings-legal {display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px!important;padding:8px 0;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;text-align:left;color:#cbd5e1;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer;}
#settingsModal .settings-legal span {font-size:17px;font-weight:400;color:#94a3b8;}
#settingsModal .settings-footer {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:11px 20px 13px;border-top:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:10px;line-height:1.3;flex:none;}
#settingsModal .settings-footer a {color:#5eead4;text-decoration:none;font-weight:600;}
#settingsModal button:hover {transform:translateY(-1px);}
#settingsModal button.settings-legal:hover {color:#f8fafc;}
#settingsModal button.settings-action:hover,#settingsModal button.settings-close:hover {background:#334155;border-color:rgba(255,255,255,.24);}
#settingsModal a:hover {text-decoration:underline;}
#settingsModal :is(button,select,input,a,summary):focus-visible {outline:2px solid #14b8a6;outline-offset:2px;}
@media(max-width:768px) {
  #locateMeBtn {right:max(16px,env(safe-area-inset-right,0px));bottom:calc(var(--pt-nav-space,80px) + 12px);width:44px;height:44px;}
  #settingsModal .settings-card {width:min(440px,100%)!important;}
  #settingsModal .settings-header {padding:15px 17px 11px;}
  #settingsModal .settings-body {padding:0 17px 8px;}
  #settingsModal .settings-footer {padding:10px 17px 12px;}
  #settingsModal button.settings-action,#settingsModal button.settings-legal {min-height:44px!important;}
  #settingsModal .settings-data-content > .settings-data-actions .settings-action {min-height:44px!important;}
  #settingsModal button.settings-map-export {min-height:34px!important;}
  #settingsModal #map-style-selector {min-height:44px;font-size:16px!important;}
  #settingsModal button.settings-close {min-width:44px!important;min-height:44px!important;width:44px;height:44px;}
}
@media (orientation:landscape) and (max-height:500px) and (max-width:1024px) {
  #locateMeBtn {right:calc(var(--pt-rail-space,72px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);}
}
@media(prefers-reduced-motion:reduce) {
  #settingsModal * {transition:none!important;}
}
