:root{--mortar-accent:#88dbbb;--mortar-target:#f4bd7c}
.mortar-main{max-width:1440px;margin:auto;padding:105px 24px 60px}
.mortar-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.mortar-heading h1{font:clamp(28px,4vw,42px)/1.2 'Anton',sans-serif;text-transform:uppercase}
.mortar-heading p{font-size:14px;color:var(--fog);margin-top:6px}
.mortar-heading a{font-size:14px;white-space:nowrap}
.mortar-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:20px;align-items:start}
.mortar-panel{border:1px solid var(--line);background:var(--charcoal);padding:20px}
.mortar-panel h2{font-size:18px;font-weight:600;margin-bottom:12px}
.mortar-panel label{display:block;font-size:14px;color:var(--paper)}
.mortar-panel input,.mortar-panel select,.mortar-button{font:inherit;font-size:16px;min-height:44px;border:1px solid var(--steel);border-radius:3px;background:var(--black);color:var(--white);padding:9px 11px;max-width:100%}
.mortar-panel input,.mortar-panel select{width:100%;margin-top:5px}
.mortar-panel fieldset{border:0;min-width:0;margin-top:20px}
.mortar-panel legend{font-size:16px;font-weight:600;margin-bottom:8px}
.mortar-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mortar-hint{font-size:14px;color:#b2b2b5;margin:10px 0 0;line-height:1.5}
.origin-label{color:var(--mortar-accent)}.target-label{color:var(--mortar-target)}
.mortar-button{cursor:pointer;touch-action:manipulation}
.mortar-button:hover{border-color:var(--paper)}
.mortar-button:focus-visible,.mortar-panel input:focus-visible,.mortar-panel select:focus-visible{outline:2px solid var(--mortar-accent);outline-offset:3px}
.mortar-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.mortar-button[aria-pressed=true]{background:var(--mortar-accent);color:var(--black);border-color:var(--mortar-accent)}
.mortar-button:disabled{opacity:.5;cursor:default}
.mortar-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:16px}
.mortar-result div{background:var(--charcoal);padding:16px 14px;min-width:0}
.mortar-result dt{font-size:14px;color:#b2b2b5}
.mortar-result dd{font:500 clamp(22px,3vw,32px)/1.3 'IBM Plex Mono',monospace;margin-top:7px;overflow-wrap:anywhere}
.mortar-result small{display:block;font:12px/1.5 'IBM Plex Sans',sans-serif;color:#b2b2b5;margin-top:4px}
#mortar-map{height:440px;width:100%;background:#121719;border:1px solid var(--line);z-index:0}
.mortar-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.mortar-map-toolbar .mortar-hint{margin:0;flex:1 1 140px}
.mortar-map-status{font-size:14px;color:var(--mortar-target);min-height:1.5em;margin:5px 0}
.mortar-elevation{margin-top:16px}
.mortar-elevation-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
#height-difference{font:500 26px 'IBM Plex Mono',monospace;color:var(--mortar-accent)}
#terrain-chart{width:100%;height:auto;display:block;margin-top:14px;background:#131718;border:1px solid var(--line)}
.mortar-note{border-left:3px solid var(--mortar-target);padding:10px 14px;font-size:14px;background:#29251f;margin-top:14px;color:#eee0cb}
.mortar-details{margin-top:18px;color:#b2b2b5;font-size:14px;line-height:1.65}
.mortar-details summary{cursor:pointer;min-height:44px;padding-top:10px;color:var(--paper)}
.mortar-details p{margin:8px 0}.mortar-details a{color:var(--paper)}
.mortar-marker{border:2px solid #101316;border-radius:50%;background:var(--mortar-accent);width:30px;height:30px;display:grid;place-items:center;color:#08110e;font:700 14px 'IBM Plex Sans',sans-serif;box-shadow:0 0 0 2px #fff8}
.mortar-marker.target{background:var(--mortar-target)}
.leaflet-bar a{min-width:40px;min-height:40px;line-height:40px!important}
.leaflet-container{font-family:'IBM Plex Sans',sans-serif}.leaflet-control-attribution{font-size:12px!important}
[hidden]{display:none!important}
@media(max-width:900px){.mortar-layout{grid-template-columns:minmax(260px,310px) minmax(0,1fr)}.mortar-result{grid-template-columns:1fr}.mortar-result div{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;padding:10px 14px}.mortar-result dd{margin:0}.mortar-result small{grid-column:1/-1}}
@media(max-width:680px){.mortar-main{padding:86px 14px 40px}.mortar-heading{align-items:flex-start;flex-direction:column;gap:8px}.mortar-layout{grid-template-columns:minmax(0,1fr)}.mortar-panel{padding:16px}.mortar-panel fieldset{margin-top:14px}.mortar-result{grid-template-columns:repeat(3,minmax(0,1fr))}.mortar-result div{display:block;padding:10px 8px}.mortar-result dd{font-size:21px;margin-top:5px}.mortar-result dt{font-size:13px}.mortar-result small{font-size:12px}#mortar-map{height:380px;height:min(60svh,440px)}.mortar-map-toolbar .mortar-button{flex:1}.mortar-heading p{max-width:34ch}}
