/*
  301年祭のテーマ。301年祭サイト（Shudo-Seitokai/301nensai）の schoolmap-theme/theme-301.css を写したもの。
  校内マップ単体で開いたときも、サイトに埋め込んだときと同じ見た目にする。
  元のCSSは書き換えず、各ページでこのファイルを最後に読み込んで色・線・書体だけを上書きする。
  サイト側で直したら、こちらにも写す（違うのは「今は出さないもの」と学校全体図の部分だけ）。

  校内マップの画面構成（2026-10 以降）：
  - map.html：全画面の地図、右上の階数ピッカー（#floors .floor-picker）と操作ボタン（.control-group）、
    下から引き出すシート（#sheet。PCでは左上のカード）、案内中の上部バナー（.nav-banner）
  - walk.html：3Dの歩く視点。上の案内バナー（.walk-banner）、下の操作（.walk-dock）、詳細シート（.walk-sheet）
  サイトのルールに合わせ、ぼかし（backdrop-filter）とぼかしのある影は使わず、紙＋黒の輪郭線＋ずらしたベタ影にする。
*/
@import url("https://fonts.googleapis.com/css2?family=Dela+Gothic+One&family=Zen+Maru+Gothic:wght@500;700;900&display=swap");

:root {
  --t-space: #393939;
  --t-paper: #f6f1e6;
  --t-paper2: #e9e2d2;
  --t-ink: #1a1a1a;
  --t-ink2: #5e5a52;
  --t-ufo: #c9566f;
  --t-hot: #e84813;
  --t-yellow: #fdd009;
  --t-blue: #3478c3;
  --t-green: #4cb755;
  --t-line: 2.5px solid var(--t-ink);
  --t-line-thin: 2px solid var(--t-ink);
  --t-pop: 4px 4px 0 var(--t-ink);
  --t-pop-sm: 3px 3px 0 var(--t-ink);

  /* 元CSSの変数 */
  --blue: var(--t-blue);
  --green: var(--t-green);
  --red: var(--t-hot);
  --label: var(--t-ink);
  --label-2: var(--t-ink2);
  --label-3: var(--t-ink2);
  --fill: var(--t-paper2);
  --fill-strong: #d9d0bc;
  --separator: #cfc6b2;
  --material: var(--t-paper);
  --material-thick: var(--t-paper);
  --card: #fff;
  --map-bg: var(--t-space);
  --ink: var(--t-ink);
  --line: #cfc6b2;

  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: 500;
  background-color: var(--t-space);
}

/* 地の夜空と星（サイト本体と同じ） */
body,
body.map-app,
body.walk-app {
  background-color: var(--t-space);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='260'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='18' cy='22' r='1.4'/%3E%3Ccircle cx='96' cy='9' r='1'/%3E%3Ccircle cx='170' cy='40' r='1.6'/%3E%3Ccircle cx='226' cy='14' r='1'/%3E%3Ccircle cx='52' cy='88' r='1'/%3E%3Ccircle cx='132' cy='104' r='1.3'/%3E%3Ccircle cx='205' cy='132' r='1'/%3E%3Ccircle cx='12' cy='160' r='1.2'/%3E%3Ccircle cx='84' cy='186' r='1.6'/%3E%3Ccircle cx='158' cy='206' r='1'/%3E%3Ccircle cx='230' cy='238' r='1.3'/%3E%3Ccircle cx='40' cy='246' r='1'/%3E%3C/g%3E%3C/svg%3E");
}
button,
input,
select {
  font-family: inherit;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--t-yellow);
  outline-offset: 2px;
}

/* ぼかしは使わない */
.floor-picker,
.control-group,
.query-summary,
.sheet,
.nav-banner,
.walk-banner,
.walk-button,
.segmented,
.walk-sheet {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* ================= 地図（map.html） ================= */

/* 紙の面：右上の操作 */
.floor-picker,
.control-group,
.query-summary {
  background: var(--t-paper);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
}
.control-group button + button {
  box-shadow: none;
  border-top: 1.5px dashed var(--t-ink2);
}

/* 階の切り替え：数字は Dela Gothic One、選択中は UFO のピンク */
.floor-picker button {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  color: var(--t-ink2);
}
.floor-picker button:hover {
  background: var(--t-paper2);
}
.floor-picker button[aria-pressed="true"] {
  background: var(--t-ufo);
  color: #fff;
  box-shadow: inset 0 0 0 2px var(--t-ink);
}
.alternate-map .floor-picker button[aria-pressed="true"] {
  background: transparent;
  color: var(--t-ink2);
  box-shadow: none;
}
.alternate-map .floor-picker.is-gym button[aria-pressed="true"] {
  background: var(--t-ufo);
  color: #fff;
  box-shadow: inset 0 0 0 2px var(--t-ink);
}
/* 経路が通る階は青、検索結果がある階は黄色の印（色だけに頼らないよう黒のふちを付ける） */
.floor-picker button[data-route]::after,
.floor-picker button[data-hit]::after {
  width: 8px;
  height: 8px;
  background: var(--t-blue);
  box-shadow: 0 0 0 1.5px var(--t-ink);
}
.floor-picker button[data-hit]:not([data-route])::after {
  background: var(--t-yellow);
}

.control-group button {
  color: var(--t-ink);
}
.control-group button[aria-pressed="true"] {
  background: var(--t-ufo);
  color: #fff;
}
.control-group button:disabled {
  color: var(--t-ink2);
}

.query-summary {
  color: var(--t-ink);
}
.query-start {
  color: var(--t-blue);
}
.query-goal {
  color: var(--t-hot);
}
.query-summary a {
  background: var(--t-paper2);
  border: var(--t-line-thin);
  color: var(--t-ink);
}

/* 読み込み中・エラー */
.map-loading span,
.walk-loading span {
  border-color: rgba(255, 255, 255, 0.25);
  border-top-color: #fff;
}
.walk-loading {
  color: #fff;
}
.map-toast,
.walk-error-card {
  background: var(--t-paper);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
  color: var(--t-ink);
}

/* 全体図・体育館 */
.building-overview button,
.gym-overview,
.site-overview {
  background: var(--t-paper);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
}
.building-overview strong {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
}

/* ---------- 案内中の上部バナー ---------- */
.nav-banner,
.walk-banner {
  background: var(--t-space);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
}
.nav-banner-icon,
.walk-banner-icon {
  background: var(--t-green);
  color: var(--t-ink);
  border: var(--t-line-thin);
  border-radius: 8px;
}
.nav-banner[data-turn="stairs"] .nav-banner-icon {
  background: var(--t-blue);
  color: #fff;
}
.nav-banner[data-turn="arrive"] .nav-banner-icon {
  background: var(--t-hot);
  color: #fff;
}
#map-step-instruction,
#hud-next-instruction {
  font-weight: 900;
}
.nav-banner-actions button {
  background: var(--t-paper);
  color: var(--t-ink);
  border: var(--t-line-thin);
  border-radius: 10px;
  font-weight: 700;
}
.nav-banner-actions button:disabled {
  opacity: 0.45;
}
#map-guidance-close {
  color: var(--t-hot);
}
#map-nearby-list button {
  background: var(--t-paper);
  color: var(--t-ink);
  border: var(--t-line-thin);
}
#map-nearby-list span {
  color: var(--t-ink2);
}
.map-nearby h2 {
  color: #fff;
}

/* ---------- シート（スマホは下から、PCは左のカード） ---------- */
.sheet {
  background: var(--t-paper);
  border: var(--t-line);
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  box-shadow: none;
}
.sheet-grabber::before {
  background: var(--t-ink2);
}
@media (min-width: 761px) {
  .sheet {
    border-bottom: var(--t-line);
    border-radius: 10px;
    box-shadow: var(--t-pop);
  }
}
/*
  サイトに埋め込むと、縦持ちのスマホでも iframe の高さが 500px 以下になることがある
  （画面の小さいiPhone、ブラウザのバーが大きいときなど）。元のマップはそれを横持ちとみなし、
  シートを左に寄せて地図を右へずらすので、縦長のときはふつうのスマホの並びに戻す
*/
@media (max-width: 760px) and (max-height: 500px) and (orientation: portrait) {
  .sheet {
    --offset-mid: calc(var(--sheet-h) - 50dvh);
    left: 0;
    right: 0;
    width: auto;
  }
  #floor-map {
    --map-l: var(--safe-l);
    --map-b: var(--peek);
  }
  body[data-sheet="mid"] #floor-map,
  body[data-sheet="full"] #floor-map {
    --map-b: 50dvh;
  }
  .map-loading {
    inset: 0 0 var(--peek);
  }
}

/* 検索 */
.search-field {
  background: #fff;
  border: var(--t-line-thin);
  border-radius: 10px;
  color: var(--t-ink2);
}
.search-field:focus-within {
  box-shadow: 0 0 0 3px var(--t-yellow);
}
.search-field input {
  font-weight: 700;
}
.search-field input::placeholder {
  color: var(--t-ink2);
  font-weight: 500;
}
.round-button {
  background: var(--t-ufo);
  color: #fff;
  border: var(--t-line-thin);
  box-shadow: var(--t-pop-sm);
}

/* 紙の上の白い札 */
.list-card,
.room-section .room-list,
.route-fields {
  background: #fff;
  border: var(--t-line-thin);
  border-radius: 10px;
}
.section-heading h2,
.card-header h2,
#navigation-title {
  /* 見出し用の書体は漢字がつぶれるので、本文書体の極太にする */
  font-weight: 900;
  letter-spacing: 0.02em;
}
.section-heading span,
#place-location,
#navigation-floors,
.list-caption,
.side-note,
#route-note,
.legend {
  color: var(--t-ink2);
}

/* 一覧の行 */
.place-row + .place-row::before,
.route-steps li + li::before,
.link-list a + a::before {
  border-top: 1.5px dashed var(--line);
}
.place-row:hover,
.place-row:active,
.place-row[aria-pressed="true"] {
  background: var(--t-paper2);
}
.place-text strong {
  font-weight: 700;
}
.place-badge {
  background: var(--t-paper2);
  color: var(--t-ink);
  border: var(--t-line-thin);
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
}
/* 催し物のある場所は、表紙の 301 のオレンジを淡くした色 */
.place-badge.has-event {
  background: #ffd0bd;
  color: var(--t-ink);
}
.place-badge:empty::before {
  background: var(--t-ink2);
}

.legend i {
  border: 1px solid var(--t-ink);
  box-shadow: none;
}
.legend .event {
  background: #ffd0bd;
}
.legend .normal {
  background: var(--t-paper2);
}

.link-list a {
  color: var(--t-ink);
  font-weight: 700;
}
.link-list a span {
  color: var(--t-ink2);
}

/* ボタン：主ボタンはピンク、それ以外は紙＋黒線 */
.close-button,
.swap-button {
  background: var(--t-paper2);
  color: var(--t-ink);
  border: var(--t-line-thin);
}
.action-primary {
  background: var(--t-ufo);
  color: #fff;
  border: var(--t-line-thin);
  border-radius: 10px;
  box-shadow: var(--t-pop-sm);
  font-weight: 900;
}
.action-secondary {
  background: var(--t-paper);
  color: var(--t-ink);
  border: var(--t-line-thin);
  border-radius: 10px;
  font-weight: 700;
}
/* 出発：緑のビームの色。白文字だと読みにくいので黒文字 */
.action-go {
  background: var(--t-green);
  color: var(--t-ink);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
  font-weight: 900;
}
.action-primary:active,
.action-secondary:active,
.action-go:active,
.round-button:active {
  opacity: 1;
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--t-ink);
}

/* 経路の入力欄 */
.route-field select {
  color: var(--t-ink);
  font-weight: 700;
}
.route-field + .route-field {
  box-shadow: none;
  border-top: 1.5px dashed var(--line);
}
.dot {
  border-color: var(--t-ink);
  box-shadow: none;
}
.dot-start {
  background: var(--t-blue);
}
.dot-goal {
  background: var(--t-hot);
}
.form-error {
  color: var(--t-hot);
  font-weight: 700;
}

/* 道順の一覧：いまの手順は黄色 */
.route-steps button[aria-current="step"] {
  background: #fff3b8;
  font-weight: 700;
}
.route-steps button::before {
  background: var(--t-paper2);
  color: var(--t-ink);
  border: 1.5px solid var(--t-ink);
}
.route-steps button[aria-current="step"]::before {
  background: var(--t-ufo);
  color: #fff;
}
.route-banner {
  background: var(--t-paper2);
}

/* ---------- 校内図（SVG） ---------- */
.room-shape {
  fill: #fff;
  stroke: var(--t-ink);
  stroke-width: 2;
}
.map-room.has-group .room-shape {
  fill: #ffd0bd !important;
}
.map-room:not(.has-group) .room-shape,
.map-unused .room-shape {
  fill: var(--t-paper2) !important;
}
.map-room:hover .room-shape {
  stroke: var(--t-ink);
  stroke-width: 4;
}
.map-room.is-selected .room-shape,
#floor-map .map-room.is-selected .room-shape {
  fill: var(--t-yellow) !important;
  stroke: var(--t-ink);
  stroke-width: 5;
}
.map-room:focus-visible .room-shape {
  stroke: var(--t-ufo);
  stroke-width: 5;
}
.room-label,
.group-label,
.connector-text {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  fill: var(--t-ink);
}
/* 「全体」表示では図が縮むので、元より大きめの文字にする（SVG の単位） */
.room-label {
  font-size: 26px;
}
.group-label {
  font-size: 22px;
}
.small-room .room-label {
  font-size: 18px;
}
.wing-label {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  fill: var(--t-ink2);
}
.map-corridor {
  fill: var(--t-paper);
}
.connector {
  stroke: var(--t-ink);
}
.connector.ev {
  fill: #b9d3f0;
  stroke: var(--t-ink);
}
.boundary {
  stroke: var(--t-ink) !important;
}
/* SVG に直接書かれた白い下地を、紙の色にそろえる */
svg rect[fill="#ffffff"],
svg rect[fill="#fff"],
svg rect[fill="white"] {
  fill: var(--t-paper);
}

/* 経路：UFO のピンクで線を引く */
.navigation-halo {
  stroke: var(--t-ink);
  stroke-width: 16;
}
.navigation-line {
  stroke: #e9a3b3;
}
.navigation-active {
  stroke: var(--t-ufo);
}
.navigation-pin {
  stroke: var(--t-ink);
  filter: none;
}
.start-pin {
  fill: var(--t-blue);
}
.goal-pin {
  fill: var(--t-hot);
}
.stairs-pin {
  fill: var(--t-ink2);
}
.route-origin .room-shape {
  stroke: var(--t-blue);
  stroke-width: 5;
}
.route-destination .room-shape {
  stroke: var(--t-hot);
  stroke-width: 5;
}
.query-marker {
  filter: none;
}
.query-marker circle {
  fill: var(--t-blue);
  stroke: var(--t-ink);
}
.query-marker-to circle {
  fill: var(--t-hot);
}
/* 現在地（会場のQRから開いたとき）。「いま」と同じUFOのピンク＋黒の輪郭線。ぼかしの影は使わない */
.here-dot {
  fill: var(--t-ufo);
  stroke: var(--t-ink);
  stroke-width: 5;
  filter: none;
}
.here-pulse {
  fill: var(--t-ufo);
}
.here-tag rect {
  fill: var(--t-paper);
  stroke: var(--t-ink);
  stroke-width: 3;
}
.here-tag text {
  fill: var(--t-ink);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
}

/* ================= 3Dの歩く視点（walk.html） ================= */
.walk-button {
  background: var(--t-paper);
  color: var(--t-ink);
  border: var(--t-line-thin);
  border-radius: 10px;
  box-shadow: var(--t-pop-sm);
  font-weight: 700;
}
.walk-button.primary {
  background: var(--t-ufo);
  color: #fff;
}
.walk-button.danger {
  color: var(--t-hot);
}
.walk-button:active {
  opacity: 1;
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--t-ink);
}
#hud-controls-toggle[aria-expanded="true"] {
  background: var(--t-ink);
  color: #fff;
}
.segmented {
  background: var(--t-paper);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
}
.segmented button {
  color: var(--t-ink);
  font-weight: 900;
}
.segmented button + button {
  box-shadow: none;
  border-left: 1.5px dashed var(--t-ink2);
}
.segmented button svg {
  color: var(--t-ufo);
}
.segmented button:active {
  background: var(--t-paper2);
}
.keyboard-hint {
  background: var(--t-paper);
  border: 1.5px solid var(--t-ink);
  color: var(--t-ink2);
}
.hud-progress-row {
  color: rgba(255, 255, 255, 0.75);
}
#hud-progress::-webkit-progress-value {
  background: var(--t-green);
}
#hud-progress::-moz-progress-bar {
  background: var(--t-green);
}
.walk-card,
.walk-sheet {
  background: var(--t-paper);
  border: var(--t-line);
  border-radius: 10px;
  box-shadow: var(--t-pop);
}
.walk-card h2 {
  color: var(--t-ink2);
}
#stair-floors {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
}
.walk-sheet .walk-floor-switch {
  background: var(--t-paper2);
  border: var(--t-line-thin);
}
.walk-floor-switch button {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
}
.walk-floor-switch button[aria-pressed="true"] {
  background: var(--t-ufo);
  color: #fff;
  box-shadow: none;
}
.walk-hud-place,
#journey-details {
  background: #fff;
  border: var(--t-line-thin);
}
#hud-floor {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
}
#hud-journey li {
  background: #fff;
  border: 1.5px solid var(--t-ink);
  color: var(--t-ink);
}
#hud-journey li[aria-current="step"] {
  background: var(--t-ufo);
  color: #fff;
}
#journey-details summary {
  color: var(--t-ink);
}
.walk-sheet .walk-button {
  box-shadow: none;
}
#arrival-nearby-list {
  background: #fff;
  border: var(--t-line-thin);
}

/* ================= サイトに埋め込んだとき ================= */
/* サイトの「マップ」ページに iframe で埋め込んだときは、サイト側にあるナビと重なるリンクを出さない */
/* サイトに埋め込んだときは、左上にサイトの「戻る」が重なるので、学校全体図をその下から始める */
html.embedded body[data-view="site"] .alternate-map-content {
  padding-top: calc(var(--safe-t) + 66px);
}
/* スマホで図を高さに合わせて出すときも、上の「戻る」の分（50px）だけ低くする */
@media (max-width: 760px) and (min-height: 501px) {
  html.embedded body[data-view="site"] .alternate-map-content {
    --overview-h: calc(100dvh - var(--safe-t) - var(--peek) - 126px);
  }
}
html.embedded .link-list a[href="./index.html"],
html.embedded [data-platform-link] {
  display: none;
}

/* ---------- スクロールバー ---------- */
/* サイトと同じく、スクロールバーは出さない（スクロール自体はできる） */
* {
  scrollbar-width: none;
}
*::-webkit-scrollbar {
  display: none;
}

/* ---------- 動き ---------- */
/* 階の図のフェードイン（floor-enter）は止める。道案内で「次へ」を押すと同じ階でも図を描き直すので、
   そのたびに図が一瞬消えて点滅して見えるため。サイトのルール（動きは最小限）にも合わせる */
#floor-map.floor-enter {
  animation: none;
}

/* ---------- 今は出さないもの ---------- */
/* 切り替えのボタンは学校全体図だけ出す。校舎全体図は階のボタンと同じなので出さず、
   体育館の図は学校全体図でアリーナを押して開く */
.control-group [data-map-view="campus"],
.control-group [data-map-view="gym"] {
  display: none;
}
.site-hint {
  color: var(--t-ink);
  font-weight: 700;
}
/* 元の校内図（assets/reference）は公開しない。取り込み時に sync-schoolmap.mjs が消している */
.source-link {
  display: none !important;
}

/* ---------- 混雑状況（crowd-301.js が教室に data-crowd と札を足す） ---------- */
/* 色はサイトの混雑の札（components/CrowdBadge.module.css）と同じ。色だけに頼らず必ず文字の札を載せる */
.map-room[data-crowd="crowded"] .room-shape {
  fill: #cf4f46 !important;
}
.map-room[data-crowd="slightly_crowded"] .room-shape {
  fill: #f2b83e !important;
}
.map-room[data-crowd="clearing"] .room-shape {
  fill: #a4cddb !important;
}
.map-room[data-crowd="available"] .room-shape {
  fill: #0d6d78 !important;
}
.map-room[data-crowd="before_open"] .room-shape {
  fill: #393939 !important;
}
.map-room[data-crowd="crowded"] .room-label,
.map-room[data-crowd="available"] .room-label,
.map-room[data-crowd="before_open"] .room-label,
.map-room[data-crowd="crowded"] .crowd-label,
.map-room[data-crowd="available"] .crowd-label,
.map-room[data-crowd="before_open"] .crowd-label {
  fill: #fff;
}
/* 選んだ教室は元どおり黄色にする（文字は黒） */
.map-room.is-selected[data-crowd] .room-shape {
  fill: var(--t-yellow) !important;
}
.map-room.is-selected[data-crowd] .room-label,
.map-room.is-selected[data-crowd] .crowd-label {
  fill: var(--t-ink);
}
.crowd-label {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 18px;
  fill: var(--t-ink);
  pointer-events: none;
}
.place-extra:has(#place-crowd:not([hidden])) {
  display: block;
}
#place-crowd {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}
#place-group:not([hidden]) + #place-crowd {
  margin-top: 6px;
}

/* 場所カードの「詳細を見る」（js/events-301.js）。企画がいくつもある部屋（ピロティなど）は企画名のボタンを並べる */
#place-events {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
#place-events[hidden] {
  display: none;
}
#place-events button {
  width: 100%;
  padding: 0 14px;
  font-size: 16px;
}

/*
  経路案内中の上のバナー（#map-step-bar）。地図を隠さないよう小さくし、
  案内中は地図をバナーの下から描く（#floor-map の上の余白 --map-t を広げる）。
  PCでは「前へ・次へ・終了」を文と同じ行に並べて1段にする。
*/
.nav-banner {
  padding: 8px 10px;
}
.map-step-message {
  align-items: center;
  gap: 10px;
}
.nav-banner-icon {
  width: 32px;
  height: 32px;
}
.nav-banner-icon svg {
  width: 20px;
  height: 20px;
}
#map-step-progress {
  font-size: 12px;
}
#map-step-instruction {
  font-size: 16px;
  line-height: 1.3;
}
.nav-banner-actions {
  margin-top: 8px;
}
.nav-banner-actions button {
  height: 34px;
}
.map-app:has(#map-step-bar:not([hidden])) #floor-map {
  --map-t: calc(var(--safe-t) + 132px);
}
@media (min-width: 761px) {
  .nav-banner:not([hidden]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    width: min(760px, calc(100% - var(--panel-w) - 130px));
  }
  .nav-banner .map-step-message {
    flex: 1;
    min-width: 0;
  }
  .nav-banner-actions {
    flex: none;
    margin-top: 0;
  }
  .nav-banner-actions button {
    width: 64px;
  }
  .nav-banner .map-nearby {
    flex-basis: 100%;
    margin-top: 0;
  }
  .map-app:has(#map-step-bar:not([hidden])) #floor-map {
    --map-t: 96px;
  }
}

/*
  サイトのお散歩マップでは検索欄を出さない（2026-10-26 決定）。
  道案内は補助の扱いで、パネル下の「道案内（行き方を調べる）」と場所カード下のリンクから開く（2026-10-28 決定）。
  検索欄の横の経路ボタンは校内マップ側で無くなったので、検索の行ごと出さない
*/
.search-row,
#search-results {
  display: none !important;
}

/*
  1F の屋外で歩ける所（修道広場・ピロティ周り・中庭）。校内マップ側の色は催し物のない部屋（紙の色）と近いので、
  サイトの「屋外」の色（--beam-yellow）を薄くした色にする。通行止めは縞なので区別できる
*/
.map-outdoor {
  fill: #fdf3c4 !important;
}
.legend .outdoor {
  background: #fdf3c4;
}
