/* tool1-20261030
   Tool screens (body.da-tool) do not get a site footer, so a viewport-sized
   tool is not pushed into a document scroll. Phone map and other stacked
   layouts still scroll their own content (mscroll1). Inner panes keep their
   own scroll. Content pages keep the footer.
   Privacy and Terms are real links inside the footer copy. */

html body > .da-site-footer .da-site-footer-copy a {
  color: inherit !important;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-color: rgba(242, 215, 172, 0.45);
}
html body > .da-site-footer .da-site-footer-copy a:hover,
html body > .da-site-footer .da-site-footer-copy a:focus-visible {
  color: #F2D7AC !important;
  text-decoration-color: currentColor;
}
html body > .da-site-footer .da-site-footer-copy a[aria-current="page"] {
  font-weight: 600;
  text-decoration-thickness: 2px;
}

body.da-tool > .da-site-footer {
  display: none !important;
}

/* Desktop and laptop only: DM Screen and Player Screen fill the window.
   The height is flex space under the header (100dvh), not a calc that
   reserves a footer or the retired banner, so the first paint matches
   the layout after scripts run. Phones keep their scrolling layouts.
   The footer stays off at every size. */
@media (min-width: 1280px) {
  html:has(body.dms-v2),
  html:has(body.pls-v2) {
    height: 100%;
    overflow: hidden !important;
  }
  body.dms-v2,
  body.pls-v2 {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  html body.dms-v2 > main.dms-shell,
  body.pls-v2 > main {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  html body.dms-v2 > main.dms-shell {
    padding-bottom: 0 !important;
  }
  body.dms-v2 .dms-shell,
  body.dms-v2 .dms-panel,
  body.dms-v2 .dmp-strip,
  body.dms-v2 .dmp-row2,
  body.dms-v2 .dms-center > .dms-panel-head {
    min-width: 0;
    max-width: 100%;
  }
  body.dms-v2 .dmp-strip,
  body.dms-v2 .dmp-row2,
  body.dms-v2 .dms-center > .dms-panel-head {
    flex-wrap: wrap;
  }
  /* Tool windows, including Tables, fill the center panel and scroll inside it. */
  body.dms-v2 #dms-center > .dms-panel-body {
    flex: 1 1 auto;
    min-height: 0;
  }
  body.dms-v2 #dmp-tool {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  body.dms-v2 .dmp-tool-host:has(.et) {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    overflow: hidden !important;
    padding-bottom: 0 !important;
  }
  body.dms-v2 #dmp-tool-host #dms-drawer-right.is-open:has(.et),
  body.dms-v2 #dmp-tool-host #dms-drawer-left.is-open:has(.et) {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  body.dms-v2 #dmp-tool-host .dms-drawer.is-open:has(.et) .dms-drawer-body,
  body.dms-v2 #dmp-tool-host .dms-drawer.is-open:has(.et) .dms-drawer-panel {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 0;
    overflow: hidden !important;
  }
  body.pls-v2 > main {
    display: flex !important;
    flex-direction: column !important;
  }
  body.pls-v2 #player-root {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  body.pls-v2 #player-root:not(:has(.player-shell)) {
    display: block;
    overflow: auto;
  }
  body.pls-v2 .player-shell.is-on {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
  }
  body.pls-v2 .player-shell.is-on > aside,
  body.pls-v2 .player-shell.is-on > section {
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden;
    align-self: stretch;
  }
  body.pls-v2 .player-side {
    max-height: none !important;
  }
  body.pls-v2 .pls-stage {
    min-height: 0;
    overflow: hidden;
  }
  body.pls-v2 .player-map {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }
  body.pls-v2 .player-map-view {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  body.pls-v2 .player-map canvas {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
