/* Night hunt — close third-person, portrait or landscape. */
.owl-page{background:#070806}
.owl-stage{background:#070806;touch-action:none}
.owl-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.owl-hud{position:absolute;left:max(12px,env(safe-area-inset-left));top:10px;right:auto;width:auto;max-width:calc(100% - 72px);display:flex;justify-content:flex-start;align-items:flex-start;gap:8px;z-index:3;pointer-events:none}
.owl-hud .pill{background:rgba(7,8,6,.55);border:1px solid rgba(212,255,58,.25);color:#e8f0c8;font:600 13px/1.2 var(--sans);padding:6px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
.owl-hud .pill:empty{display:none}
.owl-hud .owl-score{color:rgba(232,226,210,.92);font:600 18px/1 var(--sans);padding:6px 10px;letter-spacing:.04em;min-width:1em;background:rgba(7,8,6,.72);border:1px solid rgba(232,226,210,.18);border-radius:999px}
.owl-hud .owl-score[hidden]{display:none}
.owl-hud .owl-belly{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 8px;background:rgba(7,8,6,.72);border:1px solid rgba(232,226,210,.18);border-radius:999px;height:32px;box-sizing:border-box}
.owl-hud .owl-belly[hidden]{display:none}
.owl-hud .owl-belly-icon{width:22px;height:22px;flex:0 0 auto;color:rgba(232,226,210,.92)}
.owl-hud .owl-belly-track{width:38px;height:8px;border-radius:999px;background:rgba(232,226,210,.16);overflow:hidden;display:block;position:relative}
.owl-hud .owl-belly-track i{display:block;height:100%;width:0%;background:#e6c56a;border-radius:999px;transition:width .32s ease}
.owl-hud .owl-belly.is-full .owl-belly-track i{background:#D4FF3A}
.owl-hud .owl-belly.is-flash{border-color:rgba(230,197,106,.55)}
.owl-ov .card{background:#12140f;color:#F2F2EC;border:2px solid #D4FF3A;box-shadow:0 24px 60px #000a;text-align:center}
.owl-ov .eyebrow{color:#D4FF3A}
.owl-ov h2{color:#F2F2EC}
.owl-ov p{color:#c8ccb8;text-align:center}
.owl-ov .nmh-mantra{display:block;text-align:center;margin:12px auto 18px;max-width:none;color:#F2F2EC}
.owl-ov .nmh-mantra .mk{display:inline-block;background:#D4FF3A;color:#0C0D0B;padding:.12em .45em;font-weight:800;text-align:center}
.owl-ov .gbtn{background:#D4FF3A;border-color:#D4FF3A;color:#0C0D0B}
.owl-ov .gbtn:hover{background:#F2F2EC;border-color:#F2F2EC;color:#0C0D0B}
.owl-ov .gbtn.ghost{background:transparent;color:#F2F2EC;border-color:#F2F2EC}
.owl-ov .gbtn.ghost:hover{background:#F2F2EC;color:#0C0D0B}
.owl-fine,.owl-keys{font-size:.95rem!important;color:#9aa08c!important;max-width:36ch;margin:0 auto 8px!important}
.owl-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
.owl-btns .gbtn{min-height:52px;padding:0 22px}
.owl-snd-hint{position:absolute;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:5;margin:0;padding:.3rem .7rem;border-radius:999px;background:#0c0d0bcc;color:#D4FF3A;font:700 13px/1.2 var(--sans)}
.owl-snd-hint[hidden]{display:none}

/* During landscape or fullscreen play, the site header hides and a small pause control stays. */
.owl-mini{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:5;display:none;gap:8px}
.owl-mini button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(212,255,58,.45);background:rgba(7,8,6,.62);color:#D4FF3A;display:grid;place-items:center;cursor:pointer;padding:0}
.owl-mini button svg{width:22px;height:22px}
.owl-mini button:hover,.owl-mini button:focus-visible{background:rgba(212,255,58,.18)}
body.owl-play.owl-slim .gbar{display:none}
body.owl-play.owl-slim .app{padding-bottom:0}
body.owl-play.owl-slim .stage-w{position:fixed;inset:0;z-index:2}
body.owl-play.owl-slim .owl-mini{display:flex}
body.owl-play.owl-slim .owl-hud{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:auto;max-width:calc(100% - 70px);flex-wrap:wrap;justify-content:flex-start}
@media (orientation:portrait) and (hover:none){
  .owl-page .gbar .lbl{display:none}
}

body.owl-play.owl-slim .ov{position:fixed;inset:0;z-index:8}

/* Portrait play: keep the card readable, HUD clear of the notch */
@media (orientation:portrait){
  .owl-ov .card{padding:clamp(16px,4vh,32px) clamp(16px,5vw,28px);width:min(680px,100%)}
  .owl-ov h2{font-size:clamp(28px,7vw,48px)}
  .owl-hud{top:max(10px,env(safe-area-inset-top))}
  .toast{top:18%;max-width:90%;white-space:normal;text-align:center;line-height:1.2}
}

.owl-debug{position:absolute;left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));z-index:9;margin:0;padding:8px 10px;max-width:min(92vw,420px);background:rgba(6,8,6,.78);color:#d4ff3a;font:500 11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid rgba(212,255,58,.35);border-radius:8px;pointer-events:none;white-space:pre;text-align:left}
.owl-debug[hidden]{display:none}

.owl-ov .owl-score-lg{color:#F2F2EC;font-weight:700;font-size:1.15em;margin:6px 0 2px}
.owl-ov.owl-end .card p[data-end-spare]{color:#d8dcc8}

/* Short landscape phones: keep the recap fully on screen */
@media (orientation:landscape) and (max-height: 500px){
  .owl-ov .card{padding:10px 18px;width:min(720px,96%);max-height:calc(100dvh - 16px);overflow-y:auto}
  .owl-ov h2{font-size:clamp(20px,5.2vh,32px);margin:0 0 4px}
  .owl-ov p{margin:3px 0;font-size:.95rem}
  .owl-ov .eyebrow{margin:0 0 2px}
  .owl-ov .nmh-mantra{margin:6px auto 8px}
  .owl-ov .owl-btns{flex-wrap:wrap;gap:8px;margin-top:6px}
  .owl-ov .owl-btns .gbtn{min-height:44px;padding:0 16px}
  .owl-ov .owl-score-lg{margin:4px 0 0;font-size:1.05em}
}


/* v53: recap is a single centered column on every viewport */
.owl-ov.owl-end .card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:0;
}
.owl-ov.owl-end .eyebrow{
  display:block;
  width:100%;
  margin:0 0 .4em;
  text-align:center;
  color:#D4FF3A;
}
.owl-ov.owl-end .eyebrow::before{display:none}
.owl-ov.owl-end h2{
  display:block;
  width:auto;
  max-width:100%;
  align-self:center;
  margin:0 0 .55em;
  text-align:center;
}
.owl-ov.owl-end h2:focus,
.owl-ov.owl-end h2:focus-visible{
  outline:none;
  box-shadow:none;
}
.owl-ov.owl-end p{
  display:block;
  width:100%;
  max-width:none;
  margin:.22em 0;
  text-align:center;
}
.owl-ov.owl-end .owl-score-lg{margin:.45em 0 .22em}
.owl-ov.owl-end .nmh-mantra{margin:.65em auto .1em;width:100%}
.owl-ov.owl-end .btns,
.owl-ov.owl-end .owl-btns{width:100%;justify-content:center;margin-top:.75em}
@media (orientation:landscape) and (max-height:500px){
  .owl-ov.owl-end .eyebrow{margin:0 0 .2em}
  .owl-ov.owl-end h2{margin:0 0 .3em}
  .owl-ov.owl-end p{margin:.1em 0}
  .owl-ov.owl-end .owl-score-lg{margin:.2em 0 .1em}
  .owl-ov.owl-end .nmh-mantra{margin:.3em auto .05em}
  .owl-ov.owl-end .btns,
  .owl-ov.owl-end .owl-btns{margin-top:.4em}
}

/* v54: right-edge altitude slider (touch only) */
.owl-alt{
  position:absolute;
  right:max(6px,env(safe-area-inset-right));
  top:max(58px,calc(env(safe-area-inset-top) + 52px));
  bottom:max(14px,env(safe-area-inset-bottom));
  width:52px;
  z-index:4;
  display:flex;
  align-items:stretch;
  justify-content:center;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
  pointer-events:auto;
}
.owl-alt[hidden]{display:none!important}
.owl-alt-track{
  position:relative;
  width:8px;
  margin:16px 0;
  border-radius:999px;
  background:rgba(7,8,6,.62);
  border:1px solid rgba(232,226,210,.20);
  box-shadow:0 0 14px rgba(212,255,58,.14), inset 0 0 0 1px rgba(212,255,58,.06);
  pointer-events:none;
}
.owl-alt-mark{
  position:absolute;
  left:-6px;
  right:-6px;
  height:2px;
  margin-bottom:-1px;
  background:rgba(232,226,210,.55);
  border-radius:2px;
  box-shadow:0 0 6px rgba(232,226,210,.25);
  pointer-events:none;
}
.owl-alt-knob{
  position:absolute;
  left:50%;
  width:28px;
  height:28px;
  margin:-14px 0 0 -14px;
  border-radius:50%;
  border:1.5px solid rgba(212,255,58,.40);
  background:rgba(7,8,6,.88);
  box-shadow:0 0 12px rgba(212,255,58,.28), 0 1px 4px #0008;
  pointer-events:none;
}
.owl-alt.is-hold .owl-alt-knob{border-color:rgba(212,255,58,.7);box-shadow:0 0 16px rgba(212,255,58,.4)}
@media (orientation:landscape) and (max-height:430px){
  .owl-alt{top:max(52px,calc(env(safe-area-inset-top) + 48px));width:48px}
  .owl-alt-knob{width:26px;height:26px;margin:-13px 0 0 -13px}
}

/* owl-flap: no altitude slider */
.owl-alt{display:none!important}

/* owl-flap: stop iOS scroll/bounce from eating strokes */
.owl-page,
.owl-page .app,
.owl-page .stage-w,
.owl-stage,
.owl-stage canvas{
  touch-action:none;
  overscroll-behavior:none;
  -webkit-user-select:none;
  user-select:none;
}

/* Compact start card: must fit iPhone portrait (incl. SE) without clipping */
.owl-ov[data-ov-start] .card{
  padding:14px 16px 16px;
  width:min(420px,100%);
  max-height:calc(100% - 8px);
  box-sizing:border-box;
  overflow:auto;
}
.owl-ov[data-ov-start] .eyebrow{margin:0 0 4px}
.owl-ov[data-ov-start] h2{font-size:clamp(22px,6vw,30px);line-height:1.08;margin:0 0 8px}
.owl-ov[data-ov-start] p{font-size:clamp(15px,3.8vw,17px);line-height:1.35;margin:0 auto 8px;max-width:32ch}
.owl-ov[data-ov-start] .owl-fine{font-size:12px!important;line-height:1.35;margin:0 auto 10px!important;max-width:34ch}
.owl-ov[data-ov-start] .owl-btns{margin-top:2px;gap:8px}
.owl-ov[data-ov-start] .owl-btns .gbtn{min-height:46px;padding:0 16px;font-size:16px}
@media (max-height:700px){
  .owl-ov[data-ov-start] .card{padding:12px 14px 14px}
  .owl-ov[data-ov-start] h2{font-size:clamp(20px,5.4vw,26px);margin:0 0 6px}
  .owl-ov[data-ov-start] p{font-size:15px;margin:0 auto 6px}
  .owl-ov[data-ov-start] .owl-fine{margin:0 auto 8px!important}
  .owl-ov[data-ov-start] .owl-btns .gbtn{min-height:44px}
}
@media (orientation:landscape) and (max-height:500px){
  .owl-ov[data-ov-start] .card{padding:10px 16px;width:min(560px,96%)}
  .owl-ov[data-ov-start] .eyebrow{margin:0 0 2px}
  .owl-ov[data-ov-start] h2{font-size:clamp(18px,5vh,24px);margin:0 0 4px}
  .owl-ov[data-ov-start] p{font-size:14px;margin:0 auto 4px}
  .owl-ov[data-ov-start] .owl-fine{display:none}
  .owl-ov[data-ov-start] .owl-btns .gbtn{min-height:42px;padding:0 14px}
}

/* Full-screen touch layer sits above the canvas and decorations, below Pause */
/* Full-screen touch layer sits above the canvas, below Pause */
.owl-touch{
  position:absolute;
  inset:0;
  z-index:6;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
  background:transparent;
  cursor:default;
}
.owl-hud,
.toast,
.owl-debug,
.owl-snd-hint{pointer-events:none}
.owl-mini{z-index:7}
.owl-mini button{pointer-events:auto}

html.owl-flap-play,
html.owl-flap-play body{
  touch-action:none;
  overscroll-behavior:none;
  overflow:hidden;
  -webkit-user-select:none;
  user-select:none;
}


/* Pass 2: start (and end) cards sit lower, smaller, and translucent so the woods stay visible. Copy unchanged. */
.ov.owl-ov[data-ov-start]{
  align-items:flex-end !important;
  justify-content:center !important;
  background:rgba(6,8,6,.20) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:10px 14px max(18px, env(safe-area-inset-bottom)) !important;
}
.owl-ov[data-ov-start] .card{
  background:rgba(14,16,12,.7);
  border:1.5px solid rgba(212,255,58,.72);
  box-shadow:0 10px 28px #0007;
  width:min(340px,92%);
  padding:12px 14px 14px;
  max-height:calc(100% - 16px);
  overflow:auto;
}
.owl-ov[data-ov-start] h2{font-size:clamp(20px,5.4vw,26px);margin:0 0 6px}
.owl-ov[data-ov-start] p{font-size:15px;line-height:1.35;margin:0 auto 8px;max-width:32ch}
.owl-ov[data-ov-start] .owl-btns .gbtn{min-height:44px;padding:0 14px;font-size:15px}
@media (max-height:700px){
  .owl-ov[data-ov-start] .card{padding:10px 12px 12px;width:min(320px,92%)}
  .owl-ov[data-ov-start] h2{font-size:clamp(18px,5vw,22px);margin:0 0 4px}
  .owl-ov[data-ov-start] p{font-size:14px;margin:0 auto 6px}
  .owl-ov[data-ov-start] .owl-btns .gbtn{min-height:42px}
}

.ov.owl-ov[data-ov-end],
.ov.owl-ov.owl-end{
  align-items:flex-end !important;
  justify-content:center !important;
  background:linear-gradient(to bottom,
    rgba(6,8,6,0) 0%,
    rgba(6,8,6,0) 46%,
    rgba(6,8,6,0.16) 58%,
    rgba(6,8,6,0.30) 100%) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:10px 14px max(18px, env(safe-area-inset-bottom)) !important;
}
.owl-ov.owl-end .card{
  background:rgba(14,16,12,.78);
  border:1.5px solid rgba(212,255,58,.72);
  box-shadow:0 10px 28px #0007;
  width:min(360px,92%);
  padding:14px 16px 16px;
  max-height:calc(100% - 16px);
  overflow:auto;
}
.owl-ov.owl-end h2{font-size:clamp(22px,5.8vw,30px);margin:0 0 8px}

/* Soft fade/rise into the end card; woods stay visible underneath. Copy unchanged. */
.ov.owl-ov[data-ov-end],
.ov.owl-ov.owl-end{
  opacity:0;
  pointer-events:none;
  transition:opacity 1s ease;
}
.ov.owl-ov[data-ov-end].is-in,
.ov.owl-ov.owl-end.is-in{
  opacity:1;
  pointer-events:auto;
}
.ov.owl-ov[data-ov-end] .card,
.owl-ov.owl-end .card{
  transform:translateY(22px);
  transition:transform 1s ease;
}
.ov.owl-ov[data-ov-end].is-in .card,
.owl-ov.owl-end.is-in .card{
  transform:translateY(0);
}

/* Yards toast: soft, small, under the HUD so it does not cover the houses or the mate. */
.owl-stage .toast.owl-yard-toast{
  top: max(12px, env(safe-area-inset-top, 0px) + 52px);
  left: 50%;
  transform: translate(-50%, 0) scale(.98);
  z-index: 8;
  max-width: min(92%, 36ch);
  min-width: min(86%, 28ch);
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(18, 20, 16, 0.48);
  color: #f3eedc;
  font: 600 15px/1.3 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: 0.01em;
  box-shadow: none;
  border: 1px solid rgba(243, 238, 220, 0.16);
  white-space: normal;
  text-align: center;
  overflow: visible;
  text-overflow: unset;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease;
}
.owl-stage .toast.owl-yard-toast.is-on{
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}
@media (prefers-reduced-motion: reduce){
  .owl-stage .toast.owl-yard-toast{ transition: none; }
}

/* Hide play HUD during the landing cine without a snap. */
.owl-hud,
.owl-mini{
  transition:opacity .45s ease;
}
.owl-stage.is-cine .owl-hud,
.owl-stage.is-cine .owl-mini{
  opacity:0 !important;
  pointer-events:none !important;
}

/* Shorter phones: keep the end card in the lower ~45% so the roost stays clear. */
@media (max-height: 700px){
  .owl-ov.owl-end .card{padding:10px 14px 12px;width:min(360px,94%)}
  .owl-ov.owl-end h2{font-size:clamp(20px,5.4vw,26px);margin:0 0 6px}
  .owl-ov.owl-end p{margin:3px 0}
  .owl-ov.owl-end .nmh-mantra{margin:6px auto 8px}
  .owl-ov.owl-end .owl-btns{margin-top:6px}
}
