/* 行程ボード。本体の site.css の変数をそのまま使う（色を増やさない） */
.plan-top{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin:1rem 0 1.5rem;
  padding:.8rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--card)}
.plan-top label{display:flex;flex-direction:column;font-size:.82rem;color:var(--ink-soft);gap:.2rem}
.plan-top input,.plan-top select{font:inherit;padding:.3rem .4rem;border:1px solid var(--line);border-radius:4px;background:#fff}
.plan-top output{font-size:.85rem;color:var(--ink-soft)}

/* 選択盤: 山域ごとに標高順。地図ではなく「どれが同じ高さ・同じ山域か」を読むための図 */
.ridge-area{margin:1rem 0}
.ridge-area h3{font-size:.95rem;margin:0 0 .35rem;color:var(--ink-soft)}
.ridge-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-end;
  border-bottom:1px solid var(--line);padding-bottom:.5rem}
.ridge-hut{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;
  font:inherit;text-align:left;cursor:pointer;
  border:1px solid var(--line);border-radius:6px;background:#fff;padding:.35rem .5rem}
.ridge-hut:hover{border-color:var(--moss)}
.ridge-name{font-size:.9rem}
.ridge-elev{font-size:.75rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.plan-list{margin-top:1rem}
.plan-hutlist{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem}

/* 行程: 縦が泊まる順、横が同じ日の候補 */
.plan-day{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--line)}
.plan-day h3{font-size:1rem;margin:0 0 .5rem;font-variant-numeric:tabular-nums}
.plan-day-row{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.3rem;-webkit-overflow-scrolling:touch}
.plan-empty{flex:1;margin:0;padding:.9rem;border:1px dashed var(--line);border-radius:6px;
  color:var(--ink-soft);font-size:.88rem}
.plan-card{flex:0 0 17rem;max-width:85vw;border:1px solid var(--line);border-radius:6px;
  background:#fff;padding:.6rem .7rem;cursor:grab}
.plan-card.is-dragging{opacity:.5}
.plan-card-head{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.plan-card-head a{font-weight:600}
.plan-card-head .quiet{font-size:.85rem;font-variant-numeric:tabular-nums}
.plan-badge{display:inline-block;margin-top:.3rem;font-size:.75rem;padding:.05rem .4rem;border-radius:3px}
.plan-badge.is-open{background:#E3EEE7;color:#2E6B4A}
.plan-badge.is-closed{background:#F6E3E3;color:#8A3A3A}
.plan-badge.is-unknown{background:#ECEEEB;color:#55615A}
.plan-opens{margin:.35rem 0 0;font-size:.8rem;color:var(--ink-soft)}
.plan-card-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.plan-card-actions .btn{font-size:.82rem;padding:.25rem .6rem}
.plan-move{display:flex;gap:.25rem;margin-top:.5rem}
.plan-move-btn{font:inherit;line-height:1;cursor:pointer;min-width:2rem;min-height:2rem;
  border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink-soft)}
.plan-move-btn:hover{border-color:var(--moss);color:var(--ink)}

@media (max-width:480px){
  .plan-card{flex-basis:15rem}
  .plan-top{gap:.5rem}
}

/* 選択の見せ方（タブ） */
.plan-tabs{display:flex;gap:.3rem;margin:.6rem 0}
.plan-tab{font:inherit;cursor:pointer;padding:.3rem .8rem;border:1px solid var(--line);
  border-radius:999px;background:#fff;color:var(--ink-soft)}
.plan-tab[aria-selected="true"]{background:var(--moss-tint);border-color:var(--moss);color:var(--moss-deep)}

/* タイル地図 */
.hgmap{position:relative;height:420px;border:1px solid var(--line);border-radius:6px;
  overflow:hidden;background:var(--card);touch-action:none;cursor:grab}
.hgmap.is-panning{cursor:grabbing}
.hgmap:focus-visible{outline:2px solid var(--moss);outline-offset:2px}
.hgmap-tiles,.hgmap-pins{position:absolute;inset:0}
.hgmap-tile{position:absolute;width:256px;height:256px;user-select:none;pointer-events:none}
.hgmap-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.25rem;
  font:inherit;background:none;border:0;padding:0;cursor:pointer}
.hgmap-dot{width:11px;height:11px;border-radius:50%;background:var(--moss);border:2px solid #fff;
  box-shadow:0 0 0 1px var(--moss-deep)}
.hgmap-label{font-size:.75rem;background:rgba(255,255,255,.88);border:1px solid var(--line);
  border-radius:3px;padding:0 .25rem;white-space:nowrap}
.hgmap-pin:hover .hgmap-dot,.hgmap-pin:focus-visible .hgmap-dot{background:var(--moss-deep);transform:scale(1.2)}
.hgmap-ui{position:absolute;right:.5rem;top:.5rem;display:flex;flex-direction:column;gap:.25rem}
.hgmap-btn{width:2rem;height:2rem;font:inherit;line-height:1;cursor:pointer;
  border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.92)}
.hgmap-attr{position:absolute;left:0;right:0;bottom:0;margin:0;padding:.1rem .4rem;
  font-size:.7rem;background:rgba(255,255,255,.85);color:var(--ink-soft)}
@media (max-width:480px){ .hgmap{height:320px} .hgmap-label{display:none} }
