/* Hide scrollbars */
* {
  scrollbar-width: none;
}
*::-webkit-scrollbar {
  display: none;
}

:root {
  --bg: #1a1820;
  --bg-1: #222028;
  --bg-2: #25232c;
  --bg-3: #2e2b36;
  --card: rgba(37, 35, 44, 0.72);
  --card-border: rgba(255, 255, 255, 0.06);
  --hair: rgba(255, 255, 255, 0.08);
  --text: #ffcdb2;
  --text-dim: #b5838d;
  --text-faint: #6d6875;
  --accent: #e5989b;
  --accent-soft: rgba(229, 152, 155, 0.16);
  --pos: #ffb4a2;
  --pos-soft: rgba(255, 180, 162, 0.16);
  --neg: #b5838d;
  --neg-soft: rgba(181, 131, 141, 0.16);
  --cash: #ffcdb2;
  --radius: 22px;
  --tab-h: 62px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top: env(safe-area-inset-top, 0px);
  --actual-vh: 100vh;
  --shadow: 0 10px 30px rgba(0,0,0,0.45), 0 2px 8px rgba(0,0,0,0.35);
  --heart: #ff6b8a;
  --heart-soft: rgba(255, 107, 138, 0.16);
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  min-height: var(--actual-vh, 100vh);
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
    "Helvetica Neue", "Inter", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  overscroll-behavior-y: none;
  overflow: hidden;
}

body {
  display: flex;
  flex-direction: column;
  user-select: none;
  -webkit-user-select: none;
}

#app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: var(--actual-vh, 100vh);
  max-width: 560px;
  margin: 0 auto;
  width: 100%;
  position: relative;
  overflow: hidden;
}

/* Simulate standalone safe-area in Safari: visit ?sim=standalone */
.sim-standalone { --safe-bottom: 34px; }
