/* Portal VR — Полювання на гарбузи: лічильник, схованки, ефекти, вікна. */

/* ───── Лічильник ───── */
.pvrh-hud{position:fixed;right:20px;bottom:20px;z-index:100250;display:grid;grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:168px;max-width:260px;padding:8px 14px 10px 8px;
  border-radius:18px;cursor:pointer;color:#f3ecf7;font-family:'Play',sans-serif;
  background:linear-gradient(160deg,#21112c,#120a18);border:1px solid rgba(255,122,26,.5);
  box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 24px rgba(255,122,26,.25);
  opacity:0;transform:translateY(20px) scale(.9);transition:opacity .4s,transform .4s cubic-bezier(.2,1.4,.4,1)}
.pvrh-hud.pvrh-hud-on{opacity:1;transform:none}
.pvrh-hud:hover{box-shadow:0 12px 34px rgba(0,0,0,.6),0 0 34px rgba(255,122,26,.45)}
.pvrh-hud:focus-visible{outline:2px solid #ff7a1a;outline-offset:3px}
.pvrh-hud-pk{grid-row:1/3;width:44px;height:44px;display:block}
.pvrh-hud-pk img{width:100%;height:100%;display:block;filter:drop-shadow(0 0 8px rgba(255,122,26,.8))}
.pvrh-hud-main{display:flex;flex-direction:column;min-width:0}
.pvrh-hud-n{position:relative;height:26px;overflow:hidden;font:700 24px/26px 'Play',sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.pvrh-odo{display:block;transition:transform .4s cubic-bezier(.3,1.5,.5,1),opacity .4s}
.pvrh-odo-in{position:absolute;left:0;top:0;transform:translateY(100%);opacity:0;animation:pvrh-odo-in .4s cubic-bezier(.3,1.5,.5,1) forwards}
.pvrh-odo-out{animation:pvrh-odo-out .4s ease forwards}
@keyframes pvrh-odo-in{to{transform:translateY(0);opacity:1}}
@keyframes pvrh-odo-out{to{transform:translateY(-100%);opacity:0}}
.pvrh-hud-sub{font-size:12px;line-height:1.35;color:#c9bfd3}   /* переноситься: «−10% використано» + «далі −15%: ще N» не влазили в рядок */
.pvrh-chip{display:inline-block;background:#ff7a1a;color:#1a0b05;border-radius:8px;padding:1px 6px;margin-right:4px;font-weight:700}
.pvrh-chip-used{background:#2c6a4a;color:#e7fbef}  /* нагороду вже забрано в клубі */
.pvrh-hud-bar{grid-column:2;height:5px;margin-top:5px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.pvrh-hud-bar i{display:block;height:100%;width:3%;border-radius:3px;background:linear-gradient(90deg,#ff7a1a,#ffb347);
  box-shadow:0 0 8px rgba(255,122,26,.8);transition:width .6s cubic-bezier(.3,1.3,.5,1)}
.pvrh-hud.pvrh-gulp{animation:pvrh-gulp .55s cubic-bezier(.3,1.6,.5,1)}
.pvrh-hud.pvrh-gulp .pvrh-hud-pk{animation:pvrh-gulp-pk .55s cubic-bezier(.3,1.6,.5,1)}
@keyframes pvrh-gulp{0%{transform:scale(1)}30%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes pvrh-gulp-pk{0%{transform:scale(1)}30%{transform:scale(1.45) rotate(-12deg)}60%{transform:scale(.9) rotate(6deg)}100%{transform:scale(1)}}
@media(max-width:768px){
  .pvrh-hud{right:12px;bottom:80px;min-width:0;max-width:210px;padding:6px 12px 8px 6px;column-gap:8px}
  .pvrh-hud-pk{width:36px;height:36px}
  .pvrh-hud-n{font-size:20px;height:22px;line-height:22px}
  .pvrh-hud-sub{font-size:11px}
}

/* ───── Гарбузи-схованки ───── */
.pvrh-pk{z-index:9300;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  cursor:pointer;-webkit-appearance:none!important;appearance:none!important;min-width:0!important;line-height:0;
  filter:drop-shadow(0 0 8px rgba(255,122,26,.7));transition:filter .2s}
.pvrh-pk img{width:100%;height:100%;display:block;pointer-events:none}
.pvrh-pk:hover{filter:drop-shadow(0 0 16px rgba(255,140,40,1))}
.pvrh-pk:focus-visible{outline:2px solid #ff7a1a;outline-offset:3px;border-radius:50%}
.pvrh-pk-edge{transform:rotate(var(--pvrh-tilt,0));animation:pvrh-peek 4.5s ease-in-out infinite}
@keyframes pvrh-peek{0%,70%,100%{translate:0 0}78%{translate:0 -6px}86%{translate:0 2px}}
.pvrh-pk-tiny{opacity:.92;filter:drop-shadow(0 0 4px rgba(255,122,26,.8))}
.pvrh-pk-tiny::after{content:"";position:absolute;inset:-9px}              /* більша зона дотику, ніж сам гарбуз */
.pvrh-pk-ghost{animation:pvrh-ghost 7s ease-in-out infinite}
@keyframes pvrh-ghost{0%,100%{opacity:0;transform:scale(.8) translateY(6px)}35%,60%{opacity:.85;transform:scale(1) translateY(0)}}
.pvrh-pk-shy{transition:filter .2s}
.pvrh-pk-tired{animation:pvrh-tired 2.4s ease-in-out infinite}
@keyframes pvrh-tired{0%,100%{rotate:-6deg}50%{rotate:6deg}}
/* У ТУМАНІ: під шаром туману (8900), тож видно лише там, де мишка/палець розігнали мгу */
.pvrh-pk-fog{position:fixed;bottom:18px;z-index:8850;filter:drop-shadow(0 0 10px rgba(255,122,26,.6))}
@media(max-width:768px){.pvrh-pk-fog{bottom:10px}}
/* У ПАВУТИНІ: сама павутина не перехоплює кліки, а гарбуз — так */
.pvrh-pk-web{position:absolute;pointer-events:auto;transform:rotate(-18deg);filter:drop-shadow(0 0 6px rgba(255,122,26,.7)) grayscale(.15)}
/* У КАЖАНА В ЛАПАХ */
.pvrh-carrier{position:fixed;left:0;top:0;z-index:9200;width:70px;height:96px;pointer-events:none}
.pvrh-carrier-bat{display:block;width:70px;height:38px;animation:pvrh-flap .15s ease-in-out infinite alternate;filter:drop-shadow(0 0 6px rgba(139,61,255,.6))}
.pvrh-pk-carried{position:absolute;left:16px;top:34px;pointer-events:auto;animation:pvrh-swing 1.1s ease-in-out infinite;transform-origin:50% 0}
.pvrh-pk-carried::before{content:"";position:absolute;left:50%;top:-12px;width:1px;height:14px;background:rgba(230,224,240,.6)}
@keyframes pvrh-swing{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
/* КОТИТЬСЯ низом екрана */
.pvrh-pk-roll{position:fixed;left:0;z-index:9300}

/* Підготовка до польоту: сплющення й підстрибування */
.pvrh-pk-squash{animation:pvrh-squash .16s ease-out forwards!important}
@keyframes pvrh-squash{0%{transform:scale(1)}50%{transform:scale(1.35,.65)}100%{transform:scale(.85,1.25) translateY(-8px)}}

/* ───── Політ і ефекти ───── */
.pvrh-flyer{position:fixed;left:0;top:0;z-index:100260;pointer-events:none;will-change:transform}
.pvrh-flyer img{width:100%;height:100%;display:block;filter:drop-shadow(0 0 14px rgba(255,140,40,1)) drop-shadow(0 0 30px rgba(255,90,20,.6))}
.pvrh-flybat{position:fixed;left:0;top:0;z-index:100261;width:64px;height:34px;pointer-events:none;will-change:transform}
.pvrh-flybat svg{width:100%;height:100%;display:block;animation:pvrh-flap .12s ease-in-out infinite alternate;filter:drop-shadow(0 0 6px rgba(139,61,255,.7))}
.pvrh-trail,.pvrh-spark{position:fixed;z-index:100255;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle,#fff6c2 0%,#ffb347 35%,rgba(255,122,26,.6) 60%,rgba(255,122,26,0) 72%)}
.pvrh-spark{background:radial-gradient(circle,#fff 0%,#ffd166 30%,#ff7a1a 60%,rgba(255,122,26,0) 72%)}
.pvrh-shock{position:fixed;z-index:100255;width:60px;height:60px;border-radius:50%;pointer-events:none;
  border:3px solid rgba(255,179,71,.9);box-shadow:0 0 18px rgba(255,122,26,.8),inset 0 0 12px rgba(255,122,26,.6)}
.pvrh-plus{position:fixed;z-index:100256;pointer-events:none;font:700 22px/1 'Play',sans-serif;color:#ffb347;
  text-shadow:0 0 10px rgba(255,122,26,.9),0 2px 3px rgba(0,0,0,.6)}
.pvrh-confetti{position:fixed;z-index:100270;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,122,26,.8))}
.pvrh-flash{position:fixed;inset:0;z-index:100240;pointer-events:none;
  background:radial-gradient(circle at 85% 85%,rgba(255,150,40,.45),rgba(139,61,255,.18) 45%,transparent 70%)}

/* ───── Вікна ───── */
.pvrh-rules .pvrh-modal-box,.pvrh-codemodal .pvrh-modal-box{max-width:500px;max-height:calc(100vh - 40px);overflow:auto}
.pvrh-big{color:#ff7a1a;font-size:22px}
.pvrh-tiers{list-style:none;margin:6px 0 14px;padding:0;text-align:left;display:grid;gap:7px}
.pvrh-tiers li{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#ddd4e6;font-size:15px}
.pvrh-tiers li b{color:#ffb347;font-size:17px}
.pvrh-tiers li.pvrh-got-tier{border-color:rgba(255,122,26,.6);background:rgba(255,122,26,.1)}
.pvrh-tiers li span{color:#6fe39b;font-weight:700;float:right}
.pvrh-where{font-size:14px!important;color:#c9bfd3!important;text-align:left}
.pvrh-terms{font-size:12.5px!important;color:#9c90a8!important;line-height:1.5!important;text-align:left}
.pvrh-tierline{margin:0!important;color:#ffb347!important;font:700 15px/1 'Play',sans-serif!important;letter-spacing:.08em;text-transform:uppercase}
.pvrh-code{margin:14px auto 12px;padding:16px 10px;border-radius:14px;user-select:all;-webkit-user-select:all;
  font:700 clamp(26px,7vw,36px)/1 ui-monospace,'JetBrains Mono',Consolas,monospace;letter-spacing:.06em;color:#fff;
  background:#0b0610;border:2px dashed #ff7a1a;box-shadow:0 0 30px rgba(255,122,26,.35),inset 0 0 20px rgba(255,122,26,.15)}
.pvrh-warn{margin:0 0 14px;padding:12px 14px;border-radius:12px;text-align:left;font-size:14.5px;line-height:1.5;color:#ffe3c7;
  background:rgba(255,80,30,.14);border:1px solid rgba(255,110,40,.7)}
.pvrh-warn b{color:#ffb347}
.pvrh-replaced{font-size:13.5px!important;color:#ffcf9a!important;text-align:left}
.pvrh-next{font-size:14px!important;color:#d9cfe3!important}
.pvrh-ack{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 10px;font-size:15.5px;color:#fff;cursor:pointer}
.pvrh-ack input{width:22px;height:22px;accent-color:#ff7a1a;cursor:pointer}
.pvrh-done{width:100%;cursor:pointer;font:700 16px/1 'Play',sans-serif!important}
.pvrh-done:disabled{opacity:.35;cursor:not-allowed}
.pvrh-copy,.pvrh-share{cursor:pointer;font:700 15px/1 'Play',sans-serif!important}
.pvrh-codemodal button,.pvrh-rules button{-webkit-appearance:none!important;appearance:none!important;text-transform:none!important}

@media (prefers-reduced-motion:reduce){
  .pvrh-pk-edge,.pvrh-pk-ghost,.pvrh-pk-tired,.pvrh-pk-carried,.pvrh-hud.pvrh-gulp,.pvrh-hud.pvrh-gulp .pvrh-hud-pk{animation:none!important}
  .pvrh-pk-ghost{opacity:.6}
}
/* Тема Twenty Twenty-One фарбує КОЖЕН <button> у біле — наші кнопки у вікнах скидаємо явно */
.pvrh-codemodal .pvrh-btn{background:rgba(10,6,14,.55)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;
  border-radius:12px!important;min-height:50px;padding:0 22px!important}
.pvrh-codemodal .pvrh-btn-main{background:linear-gradient(135deg,#ff7a1a,#e8410f)!important;border-color:transparent!important;
  box-shadow:0 8px 28px rgba(255,122,26,.45)!important}
.pvrh-codemodal .pvrh-done:not(:disabled){background:#2a1638!important;border-color:#ffb347!important}

/* Повідомлення: left:50% без явної ширини давало лише ПІВ ширини екрана — на телефоні виходила вузька висока
   колонка, що закривала кнопку «ЗАБРОНЮВАТИ» (знайдено на знімку 09.10). Явна ширина + на телефоні — ЗВЕРХУ,
   подалі від кнопок першого екрана й від лічильника внизу. */
.pvrh-toast{width:min(92vw,520px);box-sizing:border-box}
@media(max-width:768px){
  .pvrh-toast{top:12px;bottom:auto!important;transform:translate(-50%,-30px)}
  .pvrh-toast.pvrh-show{transform:translate(-50%,0)}
}
.pvrh-codemodal .pvrh-cta{margin-bottom:14px}
.pvrh-codemodal .pvrh-terms{margin-top:6px!important}
