/* 全便表示ポップアップ */
@font-face { font-family: "mpuls-all"; src: url("fonts/MPLUS1-Medium.ttf") format("truetype"); font-weight: 400 500; font-style: normal; }
@font-face { font-family: "mpuls-all"; src: url("fonts/MPLUS1-Bold.ttf") format("truetype"); font-weight: 600 900; font-style: normal; }
#hassha_all_btn { margin-left: 8px; padding: 2px 10px; cursor: pointer; }
#hassha_all_overlay { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.92); color: #fff; display: flex; flex-direction: column; font-family: "mpuls-all", "mpuls", sans-serif; }
#hassha_all_overlay[hidden] { display: none; }
.hassha_all_head, .hassha_all_body { width: 100%; max-width: 1000px; margin: 0 auto; box-sizing: border-box; }
.hassha_all_head { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; font-weight: bold; border-bottom: 1px solid #555; }
.hassha_all_close { font-family: inherit; background: none; border: 0; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.hassha_all_body { position: relative; flex: 1; overflow-y: auto; padding: 12px 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; align-content: start; }
.hassha_all_item { padding: 6px 4px; border-top: 4px double #888; }
.hassha_all_route { font-weight: bold; font-size: 18px; }
.hassha_all_line { font-size: 18px; font-variant-numeric: tabular-nums; white-space: pre; }
.hassha_all_item.past { opacity: .3; }
.hassha_all_item.next { background: rgba(255,213,74,.18); border-top-color: #ffd54a; }
