/* Pakstoor :: pks-login-play.css :: v1.0-000002 :: 2026-11-02 */
/* Login page "play award" (owner 2026-11-02): a big orange play plaque floating in the empty space to the right of
   BUY SMART. SELL SAFE. on the brand panel (desktop), and a floating one in the bottom-right corner (980px and below, where the
   brand panel moves under the form). It plays the login welcome audio and pauses on a second press.
   Overlay only: the desktop one is position:absolute inside .brand-hero (already positioned), the floating one is
   position:fixed, so nothing else on the page moves. Hidden until js/pks-login-play.js runs (the [hidden] attribute). */


.pks-pa {
  --pa-w: 136px;
  --pa-orange: #F47C20;
  position: absolute;
  z-index: 6;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: var(--pa-w);
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pks-pa[hidden] { display: none !important; }

/* The plaque */
.pks-pa__tile {
  position: relative;
  display: block;
  width: var(--pa-w);
  height: calc(var(--pa-w) * 0.7143);
  border-radius: 20% / 28%;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.45)) drop-shadow(0 0 22px rgba(244, 124, 32, 0.35));
  transition: transform 180ms ease, filter 180ms ease;
}
.pks-pa__art { display: block; width: 100%; height: 100%; overflow: visible; }

/* Attention: a soft orange halo that breathes, and a light sweep across the plaque. Both stop while playing. */
.pks-pa__tile::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 0 rgba(244, 124, 32, 0.55);
  animation: pks-pa-halo 2.4s ease-out infinite;
  pointer-events: none;
}
.pks-pa__shine {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}
.pks-pa__shine::after {
  content: '';
  position: absolute;
  top: -20%;
  bottom: -20%;
  left: -60%;
  width: 38%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 246, 230, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-18deg);
  animation: pks-pa-shine 5.5s ease-in-out 1.2s infinite;
}
@keyframes pks-pa-halo {
  0%   { box-shadow: 0 0 0 0 rgba(244, 124, 32, 0.55); }
  70%  { box-shadow: 0 0 0 18px rgba(244, 124, 32, 0); }
  100% { box-shadow: 0 0 0 0 rgba(244, 124, 32, 0); }
}
@keyframes pks-pa-shine {
  0%, 62% { left: -60%; }
  100%    { left: 130%; }
}

.pks-pa:hover .pks-pa__tile { transform: translateY(-3px) scale(1.02); filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 30px rgba(244, 124, 32, 0.55)); }
.pks-pa:active .pks-pa__tile { transform: translateY(0) scale(0.97); }
.pks-pa:focus-visible { outline: none; }
.pks-pa:focus-visible .pks-pa__tile { outline: 3px solid #FFD9B0; outline-offset: 5px; }

/* Play / pause glyphs and the progress bar */
.pks-pa .pks-pa__pause { display: none; }
.pks-pa.is-playing .pks-pa__play { display: none; }
.pks-pa.is-playing .pks-pa__pause { display: inline; }
.pks-pa .pks-pa__track, .pks-pa .pks-pa__bar { opacity: 0; transition: opacity 200ms ease; }
.pks-pa.has-progress .pks-pa__track, .pks-pa.has-progress .pks-pa__bar { opacity: 1; }
.pks-pa.is-playing .pks-pa__tile::before, .pks-pa.is-playing .pks-pa__shine::after { animation: none; }
.pks-pa.is-playing .pks-pa__tile::before { box-shadow: 0 0 0 4px rgba(244, 124, 32, 0.28); }

/* Caption (desktop; the brand panel is dark in both themes) */
.pks-pa__cap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 184px;
  max-width: 184px;
  line-height: 1.25;
  pointer-events: none;
}
.pks-pa__t1 {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pa-orange);
}
.pks-pa__t2 {
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(245, 240, 232, 0.78);
}
.pks-pa.is-failed .pks-pa__t2 { color: #FFB4A8; }

/* Phones and tablets (980px and below; owner 2026-11-02 "on mobile and tablet the play icon is not there"): a floating plaque in the
   bottom-right corner, over the page. Fixed, so nothing moves; under the cookie banner (z-index 850); hidden while the keyboard is open
   (js adds .is-typing); a short "Hear our welcome" bubble beside it fades after a few seconds. */
.pks-pa--fab {
  --pa-w: 76px;
  position: fixed;
  left: auto;
  top: auto;
  right: max(16px, calc(env(safe-area-inset-right) + 12px));
  bottom: max(18px, calc(env(safe-area-inset-bottom) + 14px));
  z-index: 800;
  gap: 0;
}
.pks-pa--fab.is-typing { display: none !important; }
.pks-pa__bubble {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  padding: 9px 14px;
  border-radius: 999px;
  background: #1B1511;
  color: #FFF3E0;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid rgba(244, 124, 32, 0.55);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
  pointer-events: none;
  animation: pks-pa-bubble 7s ease forwards;
}
.pks-pa__bubble::after {
  content: '';
  position: absolute;
  right: -6px;
  top: 50%;
  width: 10px;
  height: 10px;
  background: #1B1511;
  border-top: 1px solid rgba(244, 124, 32, 0.55);
  border-right: 1px solid rgba(244, 124, 32, 0.55);
  transform: translateY(-50%) rotate(45deg);
}
@keyframes pks-pa-bubble {
  0%   { opacity: 0; transform: translate(8px, -50%); }
  8%   { opacity: 1; transform: translate(0, -50%); }
  85%  { opacity: 1; transform: translate(0, -50%); }
  100% { opacity: 0; transform: translate(0, -50%); visibility: hidden; }
}
.pks-pa.is-playing .pks-pa__bubble, .pks-pa.has-progress .pks-pa__bubble { display: none; }

/* Which one shows where: the brand panel is a sticky side column above 980px and moves under the form at 980px and below. */
.pks-pa--hero { display: flex; }
.pks-pa--fab { display: none; }
@media (max-width: 980px) {
  .pks-pa--hero { display: none !important; }
  .pks-pa--fab { display: flex; }
}
@media (max-width: 360px) {
  .pks-pa--fab { --pa-w: 66px; }
}

@media (prefers-reduced-motion: reduce) {
  .pks-pa__tile::before, .pks-pa__shine::after { animation: none; }
  .pks-pa__bubble { display: none; }
  .pks-pa__tile { transition: none; }
}
