/* "This website needs to be opened in your browser": a modal shown only inside the
   Instagram and Facebook in-app browsers on front domains with body[data-escape="1"].
   Static, no animation. Same palette and type as the farm (farm/site.css). */
.ls-escape[hidden] { display: none; }
.ls-escape {
  position: fixed; inset: 0; z-index: 60;
  display: flex; align-items: center; justify-content: center;
  padding: 24px 16px;
  background: rgba(59, 35, 20, .66);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
/* while the modal is up, nothing behind it takes a tap */
body.ls-escape-active { overflow: hidden; }
body.ls-escape-active > :not(.ls-escape) { pointer-events: none; }
.ls-escape-card {
  width: min(100%, 360px);
  padding: 22px 20px 18px;
  border-radius: 16px;
  background: radial-gradient(circle at 50% 20%, #fffaf0, var(--paper, #f6e5c0) 85%);
  color: var(--ink, #3b2314);
  box-shadow: 0 0 0 3px var(--wood, #86532c), 0 10px 0 var(--wood-dark, #4d2c14), 0 24px 30px -8px rgba(60, 28, 8, .6);
  font-family: var(--sans, system-ui, sans-serif);
  text-align: center;
}
.ls-escape-title {
  margin: 0 0 8px;
  font-family: var(--display, Georgia, serif);
  font-size: 22px; line-height: 1.2; font-weight: 900;
}
.ls-escape-copy { margin: 0 0 16px; font-size: 15px; line-height: 1.4; }
.ls-escape-button {
  display: block; margin: 0 auto 14px; padding: 14px 20px;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 235, 200, .16), transparent 34%, rgba(40, 18, 4, .24)),
    var(--wood, #86532c);
  color: #fff3d8; text-decoration: none;
  font-family: var(--hand, cursive); font-size: 24px; line-height: 1; font-weight: 700;
  box-shadow: 0 5px 0 var(--wood-dark, #4d2c14), inset 0 1px 0 rgba(255, 226, 180, .5);
  -webkit-tap-highlight-color: transparent;
}
.ls-escape-button[hidden] { display: none; }
.ls-escape-button:active { transform: translateY(2px); box-shadow: 0 3px 0 var(--wood-dark, #4d2c14); }
.ls-escape-hint { margin: 0 0 12px; font-size: 14px; line-height: 1.4; }
.ls-escape-hint--late, .ls-escape-hint--primary { font-weight: 700; }
.ls-escape-hint--primary { font-size: 16px; }
.ls-escape-copy-link {
  appearance: none; -webkit-appearance: none;
  padding: 9px 14px; border-radius: 10px;
  border: 2px solid var(--wood, #86532c); background: transparent; color: var(--ink, #3b2314);
  font: 700 14px/1.1 var(--sans, system-ui, sans-serif); cursor: pointer;
}
.ls-escape-url {
  display: block; width: 100%; margin: 10px 0 0; padding: 8px;
  border: 1px solid var(--wood, #86532c); border-radius: 8px;
  font: 13px/1.3 var(--sans, system-ui, sans-serif); color: var(--ink, #3b2314); background: #fffaf0;
}
.ls-escape-url[hidden] { display: none; }
.ls-escape-feedback { margin: 8px 0 0; min-height: 1.3em; font-size: 13px; line-height: 1.3; }
