:root{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#15233b;background:#f7f9fb;font-size:16px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;width:100%}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #4a91f2;outline-offset:2px}[hidden]{display:none!important}
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,#cce9ee,transparent 38%),linear-gradient(145deg,#f9fcff 22%,#dce8ef 100%)}.privacy-link{display:inline-block;margin-top:11px;color:#193b91;font-size:.83rem;font-weight:650}
.auth-card{width:min(100%,430px);padding:36px 34px 30px;background:white;border:1px solid #dbe5ec;border-radius:25px;box-shadow:0 22px 70px #16436a20}
.brand-mark{width:48px;height:48px;display:block;object-fit:cover;border-radius:14px}.brand-mark.small{width:39px;height:39px;border-radius:11px;flex:none}
.eyebrow{color:#667a8d;letter-spacing:.17em;font-size:.76rem;font-weight:750;margin:24px 0 5px}.auth-card h1{font-size:2.4rem;letter-spacing:-.04em;margin:0 0 12px;color:#08185e}.auth-intro{line-height:1.48;color:#4e6070;margin:0 0 26px}.auth-tabs{display:flex;background:#edf2f6;border-radius:12px;padding:4px;margin:0 0 23px}.auth-tab{border:0;background:transparent;color:#40546a;border-radius:9px;flex:1;padding:10px}.auth-tab.active{background:#fff;color:#0b1b6e;font-weight:700;box-shadow:0 1px 5px #193a6317}label{display:block;font-size:.88rem;font-weight:650;margin:17px 0 7px}input{width:100%;height:48px;border:1px solid #b9c8d4;border-radius:10px;padding:0 13px;background:white;color:#14253d}input:focus{border-color:#3568d4}.code-row{display:flex;gap:8px}.code-row input{min-width:0}.secondary-action{border:1px solid #b8c8d8;border-radius:10px;background:#fff;color:#0b1b6e;font-weight:650;padding:0 13px;white-space:nowrap}.primary-action{width:100%;border:0;border-radius:11px;background:#08136b;color:white;font-weight:700;height:49px;margin-top:24px}.primary-action:hover{background:#1729a1}.primary-action:disabled{opacity:.6;cursor:progress}.auth-message{min-height:1.4em;margin:13px 0 0;color:#9e292c;font-size:.9rem}.auth-help{border-top:1px solid #e1e8ee;margin:20px 0 0;padding-top:16px;color:#697888;font-size:.79rem;line-height:1.45}
.app-screen{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{min-height:82px;background:#fff;border-bottom:1px solid #dce4eb;display:flex;align-items:center;gap:26px;padding:13px 20px;z-index:10}.title-block{display:flex;align-items:center;gap:11px;min-width:160px}.top-brand{color:#68778e;font-size:.64rem;font-weight:800;letter-spacing:.18em}.title-block h1{font-size:1.33rem;letter-spacing:-.02em;margin:0;color:#091567}.activity-filters{display:flex;gap:9px;justify-content:center;flex:1}.activity{border:1px solid #ccd7e2;background:white;color:#213352;border-radius:999px;padding:9px 15px;min-height:40px;white-space:nowrap}.activity.active{background:#090e68;border-color:#090e68;color:white}.activity span{font-size:1.13em}.account-controls{display:flex;align-items:center;gap:9px;color:#607188;font-size:.82rem;white-space:nowrap}.account-controls button{background:#f5f8fa;border:1px solid #d9e3ed;border-radius:9px;padding:8px 11px;color:#182d51}
.map-layout{position:relative;flex:1;min-height:220px;overflow:hidden}#map{position:absolute;inset:0}.map-left{position:absolute;top:22px;left:20px;display:flex;flex-direction:column;gap:7px;z-index:3}.map-chip{border:1px solid #c6d6e3;border-radius:999px;padding:9px 16px;display:flex;align-items:center;gap:8px;background:#fffffff0;box-shadow:0 3px 14px #12355522;color:#183366;font-weight:700;min-height:44px}.map-chip.active{border-color:#628edf;background:#f0f6ff}.chip-icon{font-size:1.24rem;line-height:1}.map-tools{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;z-index:3;border-radius:18px;overflow:hidden;background:#ffffffed;box-shadow:0 3px 20px #16395730}.tool-button{width:48px;height:52px;border:0;border-bottom:1px solid #dae3ed;background:transparent;color:#1d3157;font-size:1.26rem;font-weight:650}.tool-button:last-child{border-bottom:0}.tool-button.active{color:#091477;background:#e9f0ff}.tool-button:hover{background:#e9f0f7}.map-key{position:absolute;bottom:17px;left:19px;background:#ffffffed;border-radius:999px;padding:9px 14px;box-shadow:0 2px 14px #12355521;display:flex;gap:15px;z-index:3;color:#52647b;font-size:.8rem}.map-key span{white-space:nowrap}.legend-dot{width:10px;height:10px;border-radius:100%;display:inline-block;margin-right:5px}.legend-dot.open{background:#2687ed}.legend-dot.closed{background:#f23946}.legend-dot.unknown{background:#f3b91b}.map-toast{position:absolute;left:50%;top:16px;transform:translateX(-50%);z-index:9;background:#111d4f;color:#fff;padding:9px 15px;border-radius:9px;box-shadow:0 4px 19px #10203840;font-size:.83rem}
.footer{background:#fff;border-top:1px solid #d5e0e9;padding:9px 22px 12px;z-index:4}.footer-top{display:flex;justify-content:space-between;gap:12px;color:#627189;font-size:.74rem;letter-spacing:.08em}.statistics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px;margin:12px 0}.statistics div{min-width:0}.statistics small{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;display:block;font-weight:750;color:#5e6d80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statistics strong{font-family:Georgia,serif;font-size:1.18rem;font-weight:500;color:#1d2b46;display:block;margin-top:2px;white-space:nowrap}.footer-actions{display:flex;justify-content:center;gap:12px;border-top:1px solid #e4e9ee;padding-top:10px}.footer-actions button{border:1px solid #d0dbe7;border-radius:10px;background:#fafcff;color:#0c1d69;display:flex;gap:8px;align-items:center;justify-content:center;min-height:41px;padding:7px 17px;font-size:.85rem;font-weight:650}.footer-actions button:first-letter{font-size:1.18rem}.footer-actions button:hover{background:#edf4ff}
.drawer{position:absolute;right:20px;top:95px;bottom:20px;width:min(410px,calc(100vw - 40px));background:#fff;z-index:12;border:1px solid #d9e3ec;border-radius:18px;box-shadow:0 22px 60px #10294a42;display:flex;flex-direction:column;overflow:hidden}.drawer-header{padding:20px 21px 14px;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e3eaf0}.drawer-header .eyebrow{margin:0 0 4px}.drawer-header h2{margin:0;font-size:1.26rem;color:#0a1b60;line-height:1.2}.drawer-header button{border:0;background:#f0f4f7;border-radius:50%;height:30px;width:30px;font-size:1.35rem;line-height:1;color:#42546b}.drawer-content{overflow:auto;padding:18px 20px 25px;flex:1}.detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}.tag{background:#edf3fa;color:#254771;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:650}.tag.open{background:#e4f2ff;color:#1165ba}.tag.closed{background:#ffe9eb;color:#bd3742}.tag.unknown{background:#fff4d2;color:#806000}.drawer p{line-height:1.45;color:#4b5d70;font-size:.89rem}.drawer h3{font-size:.9rem;color:#243b59;margin:19px 0 8px}.drawer .list-button,.drawer .detail-button{width:100%;background:#f7f9fc;border:1px solid #dce5ee;border-radius:10px;text-align:left;padding:11px 12px;color:#15294a;margin:0 0 8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer .list-button:hover,.drawer .detail-button:hover{background:#edf4fd}.list-button small{display:block;color:#617085;margin-top:3px}.drawer .detail-button.primary{background:#0b1d70;color:white;text-align:center;justify-content:center}.drawer .detail-button.primary:hover{background:#233a98}.drawer input[type=search]{margin-bottom:15px}.drawer select{width:100%;min-height:43px;border:1px solid #b9c8d4;border-radius:9px;background:#fff;padding:7px 10px}.drawer .edit-grid{display:grid;gap:12px}.drawer .edit-grid label{margin:0}.drawer .checkrow{display:flex;gap:10px;align-items:center;border:1px solid #dce6ee;border-radius:9px;padding:9px 11px}.drawer .checkrow input{height:auto;width:auto}.maplibregl-popup-content{font:inherit;border-radius:10px!important;padding:10px 13px!important}.access-marker{display:grid;place-items:center;background:white;color:#112575;border:2px solid #203d82;width:26px;height:26px;border-radius:50%;font-size:.75rem;font-weight:800;box-shadow:0 1px 6px #10204088;cursor:pointer}.access-marker.trailhead{background:#eef6ff}.access-marker.parking{background:#fff7e2;border-color:#ae7c0c;color:#775404}
.route-label{border:1px solid #c4d1da;background:#fffef6f2;color:#172335;box-shadow:0 2px 7px #0d223345;border-radius:6px;font-size:.81rem;font-weight:700;white-space:nowrap;padding:5px 8px;max-width:225px;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.route-label:hover{background:#f2f8ff;border-color:#6792d5}
@media(max-width:1100px){.topbar{gap:12px;padding:10px 14px}.account-controls span{display:none}.activity{padding:8px 11px}.statistics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 15px}.footer-actions{gap:6px}.footer-actions button{padding:6px 10px}}
@media(max-width:700px){.topbar{min-height:auto;display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px 11px}.title-block{min-width:0}.title-block h1{font-size:1.2rem}.account-controls{grid-column:2;grid-row:1}.account-controls #refresh{display:none}.account-controls #sign-out{font-size:.75rem;padding:6px 8px}.activity-filters{grid-column:1/3;grid-row:2;justify-content:space-between;gap:5px;overflow:auto}.activity{min-height:36px;padding:6px 11px;font-size:.78rem;flex:1}.activity span{display:none}.map-left{top:13px;left:10px}.map-chip{padding:6px 10px;min-height:36px;font-size:.82rem}.map-tools{top:12px;right:10px;border-radius:13px}.tool-button{height:43px;width:39px;font-size:1rem}.map-key{bottom:10px;left:9px;font-size:.68rem;gap:8px;padding:7px 8px}.footer{padding:7px 11px calc(7px + env(safe-area-inset-bottom))}.footer-top{font-size:.61rem;letter-spacing:0}.statistics{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 9px;margin:8px 0}.statistics small{font-size:.55rem;letter-spacing:0}.statistics strong{font-size:1rem;margin:0}.footer-actions{padding-top:7px}.footer-actions button{min-height:36px;flex:1;padding:5px 4px;font-size:.73rem;gap:3px}.footer-actions span{display:none}.footer-actions button:first-letter{font-size:1.18rem}.drawer{top:auto;right:0;left:0;bottom:0;width:100%;height:min(73dvh,650px);border-radius:18px 18px 0 0}.drawer-header{padding:15px 16px 11px}.drawer-content{padding:14px 16px 24px}.desktop-only{display:none}}
@media(max-width:700px){.statistics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:9px 0}.statistics small{font-size:.65rem;letter-spacing:0;white-space:normal;line-height:1.16}.statistics strong{font-size:1rem;margin-top:2px}.map-key{bottom:32px}}
@media(max-width:375px){.activity{font-size:.7rem;padding:6px 4px}}
.icon{width:20px;height:20px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.activity{display:inline-flex;align-items:center;justify-content:center;gap:7px}.activity .icon{width:19px;height:19px}
.account-controls #refresh{display:inline-flex;align-items:center;gap:6px}.account-controls #refresh .icon{width:17px;height:17px}
.map-chip .icon{width:19px;height:19px}.tool-button{display:grid;place-items:center}.tool-button .icon{width:23px;height:23px}.tool-button.active .icon{stroke-width:2}
#flyover-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0}
#flyover-toggle .icon{width:17px;height:17px}
#flyover-toggle span{font-size:8px;font-weight:600;line-height:1}
.footer-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.footer-actions button{min-width:0;padding:7px 6px;white-space:nowrap}.footer-actions button .icon{width:20px;height:20px}.footer-actions button:first-letter{font-size:inherit}
.access-marker{padding:0;appearance:none;line-height:0;width:24px;height:24px;border:1px solid #fff;color:#fff;box-shadow:0 1px 6px #10204088}
.access-marker.trailhead{background:#63381f;color:#fff}
.access-marker.parking{background:#1f4d96;border-color:#fff;color:#fff}
.access-marker.landmark-marker{background:#000072;border-color:#fff;color:#fff}
.landmark-marker .icon{transform:none}
.access-marker .icon{width:16px;height:16px}
.access-marker.trailhead .icon{transform:translateX(-1px)}
.current-location-dot{width:19px;height:19px;border-radius:50%;background:#007aff;border:2.5px solid #fff;box-shadow:0 1px 5px #14274770;pointer-events:none}
.app-screen.map-fullscreen .topbar,.app-screen.map-fullscreen .footer{display:none}.app-screen.map-fullscreen .map-layout{height:100dvh;flex:1}
@media(max-width:1100px){.footer-actions{gap:5px}.footer-actions button{font-size:.72rem;gap:4px}.footer-actions button .icon{width:18px;height:18px}}
@media(max-width:700px){.activity{gap:3px}.activity .icon{width:16px;height:16px}.tool-button .icon{width:20px;height:20px}.footer-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.footer-actions button{min-height:37px;padding:5px 1px}.footer-actions button .icon{width:21px;height:21px}.footer-actions span{display:none}}
.activity{min-height:36px;padding:7px 12px;font-size:.84rem}.activity .icon{width:17px;height:17px}
.map-chip{padding:7px 13px;min-height:40px;font-size:.82rem}.map-chip .icon{width:17px;height:17px}
.map-tools{top:8px;right:12px;border-radius:16px}.tool-button{width:44px;height:44px;font-size:.82rem}.tool-button .icon{width:20px;height:20px}
.footer-actions button{min-height:38px;padding:5px;font-size:.78rem;gap:5px}.footer-actions button .icon{width:18px;height:18px}
@media(max-width:700px){.activity{min-height:34px;padding:5px 7px;font-size:.74rem}.activity .icon{width:15px;height:15px}.map-chip{min-height:36px;padding:5px 9px}.map-tools{top:8px;right:10px;border-radius:14px}.tool-button{width:44px;height:44px}.tool-button .icon{width:19px;height:19px}.footer-actions button{min-height:36px;padding:5px 1px}.footer-actions button .icon{width:19px;height:19px}}
.footer-actions button{border:0;background:transparent;border-radius:7px}
.footer-actions button:focus-visible{outline:2px solid #0c1d69;outline-offset:2px}
.map-style-menu{position:absolute;top:140px;right:64px;z-index:4;min-width:126px;padding:5px;background:#fffffff5;border:1px solid #d4dfeb;border-radius:12px;box-shadow:0 7px 22px #17345b33;display:grid;gap:3px}
.map-style-menu button{border:0;border-radius:8px;background:transparent;color:#203454;text-align:left;padding:9px 11px;font-size:.86rem;font-weight:650}
.map-style-menu button:hover,.map-style-menu button.active{background:#e8f0ff;color:#091477}

/* Editors have room for their controls; the path editor leaves the map canvas
   visible and interactive across most of the viewport. */
@media (min-width: 701px) {
  .drawer.editor-wide{width:min(62vw,1050px)}
  .drawer.editor-map{width:min(34vw,480px)}
}
@media (max-width: 700px) {
  .drawer.editor-wide,.drawer.editor-map{height:min(90dvh,850px)}
}


/* Keep the map controls close to the compact proportions of Map RPV on Mac. */
.topbar{min-height:60px;padding:8px 14px;gap:14px}
.title-block{gap:8px}
.activity-filters{gap:6px}
.activity{min-height:28px;padding:4px 9px;font-size:.72rem;gap:4px}
.activity .icon{width:13px;height:13px}
.account-controls{gap:6px;font-size:.72rem}
.account-controls button{padding:5px 8px;border-radius:7px;font-size:.72rem}
.account-controls #refresh .icon{width:14px;height:14px}
.map-left{top:12px;left:12px;gap:5px}
.map-chip{min-height:29px;padding:4px 10px;gap:5px;font-size:.72rem}
.map-chip .icon{width:14px;height:14px}
.map-tools{top:8px;right:12px;border-radius:12px}
.tool-button{width:33px;height:33px;font-size:.69rem}
.tool-button .icon{width:16px;height:16px}
#flyover-toggle .icon{width:14px;height:14px}
#flyover-toggle span{font-size:6px}
.map-style-menu{top:107px;right:53px;min-width:112px;padding:4px;border-radius:9px}
.map-style-menu button{padding:6px 8px;font-size:.75rem;border-radius:6px}
.footer-actions{padding-top:7px}
.footer-actions button{min-height:29px;padding:3px;font-size:.71rem;gap:4px}
.footer-actions button .icon{width:14px;height:14px}
.drawer-header button{width:27px;height:27px;font-size:1.15rem}
.drawer .list-button,.drawer .detail-button{padding:8px 10px;font-size:.81rem;border-radius:8px}
@media(max-width:700px){
  .topbar{padding:7px 10px;gap:6px}
  .activity{min-height:30px;padding:4px 6px;font-size:.72rem}
  .activity .icon{width:14px;height:14px}
  .map-left{top:9px;left:9px}
  .map-chip{min-height:32px;padding:4px 8px;font-size:.75rem}
  .map-tools{top:8px;right:9px;border-radius:12px}
  .tool-button{width:36px;height:36px;font-size:.72rem}
  .tool-button .icon{width:17px;height:17px}
  .map-style-menu{top:116px;right:52px}
  .footer-actions button{min-height:34px;font-size:.68rem}
  .footer-actions button .icon{width:16px;height:16px}
}

/* Status filters match the native map: conceptual is its own purple category. */
.map-key{gap:3px;padding:4px;max-width:calc(100vw - 30px);border-radius:11px;flex-wrap:wrap}
.category-toggle{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:8px;background:transparent;color:#33465f;padding:5px 7px;font-size:.76rem;font-weight:700;white-space:nowrap}
.category-toggle.active{background:#e8f0ff;color:#111d58}
.category-toggle:not(.active){opacity:.48}
.category-toggle .legend-dot{margin:0}
.legend-dot.conceptual{background:#9b59d0}
.tag.conceptual{background:#f0e3fa;color:#684096}
.route-label.trail-number{border:1px solid #616e82;background:#fff;color:#122044;border-radius:999px;padding:3px 6px;font-size:.68rem;font-weight:800;min-width:24px;text-align:center}
@media(max-width:700px){.category-toggle{font-size:.66rem;padding:4px 5px;gap:3px}.map-key{bottom:32px;left:8px;right:8px;width:max-content}}

/* Mac Map RPV search: a large paper sheet with a pinned field and grouped rows. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-dialog{--search-paper:#f5f2eb;--search-card:#fff;--search-ink:#141a2e;--search-muted:#575e6e;--search-line:#ccd1e0;--search-accent:#000072;color:var(--search-ink);background:var(--search-paper);border:1px solid #ffffff80;border-radius:24px;box-shadow:0 24px 80px #00000045;padding:0;width:min(1680px,calc(100vw - 32px));height:min(1080px,calc(100dvh - 32px));max-width:none;max-height:none;overflow:hidden}
.search-dialog[open]{display:flex;flex-direction:column}
.search-dialog::backdrop{background:#17213366;backdrop-filter:blur(3px)}
.search-header{display:grid;grid-template-columns:100px 1fr 100px;align-items:center;min-height:64px;padding:10px 16px;flex:none}
.search-header h2{margin:0;text-align:center;font-size:1.06rem;font-weight:700;line-height:1.3}
.search-header button{justify-self:start;background:transparent;border:0;color:var(--search-accent);padding:10px 8px;border-radius:9px;font-size:1.06rem}
.search-header button:hover,.search-links button:hover{background:#00007208}
.search-field-wrap{padding:8px 16px 12px;flex:none}
.search-field{display:flex;align-items:center;gap:10px;border:1px solid var(--search-line);border-radius:10px;min-height:44px;padding:0 12px;background:#fefcf7;color:var(--search-muted)}
.search-field>.icon{width:20px;height:20px;flex:none}
.search-field input{min-width:0;flex:1;width:auto;height:44px;border:0;border-radius:0;outline:none;background:transparent;padding:0;color:var(--search-ink);font-size:1rem}
.search-field:focus-within{border-color:#7378aa;box-shadow:0 0 0 2px #0000720b}
.search-field input:focus-visible{outline:none}
.search-field input::placeholder{color:#858790}
.search-field input::-webkit-search-cancel-button{display:none}
.search-field button{display:grid;place-items:center;background:#8a8d98;border:0;color:#fff;width:20px;height:20px;border-radius:50%;font-size:17px;line-height:1;padding:0;flex:none}
.search-results{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px 24px;scrollbar-gutter:stable}
.search-section{margin:4px 0 24px}
.search-section>h3{margin:14px 16px 10px;font-size:1rem;font-weight:700}
.search-group{border-radius:20px;overflow:hidden;background:var(--search-card)}
.search-row{position:relative;padding:14px 18px}
.search-row+.search-row::before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:var(--search-line);opacity:.65}
.search-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;background:transparent;border:0;text-align:left;padding:0;color:var(--search-ink);border-radius:4px}
.search-main strong,.search-coastal summary strong{font-size:1rem;font-weight:650;line-height:1.35}
.search-caption{font-size:.78rem;color:var(--search-muted);line-height:1.4}
.search-links{display:flex;gap:20px;margin-top:8px}
.search-links button,.search-coastal a,.search-coastal .coastal-show{background:transparent;border:0;padding:2px 0;color:var(--search-accent);font-size:.88rem;text-decoration:none;border-radius:4px}
.search-links button:disabled{opacity:.45;cursor:default}
.search-preserve-row{display:flex;align-items:center;gap:12px}
.search-preserve-row .search-main{flex:1;min-width:0}
.search-preserve>summary{cursor:pointer;list-style:none}
.search-preserve>summary::-webkit-details-marker{display:none}
.preserve-chevron{font-size:1.35rem;transition:transform .15s}
.search-preserve[open] .preserve-chevron{transform:rotate(90deg)}
.preserve-trails{margin:12px 0 -3px;border-top:1px solid var(--search-line);padding:8px 0 0 12px}
.preserve-trails>.search-row{padding-left:0;padding-right:0}
.preserve-trails>.search-row::before{left:0;right:0}
.preserve-show-all{border:0;background:transparent;color:var(--search-accent);font-size:.88rem;padding:6px 0;line-height:1.3}
.search-directions{display:grid;place-items:center;width:38px;height:38px;flex:none;background:transparent;border:0;border-radius:8px;color:var(--search-ink)}
.search-directions:hover{background:#00007208}
.search-directions .icon{width:21px;height:21px}
.search-elevation{display:flex;flex-direction:column;gap:4px;margin-top:1px;font-size:.8rem;line-height:1.35}
.search-effort{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.search-effort-bars{display:inline-flex;gap:3px;align-items:flex-end;height:18px}
.search-effort-bars i{display:block;width:6px;border-radius:2px;background:#e5e5e7}
.search-effort-bars i:nth-child(1){height:8px}.search-effort-bars i:nth-child(2){height:13px}.search-effort-bars i:nth-child(3){height:18px}
.search-effort-bars.easy i.filled{background:#008cff}.search-effort-bars.intermediate i.filled{background:#ffcc00}.search-effort-bars.hard i.filled{background:#ff9500}
.search-effort-note{color:var(--search-muted);font-size:.76rem}
.search-coastal{padding:0}
.search-coastal summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.search-coastal summary::-webkit-details-marker{display:none}
.search-coastal summary>span:first-child{display:flex;flex-direction:column;gap:4px}
.search-coastal summary>span:last-child{font-size:1.5rem;transition:transform .15s}.search-coastal[open] summary>span:last-child{transform:rotate(90deg)}
.coastal-content{padding:0 18px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.coastal-content p{margin:0;font-size:.8rem;color:var(--search-muted);line-height:1.45}
.coastal-members{width:100%;display:flex;flex-direction:column;gap:3px}
.coastal-members button{border:0;background:transparent;text-align:left;padding:8px 0;color:var(--search-accent);font-size:.88rem}
.search-empty{height:100%;min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--search-muted);gap:10px;padding:30px}
.search-empty>.icon{width:38px;height:38px}.search-empty h3{margin:0;color:var(--search-ink);font-size:1.15rem}.search-empty p{margin:0;font-size:.9rem}
@media(prefers-color-scheme:dark){.search-dialog{--search-paper:#333;--search-card:#474747;--search-ink:#f5f5f5;--search-muted:#ccc;--search-line:#808080;--search-accent:#fff;border-color:#777}.search-field{background:#474747}.search-field input::placeholder{color:#bbb}.search-field:focus-within{border-color:#ddd}.search-header button:hover,.search-links button:hover,.search-directions:hover{background:#ffffff0b}.search-effort-bars i{background:#737373}}
@media(max-width:700px){.search-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:20px}.search-header{grid-template-columns:74px 1fr 74px;min-height:58px;padding:8px}.search-header h2,.search-header button{font-size:1rem}.search-field-wrap{padding:4px 12px 10px}.search-results{padding:0 12px 20px;scrollbar-gutter:auto}.search-section>h3{margin-left:12px}.search-row{padding:13px 14px}.search-row+.search-row::before{left:14px;right:14px}.search-main strong,.search-coastal summary strong{font-size:.96rem}.search-coastal summary{padding:13px 14px}}
