/* 道: schematic walk (p/shionomichi-map.html). Not to scale; sea-to-mountain wash behind the road. */
.salt{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(16px,3vw,48px);margin-top:36px;align-items:start}
.salt__side{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:12px}
.salt__now{padding:22px 24px;border-radius:24px;background:var(--paper);border:1px solid var(--line)}
.salt__now-k{font-size:13px;font-weight:700;color:var(--muted)}
.salt__now-name{margin-top:4px;font-size:clamp(32px,3.6vw,54px);line-height:1.2;font-weight:500;color:#6B4A32}
.salt__now-n{margin-top:4px;font-size:14px;color:var(--muted)}
.salt__legend{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-radius:20px;background:var(--paper);border:1px solid var(--line);font-size:13px;color:var(--body)}
.salt__legend li{display:flex;align-items:center;gap:10px}
.lg{flex:0 0 28px;height:0;border-top:3px solid #6B4A32}
.lg--differs{border-top:3px dashed var(--bengara)}
.lg--ref{border-top:3px dotted var(--water)}
.salt__warn{padding:16px 20px;border-radius:20px;background:var(--stone);font-size:13px;line-height:1.8;color:var(--body)}
.salt__warn-h{font-weight:700;color:var(--ink)}
.salt__road{position:relative;padding:40px clamp(16px,3vw,40px);border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,#E3EBEC 0%,var(--paper) 22%,#EFF0E8 70%,var(--stone) 100%)}
.salt__line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.salt__base{fill:none;stroke:#D5CDBF;stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}
.salt__walk{fill:none;stroke:#6B4A32;stroke-width:3;stroke-linecap:round}
.salt__stretch{fill:none;stroke-width:7;stroke-linecap:round;opacity:.35}
.salt__stretch--differs{stroke:var(--bengara);stroke-dasharray:10 8}
.salt__stretch--ref{stroke:var(--water);stroke-dasharray:1 9}
.salt__grain{fill:#FAFAF6;stroke:#6B4A32;stroke-width:2.5}
.road{position:relative;display:flex;flex-direction:column;gap:clamp(28px,6vh,64px)}
.stop{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:16px}
.stop__node{justify-self:center;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid #6B4A32;position:relative;z-index:1;transition:background-color .3s ease,transform .4s var(--ease)}
.stop.is-reached .stop__node{background:#6B4A32;transform:scale(1.2)}
.stop__card{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px}
.stop__n{font-size:14px;color:var(--muted)}
.stop__name{font-size:clamp(22px,2.4vw,34px);font-weight:500;line-height:1.3;color:var(--muted);transition:color .4s ease}
.stop.is-reached .stop__name,.salt:not(.is-live) .stop__name{color:var(--ink)}
.stop__tag{padding:2px 10px;border-radius:999px;background:#ECE4DA;color:#6B4A32;font-size:12px;font-weight:700}
.road__note{margin-left:56px;padding:12px 16px;border-radius:14px;background:rgba(250,250,246,.9);border:1px solid var(--line);font-size:14px;line-height:1.8;color:var(--body)}
.road__note--differs{border-left:3px solid var(--bengara)}
.road__note--ref{border-left:3px solid var(--water)}
.road__note--end{border-style:dashed}
@media (max-width:900px){
  .salt{grid-template-columns:minmax(0,1fr)}
  .salt__side{position:static}
  .salt__now{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:baseline;gap:12px;padding:10px 20px;border-radius:999px;background:rgba(250,250,246,.94);box-shadow:0 12px 30px rgba(30,42,36,.16);transform:translate(-50%,160%);transition:transform .5s var(--ease);pointer-events:none}
  .salt.is-walking .salt__now{transform:translate(-50%,0)}
  .salt__now-k{display:none}
  .salt__now-name{margin:0;font-size:20px}
  .salt__now-n{margin:0;font-size:13px}
}
