.sf-schedule-controls{position:fixed;right:20px;top:88px;z-index:70;max-width:290px;background:#f4f1e8;border:1px solid #a9a191;border-radius:4px;padding:10px 14px;box-shadow:0 4px 18px #26292118;font:13px 'Source Sans 3',sans-serif;color:#252a27}
.sf-schedule-controls summary{cursor:pointer;font-weight:600;list-style-position:inside}
.neighbor-stop-direction{display:block;font-size:11px;font-weight:400;line-height:1.35;margin-top:3px}
.sf-schedule-controls.is-dossier-control{position:relative;inset:auto;max-width:none;margin:0 0 12px;box-shadow:none;flex-shrink:0}
.sf-schedule-controls.is-dossier-control>summary{min-height:30px;display:flex;align-items:center}
.line-pattern-chain>small{display:block;font-size:11px;line-height:1.4;margin:8px 0 4px;color:#625f55}
.sf-schedule-controls form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;max-height:65vh;overflow:auto}
.sf-schedule-controls label{display:grid;gap:3px}.sf-schedule-controls input,.sf-schedule-controls select{min-width:0;width:100%;font:inherit;padding:6px;background:#fffdf8;border:1px solid #aaa18e;border-radius:2px;box-sizing:border-box}
.sf-schedule-controls fieldset{grid-column:1/-1;border:1px solid #cbc3b3;display:flex;gap:8px;flex-wrap:wrap}.sf-schedule-controls fieldset label{flex:1;min-width:65px}.sf-schedule-controls input[type=checkbox]{width:auto}.sf-schedule-controls p,.sf-schedule-controls button{grid-column:1/-1;margin:0}.sf-schedule-controls button{padding:9px;background:#315c59;color:white;border:0;cursor:pointer}.sf-query-status{color:#844d32}.sf-data-freshness{font-size:11px;line-height:1.4}
@media(max-width:760px){.sf-schedule-controls{right:10px;top:65px;max-width:260px;padding:8px 10px}}
.sf-schedule-controls.is-sheet-control{position:relative;inset:auto;z-index:auto;order:100;max-width:none;margin:8px 16px;padding:0;box-shadow:none;background:transparent;border:0;border-bottom:1px solid #cbc3b3;border-radius:0}
.sf-schedule-controls.is-sheet-control>summary{min-height:44px;display:flex;align-items:center}
.mobile-sheet[data-snap=collapsed]>.sf-schedule-controls{display:none}
@media (max-width:980px) and (orientation:portrait){
  #mobileSheet[data-snap=half] #mobilePrimarySummary .has-shinhanga-teaser{min-height:112px;height:112px}
  .commute-map-picker-cancel{min-height:44px}
}
.sf-schedule-controls.is-sheet-control input:not([type=checkbox]),.sf-schedule-controls.is-sheet-control select,.sf-schedule-controls.is-sheet-control button{min-height:44px}
[data-atlas-welcome-survey-map] {background:image-set(url('./assets/sf-bay-cover-640.webp') 1x, url('./assets/sf-bay-cover-1280.webp') 2x) center/cover no-repeat;}
.network-colophon .network-survey-metrics {display:flex;justify-content:space-between;gap:16px;margin:22px 0;}
.network-colophon .network-survey-metrics dt {font-size:12px;}
.network-colophon .network-survey-metrics dd {font:600 26px var(--font-editorial);margin:5px 0;}
.network-colophon>p,.network-colophon>details,.network-colophon>nav {margin:18px 0;line-height:1.6;}
.network-colophon>nav button {margin:3px;padding:8px;}
.sf-data-freshness{border-left:3px solid #a98132;padding-left:10px}

/* Local print cards: the image and paper caption always occupy separate rows. */
.desktop-atlas-welcome-starters { container: starting-places / inline-size; }
html body .desktop-atlas-welcome-starters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
html body .desktop-atlas-welcome-starters button {
  display: flex; flex-direction: column; gap: 0; min-width: 0; min-height: 0;
  padding: 0; overflow: hidden; border: 1px solid #a7a195; border-radius: 8px;
  background: #fffdf7; background-image: none; color: #11100e; box-shadow: none;
  white-space: normal; text-align: left;
}
html body .atlas-starter-art { display: block; flex: none; width: 100%; aspect-ratio: 640 / 427; overflow: hidden; background: #f1ecdf; }
html body .atlas-starter-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
html body .desktop-atlas-welcome-starters .atlas-starter-caption { display: grid; gap: 4px; flex: 1; padding: 7px 6px 8px; background: #fffdf7; }
html body .desktop-atlas-welcome-starters strong { font: 700 12px/1.2 var(--font-main); white-space: normal; overflow-wrap: normal; }
html body .desktop-atlas-welcome-starters small { font: 500 11px/1.25 var(--font-main); white-space: normal; color: #625e55; }
html body .desktop-atlas-welcome-starters small[hidden] { display: none; }
html[data-material-prototype="relief"] body .desktop-atlas-welcome-starters button { box-shadow: var(--relief-contact); }
html[data-material-prototype="relief"] body .desktop-atlas-welcome-starters button:hover { box-shadow: var(--relief-lift); }
html body .desktop-atlas-welcome-starters button:active { transform: translateY(1px); }
html body .desktop-atlas-welcome-starters button:focus-visible { outline: 2px solid #3d858d; outline-offset: 2px; }
@container starting-places (width < 300px) {
  html body .desktop-atlas-welcome-starters button { grid-column: 1 / -1; flex-direction: row; align-items: stretch; }
  /* A definite row height avoids retaining the column's intrinsic image
     height while container-query layout changes or an image fails. */
  html body .desktop-atlas-welcome-starters .atlas-starter-art { width: 84px; height: calc(84px * 427 / 640); align-self: flex-start; }
  html body .desktop-atlas-welcome-starters .atlas-starter-caption { align-content: center; }
}
/* Same-weekday timetable substitution for a date outside the published snapshot. */
.sf-schedule-controls>summary:has(.sf-service-date-notice){flex-wrap:wrap}
.sf-service-date-notice{display:block;flex-basis:100%;margin-top:2px;font-size:12px;font-weight:400;line-height:1.35;color:#6f4b12}
