/* The coach has no backdrop. Every other game control remains available. */
.tour-coach {
  --tour-ink:#193c32;
  --tour-muted:#415d4d;
  position:fixed;
  z-index:45;
  margin:0;
  width:min(347px,calc(100vw - 30px));
  max-height:calc(100dvh - 30px);
  overflow:auto;
  overscroll-behavior:contain;
  box-sizing:border-box;
  border:1px solid #76917b;
  border-left:5px solid #e3ad58;
  border-radius:13px;
  box-shadow:0 5px 24px #173f322b,0 1px 3px #173f3221;
  background:#fffef7;
  color:var(--tour-ink);
  text-align:left;
  font-family:inherit;
  line-height:1.45;
}
.tour-coach[hidden]{display:none!important}
.tour-coach h2 {
  margin:8px 0 3px;
  color:var(--tour-ink);
  font:800 20px/1.18 Manrope,system-ui,sans-serif;
  letter-spacing:-.035em;
}
.tour-coach p {margin:0;color:var(--tour-muted);font-size:14px;font-weight:500;line-height:1.45}
.tour-body,.tour-intro{padding:13px 15px 11px}
.tour-eyeline {
  display:flex;align-items:center;gap:6px;
  font:800 10px/1.3 Manrope,system-ui,sans-serif;
  letter-spacing:.085em;text-transform:uppercase;color:#3c674e;
}
.tour-eyeline i {font-style:normal;color:#91a18b}
.tour-glyph {
  display:inline-flex;align-items:center;justify-content:center;
  width:25px;height:25px;flex-shrink:0;border-radius:7px;
  background:#e5efdf;color:#285b41;
}
.tour-coach button {
  appearance:none;font:700 12px/1.2 Manrope,system-ui,sans-serif;color:#315b44;
  cursor:pointer;background:transparent;padding:5px 6px;border:0;border-radius:5px;
}
.tour-coach button:hover {background:#eaf0e4}
.tour-coach button:focus-visible {outline:3px solid #b27720;outline-offset:2px}
.tour-coach button:disabled {opacity:.43;cursor:default}
.tour-coach .tour-primary {
  border-radius:7px;font-size:13px;min-height:34px;padding:7px 12px;
  background:#285b43;color:#fff;
}
.tour-coach .tour-primary:hover {background:#193e2d}
.tour-intro-actions {display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px}
.tour-intro .tour-quiet {font-size:12px;min-height:32px}
.tour-nav {display:flex;align-items:center;gap:3px;margin:9px -3px -2px;padding-top:5px;border-top:1px solid #dce6d5}
.tour-nav button {min-height:26px}
.tour-nav .tour-word {margin-left:auto;text-decoration:underline;text-underline-offset:2px}
.tour-step-cta {margin-top:8px}
.tour-coach .tour-definition {padding:8px 10px;margin-top:7px;background:#edf3e6;border-radius:6px;font-size:13px;color:#355138}
.tour-coach[data-mode="paused"] {width:auto;border-left:1px solid #8ca48c;border-radius:30px}
.tour-coach .tour-resume {display:block;border-radius:30px;font-size:12px;padding:8px 12px}
.tour-target:not(g) {outline:3px solid #b97814!important;outline-offset:2px!important}
g.tour-target {outline:none}
g.tour-target .city-dot,g.district-lot.tour-target .district-site-boundary {stroke:#b16705!important;stroke-width:4px!important;stroke-dasharray:none;paint-order:stroke fill}
g.tour-target:focus-visible {outline:2px dashed #173f32}
@media(max-width:679px){
  .tour-coach {width:min(315px,calc(100vw - 16px));max-height:calc(100dvh - 16px);border-radius:10px}
  .tour-body,.tour-intro{padding:10px 12px 8px}
  .tour-coach h2{font-size:18px;margin-top:5px}
  .tour-coach p{font-size:13px}
  .tour-eyeline{font-size:9px;letter-spacing:.06em}
  .tour-glyph {width:22px;height:22px}
  .tour-nav {margin-top:6px}
}
@media(max-height:510px){
  .tour-coach {width:min(360px,calc(100vw - 16px));max-height:calc(100dvh - 16px)}
  .tour-body,.tour-intro{padding:8px 12px}
  .tour-coach h2{font-size:17px;margin-top:4px}
  .tour-nav{margin-top:4px}
}
