/* Pinora — base + overscroll fix */
:root {
  --pin-red: #e60023;
  --pin-red-hover: #ad081b;
  --wa-green: #25d366;
  --wa-teal: #008069;
  --wa-out: #005c4b;
  --wa-in: #202c33;
  --wa-bg: #0b141a;
  --wa-panel: #111b21;
  --wa-header: #1f2c34;
  --wa-input: #2a3942;
  --wa-text: #e9edef;
  --wa-muted: #8696a0;
  --wa-border: #2a3942;
  --radius: 14px;
  --shadow: 0 8px 28px rgba(0,0,0,.45);
  --ease: cubic-bezier(.22,.61,.36,1);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: #111;
  color: #111;
  touch-action: pan-y;
}

body.chat-open { background: var(--wa-bg); }
body.light-mode.chat-open { background: #efeae2; }

.page { width: 100%; min-height: 100%; }
.hidden { display: none !important; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes popIn {
  from { opacity: 0; transform: scale(.92); }
  to { opacity: 1; transform: none; }
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: .45; }
}
