main.sup-guidance-layout {
  position: relative;
  box-sizing: border-box;
  height: calc(100dvh - var(--sup-toolbar-height, 48px));
  padding: 0;
  display: grid;
  grid-template-rows: auto 116px;
  align-content: center;
  place-items: center;
}

main.sup-guidance-layout canvas[tabindex] {
  width: min(100vw, calc((100dvh - var(--sup-toolbar-height, 48px) - 116px) * var(--sup-display-ratio, 1.6)));
  height: min(calc(100dvh - var(--sup-toolbar-height, 48px) - 116px), calc(100vw / var(--sup-display-ratio, 1.6)));
  aspect-ratio: var(--sup-display-ratio, 1.6);
}

.sup-guidance {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(100vw, 960px);
  max-height: 116px;
  height: 116px;
  overflow: hidden;
  padding: 6px 10px;
  border-top: 1px solid #64708a;
  background: #101827;
  color: #eef3fb;
  font: 13px/1.35 system-ui, sans-serif;
}

.sup-guidance-info { min-width: 0; flex: 1; max-height: 100%; overflow: auto; }
.sup-guidance-info strong { display: block; color: #f1d878; }
.sup-guidance-info p { margin: 2px 0 0; white-space: pre-line; }
.sup-guidance-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.sup-guidance-controls button { padding: 5px 8px; font-size: 12px; white-space: nowrap; }

.sup-guidance-overlay { position: absolute; z-index: 1; pointer-events: none; }
.sup-guidance-hit {
  position: absolute;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: transparent;
  pointer-events: none;
}
.sup-guidance-hit:focus-visible { border-color: #fff; outline: 2px solid #f1d878; outline-offset: 1px; }
.sup-guidance-hit.is-guide-target { border: 1px solid #ffe65d; box-shadow: 0 0 5px 2px #ffcc3366; }

@media (max-width: 600px) {
  main.sup-guidance-layout { grid-template-rows: auto 150px; }
  main.sup-guidance-layout canvas[tabindex] {
    width: min(100vw, calc((100dvh - var(--sup-toolbar-height, 48px) - 150px) * var(--sup-display-ratio, 1.6)));
    height: min(calc(100dvh - var(--sup-toolbar-height, 48px) - 150px), calc(100vw / var(--sup-display-ratio, 1.6)));
  }
  .sup-guidance { height: 150px; max-height: 150px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: minmax(0, 1fr) auto; }
  .sup-guidance-info { grid-column: 1 / -1; align-self: stretch; }
  .sup-guidance-controls { justify-content: flex-start; }
  #native-back { grid-column: 2; grid-row: 2; font-size: 11px; padding: 4px 5px; }
  .sup-guidance { gap: 5px; padding: 4px 5px; font-size: 11px; }
  .sup-guidance-controls { gap: 3px; }
  .sup-guidance-controls button { padding: 4px 5px; font-size: 11px; }
}
